Blog‎ > ‎IT Architecture‎ > ‎

Lean Software Development Plans for Change

posted Apr 5, 2011, 6:57 AM by Jaco Vosloo   [ updated Apr 5, 2011, 7:51 AM ]

The Kaizen way is to plan for change.  In software development this can be a bit of a problem because changing software is usually exponentially more expensive than it was to write in the first place.  To make software development lean, one must counteract this exponential change curve.  This is accomplished by using refactoring, automated testing and continuous integration in order of priority. Once this is in place, change and quality becomes cheap.

From my experience I cannot remember any projects where a heavy up front design has produced a working project, I can however remember many projects where the principles of refactoring has saved a failing project.  The most successfull projects used refactoring as a way of coding, from the start new features are refactored into existence.

For more information read Martin Fowler's excelent article on the same topic: