The Agile Software Manifesto in 2001 was born out of a meeting of 17 software developer professionals in the US. Their aim was to replace more heavyweight software development processes; e.g. waterfall. Following on from this 2-day meeting, 12 principles and 4 values were subsequently established. Agile methods pursue varying types of the development life cycle. For example, some manage the project in hand (e.g. scrum) and others target the practices (e.g. agile modelling and extreme programming). In a bid to measure ‘agility’, an ‘Agility Measurement Index’ was developed whereby novelty, risk, effort, duration and interaction of a particular software project are reviewed and scored upon. The most commonly used Agile software include; Scrum, XP (Extreme Programming), Kanban and Lean. However, Agile methods also include Crystal Clear, Velocity Tracking, Dynamic System Development Method and Graphical System Design (DSM).
10 years on in 2011, one of the Agile founders Jeff Suderland was asked if Agile in its current form had met his expectations. Sunderland said that performance was 5/10 times better and quality is also 5/10 times better with what he now describes as a ‘market leader’. He went on to say that Scrum had become widespread, so widespread that companies cannot get working software at the end of the process. Jeff Suderland conceded that there is still a way to go! At a 10-year anniversary meeting in Feb/March 2011; the original group came up with a number of proposals to ensure that Agile software development could work at its optimum. These proposals included that leaders in Agile need to command technical excellence; teams need to work better together, training should be improved and in relation to Lean software, Suderland feels that the whole chain needs to become more automatized.
Agile, however has its critics. In a recent softwarequality.com article, it is noted that Agile development realistically take years as opposed to months to develop.
In next weeks blog, I will discuss discuss Agile further with emphasis on Exterme Programming…