Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > EDA/IP

Is there a need for Agile hardware dev't?

Posted: 27 Oct 2011 ?? ?Print Version ?Bookmark and Share

Keywords:Agile? manifesto? hardware development?

Hardware developers have the tendency to look at software development as a foreign land with odd people, languages, tools and techniques. Agile development approaches seem just as odd to most of us even though, according to sources like Forrester Research, they are becoming mainstream in software development. While software developers have largely accepted the merits of agile development and commonly debate the value of one agile practice against another, there is neither such acceptance nor debate in hardware circles.

Should there be debate when it comes to applying agile in hardware development? Might the values and principles that guide agile software teams similarly guide SoC teams; or are the differences between these two disciplines too great?

With it being relatively unknown in hardware development, it is difficult for the average hardware developer to offer an informed opinion on agile. Complicating matters is the fact that a true and tangible definition of agile can be difficult to pin down. Even in software circles where it's been used for years, agile can have different meanings, bring varying degrees of success and carry with it different baggage. Fortunately, hardware developers can avoid boxing themselves into the opinions or misconceptions of others by first looking to the manifesto for agile software development, then to practices that have made agile software teams successful for more than a decade.

Creative process
The manifesto for agile software development was written by a group of software developers in 2001. At a weekend retreat in Utah, this diverse group of individuals advocating differing approaches to software development met to talk about the current state of software development. Despite their differences, the group agreed that the top-down, process centric, heavily documented, painfully deliberate style that many organisations followed was proving less and less successful. As Jim Highsmith writes on, everyone agreed that "In order to succeed in the new economy... companies have to rid themselves of their Dilbert manifestations of make-work and arcane policies".

Intense discussion from two days of meetings resulted in the creation of the manifesto for agile software development. To its signatories, the manifesto was a launching point from which they and other likeminded developers could unravel the damage done to software development by classic project management techniques and specifically, the waterfall development model.

The underlying premise of the waterfall model is that design and construction of some product can be defined in advance through construction of a detailed project plan. Development then becomes a largely mechanical process of staged execution according to the plan.

A fundamental flaw in applying the waterfall model to software development, say agile software practitioners, is that the act of designing and constructing software cannot be reliably defined in advance. Software development, they argue, is a creative process and due to its inherent uncertainty cannot be accurately planned in advance; product vision, customer need, target market, target technology and team dynamics among other things can vary considerably and unpredictably during development. For a creative process like software development, therefore, it is agility and adaptability that drives success rates to a greater degree than the intense upfront planning characteristic of waterfall development.

Creative or defined process?
Before jumping into an analysis of the applicability of agile in hardware development, it is important to first categorise developing hardware as either a creative or defined process. Presumably, hardware development as a creative process would be similarly crippled by traditional project management practices and similarly benefit through the application of agile development. If, on the other hand, one decides hardware development can truly be captured as a defined process in an accurate and reliable project plan, there is little point in going further because the problems agile is designed to address simply do not exist.

There are several questions that can help characterise hardware development as either a creative or defined process.
? Is it possible to build a detailed project plan that accurately captures a complete
? Development cycle prior to development?
? Do detailed project plans remain stable over time?
? Is it possible to build a concise set of product requirements that will satisfy customer and
? Market need 6, 12 or 18 months in the future?
? Do product requirements remain stable over time?
? Are products consistently delivered on schedule?
? Do products consistently meet market demand and customer need?
? Are target technologies thoroughly understood and unlikely to change?
? Would a hardware team design and build a product the same way twice?
? Are product architectures likely to remain stable over time?
? Are people and their respective skill-sets interchangeable?

If you find yourself answering Yes to these questions then, luckily, you have the stability necessary for defined process. Your job is a relatively easy one. Many others, however, will answer these questions with an emphatic No! Many teams repeatedly underachieve with intense up-front project because accurate planning for them is simply not possible. For those teams, it is their level of agility and their capacity to harness instabilityCnot deflect itCthat determines success.

 Agile software development

Figure 1: The manifesto for Agile software development (

1???2?Next Page?Last Page

Article Comments - Is there a need for Agile hardware d...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top