Chaotic Development –
One Extreme of Software Development Process
“Just code it, dude!” is the slogan for this kind of development process. There are no rules to follow. Communication is most casual. No one cares about the code design, version control or longevity of the code. Flexibility to the clients is infinite – if you came up with an exactly opposite requirement to what the developer has already implemented, no problem -- just hand it over to the developer.
Since there are no rules to follow, this development process is quite very uninteresting from the point of software engineering academicians. Yet, it's not that uncommon to find in practice – often times out of ignorance of the formal software development processes.
This approach is pretty attractive to naïve clients because of the extreme flexibility it offers to them. (It also turns out to be the approach no matter how you start when you keep adding new features one after the other – a phenomenon known as scope creep or feature creep.) However, as the project approaches a decent size, the product starts collapsing. The development team is pressurized. This happens because there was no thought about the design or the quality of the code in the first place. There is no optimization. Conflicting requirements are implemented one over the other. It's a lot of messy code at the end of the day, least stable and very difficult or impossible to maintain. The only feasible improvement at times is to throw away all the code and start afresh!
It is unthinkable to use this approach for any sizable amount of development work because of the inherent risks. However, because of the low overheads, it's attractive for small jobs (something like fixing a problem with a site) – of durations typically like 0-2 days.
|