I would say that software development is more Lamarckian than Darwinian, as improvements are usually made with the specific purpose of overcoming specific problems. Genetic algorithms are, of course, an exception.