Software: has five phases in the development cycle. Here they are:
Version One: What the heck is this supposed to be? Some indication of nascent functionality. Think MS Word version one, version 1.0 of R/3, most of the software in the Open Source community on Freshmeat.
Version Two: Not that functional, but covers the basics of what is required. Can be understood in terms of how the future development will go. Think OpenOffice. (I like OpenOffice, but it is not as feature rich as MS Office yet, and that could be a Good Thing, but not relevant to this discussion.)
Version Three: Does what is required, and does it well. All functions are complete, and the system is comprehensible. Users happy. Office 2000, Windows 2000, R/3 version 3.1, Paint Shop Pro.
Version Four: Baroque Inclusion Stage Reached. Features and functions that have been requested by users who are pushing the envelope beginning to cloud the basic structure. Baroque Features start to interfere with useful functions. Office XP, Adobe Photoshop, Any music package I have ever used.
Version Five: Architectural Fatigue provokes revolution. As with any overly complex structure, the fifth version begins to question the fundamentals about how the system was designed in the first place, and wouldn't it be nice to begin again with the whole thing on a firmer intellectual and conceptual basis. (This stage has only been reached by very very few software products...) Expensive redesign begins that will finally tidy up conceptual errors and architectural mistakes of previous versions. SAP R/1 to R/2 to R/3 to NetWeaver, MS Longhorn, any others?
And of course, the Version Five gives rise to Version One of the new order, to begin the cycle again. Thus, the karmic cycle of renewal begins. Old code is moved into the archaeology section of the development group, and the long tail of extinction in the external user ecosystem begins...
Comments