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 reflective craftsman Specialized tools like bench shears have proliferated throughout history in part because craftsmen necessarily do the same task with the same tool over and over. After a while, the task becomes routine, and the craftsman is able to perform it with predictable skill. The most creative of artisans is frequently one who, in the midst of routine, pays attention to the details of the work and the tools that effect that work, and so it is that the reflective craftsman develops ideas for new and improved tools in the course of working with those that he perceives to limit his achievement or efficiency. Henry Petroski, The Evolution of Useful Things Eating your own dog food toolsroutineskill