What Gartner & Forrester are saying about Agile and Lean across the organisation
Agile Methodologies: Hype or Reality? by Michael Blechar | June 27, 2010 In my recent blog – Old Development Thinking: Get the “Requirements” and Code! – I addressed the subject of the changing perception of the definition of “requirements” based on my research note “The Perspective of ‘Requirements’ Varies by Role and Context*”.
Here, I’d like to address the companion topic of how the development process impacts success – and specifically what we are seeing regarding the use of “agile methodologies” like Dynamic Systems Development Methodology (DSDM), Scrum and Extreme programming (XP). Traditional forms of development methods tended to have an engineering focus with “waterfall” approaches of project phases starting with “planning” and proceeding with “analysis, design, code, test, deploy, manage”. Some have been modified to include concepts for prototyping the user interface early in the process to uncover requirements, and the use of some time-boxed iterations through the steps in the process to allow for quicker delivery of parts of the solution sooner with improvements to be delivered in subsequent iterations or phases.
Agile methodologies include many of these latter iterative, rapid deployment concepts. However, agile methods go well beyond that. What we are seeing is that there is a lot of confusion in the development community around what exactly agile is, and, of course, what it’s not. In some cases, organizations have claimed to have implemented agile methods and failed, but a closer look seems to indicate that the majority of those who failed did NOT follow all the aspects of the methodology (or used it on the wrong type of project), while those who used agile methods more completely and on the right types of projects seem to have had far greater levels of success. Separating the facts from fiction will enable a more successful addition of agile development practices to an organization’s methods toolkit. In research notes “Waterfalls, Products and Projects: A Primer to Software Development Methods*” and “Agile Development: What’s Still Fact and What’s Still Fiction?*” my colleague Matt Hotle gets into software development methods including the facts and fiction about agile methodologies. In the latter he points out that:
-Agile is now a mainstream, mature and proven set of development
-Agile methods require new or changed staffing and HR practices, including key business personnel participation on the team.
-The shift to agile development is more about culture than it is about process.
-Agile methods will require a move to a "product" metaphor for funding.
I would suggest, that the ability for agile developers to gather good requirements in all its various forms, and to automate the coding and testing of those requirements, is a key to success. Moreover, the greater the number of existing reusable architectural and design patterns, frameworks and software and data services available to the agile developer, the quicker the time-to-delivery and higher the level of quality will be for the agile-built application. However, this raises issues of reuse management (and frequently related cultural and political issues around governance) which Matt also addresses in his research note “Building a Reuse Culture in the Development Organization*”.