I’ve been reading a number of articles lately relating to the growing popularity of “agile” software development. This specific article entitled “Agile Software Development is Now Mainstream” on InfoWorld caught my eye a few days ago.
“Agile” and “Scrum” software development processes, in gist, are the idea of building short iterations that work to an overall goal rather than developing an entire piece of software specific to specification then refining it.
I find this whole notion rather amusing as I’ve always used a similar process which I’ve always thought was halfassed in comparison to a full-on development schema, often called Waterfall that involves lots of specifications and documentation, and was often brought on by lack of planning.
That being said, I do find working in short iterations and keeping the positive outcomes in a repository the best way for an individual to program- it allows more flexibility and lots of other great creative ideas can come out of the process, though its inherent problem with the theory is without a clear set of specs, the outcome can be disastrous.
However, I do enjoy that the “halfassed” process I’ve embraced for years has melded into an industry-wide accepted practice.