Agile: From Software to Hardware (Part 1)
Since 2001, the principles of the Agile Manifesto (http://agilemanifesto.org/) have been a touchstone for many software developers. The Agile Manifesto’s emphasis on flexible methods, as opposed to a pre-planned, freeze the spec approach to development, appeared to be a defining moment in the history of the field. But how has Agile delivered on its promise? Can the insights from Agile be applied beyond software, to other types of programs?
Numerous studies have explored these questions and the opinions of the pundits are as close as the nearest search engine. But what do the managers in the trenches have to say, now that a dozen years separate the dreams of the Agile Manifesto’s authors from the realities of today’s software marketplace?
In particular, we sought answers to the following questions:
What did managers view as the most effective tools in the Agile toolkit?
Did these experienced practitioners see a future for Agile in the world beyond software?
To answer these questions, we interviewed nearly 20 managers, most of them from Silicon Valley technology companies. Some of the companies in the study included:
The interviews, conducted in August and September of 2013, were in depth, lasting 30 minutes. These conversations were structured around four questions:
1. “How long and how successful has your experience with Agile software development been?” 2. “What techniques have you seen that make the biggest impact on implementation of the Agile software process?” 3. “How do you interface your Agile process with non-Agile programs (either larger software platforms or hardware)?” 4. “What techniques have you seen pulled from Agile software development processes and applied to hardware or Waterfall software development?”
Agile takes many different forms. In our study we focused on the popular Scrum methodology, which incorporates such practices as burndown charts, daily standup meetings, and sprint planning. Although Scrum is by no means the only manifestation of Agile it is popular and we used the language of Scrum in our data gathering and analysis.
Agile's Greatest Impact on Software Programs
According to respondents, what aspects of Agile methodology had the greatest impact on software development programs? The frequency plot below displays the responses to this question. (The respondents were not prompted with potential responses.)
The research found that the top two practices were specific techniques that are part of the core of the popular Scrum approach to Agile. However, with modifications, all of these practices are also applicable to Hardware or mixed programs. There is nothing in these methods to prevent their application to a wide variety of programs.
Note that of the top four practices, three are cultural: daily standups, team culture, and customer ownership. With the exception of daily standups, these are not specific processes or procedures but aspects of culture that are applicable to any team endeavor.
Daily standup meetings fit into this picture as well since these are a process that fosters a culture of communication and functional integration.
In the second part of this series we will examine what aspects of Agile technology managers believe have the greatest impact on Hardware programs.