Agile, in the world of software development refers to a set of values and principles that result in a more collaborative and iterative development process together with the customer. Agile is sometimes seen as THE alternative to traditionally “planned” software development projects that usually run over budget, are late and deliver a product that hardly ever matches up to what the customer actually wants.
I recently had a catch up discussion with a colleague and friend who works in software and it turned out that her company is now changing their development methodology to adopt agile. Now I know the company concerned well, and started thinking about agile and the risks faced when embarking on agile in an environment that has in the past always been very standard process oriented. Their specific SDLC (software development life cycle) was always prescribed by the customer and regarded for decades as the “only way” to deliver good software products. So what changed?
Coincidentally, later in the week I spent 3 days with another client who was also embarking on exactly the same initiative, changing the established SDLC and introducing agile processes into a big ERP software rewrite and upgrade project.
Clearly companies are increasingly adopting agile in preference to plan driven development – but at what risk?
A transition to agile can be exciting and yield many benefits, provided the transition itself is well managed in the specific circumstances. If not, agile can unfortunately prove to be an unmitigated disaster. There has been little evidence that software project failures will be eliminated through agile, in fact there is real discontent around agile, for example:
Agile promises solutions it cannot deliver. It promotes sloppy requirements, hides the true cost of development and prevents effective management. Contrary to what we’re told to expect, this leads to long-running projects, dissatisfied customers and an overall IT ineffectiveness. – Lajos Moczar (more…)