
It seems that agile is the predominant methodology in software development, especially in shrink-wrap software and web. It certainly stands behind some mammoth success stories of late. However, agile is not a fit-all method, in many software domains it just won’t work well. More than that, agile seems more like a philosophy, a way of thinking, than a complete methodology.
Software is a new field and it is going through some phases. Agile is one of those. Let’s look at the language used in new wave development methodologies. Programmers are action figures; they are “cowboys” or “ninjas” or simply “heroes”. Programming is a dangerous, masculine, activity like rugby (scrum) or an extreme sport (extreme programming). Planning is a poker game, specifications are paper in an electronic paperless world and all we need is dialog (agile manifesto). Could it be that this juvenile lingo is a product of an engineering field that is in its adolescence?
When considering what methodology to use, the type of system, its use and the culture should be considered. Some of it is shown in the illustration (I use “waterfall” as a name for the traditional, more structured methods: waterfall, spiral or other).
This post is influenced by Professor Leveson’s class “software engineering concepts”. Leverson is a world expert on software requirements, embedded software safety and a self proclaimed cranky old lady (she isn’t - it’s just her regular joke).
Other SDMers have given thought to this subject: http://abstractsoftware.blogspot.com/2010/10/agile-processes-so-whats-architecture.html
http://fglaiel.blogspot.com/2010/07/hidden-cost-of-agile-software.html
Comments
Post a Comment