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
The inventive process was often a nonverbal one Through the ages, the professional users of tools by and large have not needed to, been able to, or wanted to talk to outsiders about their implements. They did not need to because tools themselves are used to make other tools, and thus users could very often fashion a new tool with their old ones. If they did need to communicate the design for a new tool to someone outside their trade, they could do so without having to reveal the tool's intended use...Besides, the inventive process of conceiving a new tool was often a nonverbal one. Finally, craftsmen were unwilling to share information about their specialized tools because to do so would have been to give up their competitive edge and their value to those outside the craft. Henry Petroski, The Evolution of Useful Things Focal awareness tools