Simplest Thing Reply From James Collins

I think that you're making some erroneous assumptions about the Simplest Thing principle. It does not require or advocate "creating a thing that is flimsy and functional". Production code must be production-ready. Simplest Thing is merely an aid for choosing between alternative choices.

In my experience, the best way to build "rugged, robust, and mature components" is to build on pieces that were demonstrably necessary, avoiding the complexities and confusions of anticipated need. As Steinman and Yates wrote about recently, UseBeforeReuse.

I appreciate your engagement with this issue, because the dreams of clever developers are one of the most crucial problems that face a project. I've seen more large projects derailed because of unneeded complexity than from a lack of reuse. And, of course, if reuse is an important goal, unproven complexity is a large barrier to reuse.

Ward has a similar idea in "Episodes": JustSufficientImplementation.

--JamesCollins


EditText of this page (last edited March 13, 2013) or FindPage with title or text search