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
Guided by image In our minds, the drawings we had originally made for the columns and capitals were no more than first approximations of the final shapes. We assumed that we would work out the real shapes during construction, and left the inaccurate approximations on our drawings, just for the sake of the building permit. Fujita, used to working with architects in System B, assumed that whatever was on our drawings must be what we wanted, and must be implemented as drawn. Anybody who was making those column capitals, if they had seen this "double" capital, and had been free to make something harmonious, would have done it differently. But Fujita's people, in System B, did not know how to be guided by reality. They were guided by "image". So Fujita, in this situation, was not free to respond in a natural way to what they saw. They were trapped by the image-making process they were used to. But because of this, they doomed their own carpenters to a pretentious kind of slavery, producing whatever silly images they were told to do, without being able to ask themselves whether they were beautiful, and unable to use their own sense of reality to make them better. Christopher Alexander, The Battle for the Life and Beauty of the Earth Maps and observation design