A Plea for Lean Software An Essay by Niklaus Wirth cr.yp.to Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials. Measured by the number of its featuresEssential vs. nice to haveDependence is more profitable than educationThe most rewarding iterationsNever enough time A grossly obese set of requirementsFeatures and complexity softwareperformancefunction
Combinations and arrangements Everything designed has an element of arbitrariness in its form. Loewy described how groups of his designers used to go about designing a new model automobile. Different groups were given different tasks, such as the front and rear of the car, and the conceptual work began, to be cut off at some predetermined time by deadlines that were imposed at the outset. After a time, there were "piles of rough sketches," and Loewy saw the design proceed as follows: Now the important process of elimination begins. From the roughs, I select the designs that indicate germinal direction. Those that show the greatest promise are studied in detail, and these in turn are used in combination or arrangements with one another. A promising front treatment can be tried in combination with a likely side elevation sketch, etc. From this a new set of designs emerges. These are then sketched in detail. After careful analysis, they boil down to four or five. Raymond Loewy, The Evolution of Useful Things Useless work on useful things drawing