Project management (PM) is in transition these days due to the popularity of the Agile Project Management methodology. As with any change within the Project Management process, those that have had a hard time getting the attention of the majority of developers first evangelize their new methods, then after they achieve success they attempt to apply them to all parts of the Project Management process of a new product development in a “one style fits all” approach.
Hardware Product Development in particular doesn’t lend itself to a 100% the Agile Methodology approach. As such, there have been many attempts to create a Hybrid Agile model to try to capture the best parts of both methods.
What is Agile vs Waterfall?
The waterfall, or phased gate, Project Management approach has been around for many years, and it is time tested. Its biggest drawback is its rigid planning approach that has seemed to prove so challenging for Software Development projects. The major advantage to Agile, and its popular software project management cousin “Scrum”, is that it is so flexible in its planning and implementation. There doesn’t need to be a “frozen spec” to begin with the assumption that the process can iterate more quickly to a much better solution.
The Project Management Triangle
Relative to the Product Development PM “Triangle” triangle of Cost vs Speed vs Quality (or results), this approach fixes resources (ie software developers cost) and targets frequent “sprints” with very definite outputs that are fixed in time, often 2 weeks. To make this work, the target results are modified to meet feature changes as time goes on. Work begins with a much more vague set of results, features, specs, etc. The project team has frequent (daily) meetings that are “stand up” and very short. The real development stakeholders attend these meetings. This might even include the customer. Focus is on “deliverables” in this process. There is very tight communications between these team members. Often they work very effectively if collocated.
The Hybrid of Agile and Waterfall attempts to take advantage of the strengths of both methods. As an example, one model is the “Water-Agile-Fall” approach. This method attempts to sandwich the Agile portion with project waterfall model at the front and back ends of the project. Agile is then applied to selected portions of the middle design phase. This at least gives some semblance of up front planning to allow projection of costs and real time schedules, and follows at the end of design with the more standard Waterfall product release and customer support process.
Hardware Product Development
Why doesn’t Agile seem to work well in a new Hardware Product Development project? There are some processes that just don’t lend themselves to short term goals with real outputs. Also, there is a significant disparity in the skill sets used on the project. Each has long established product development methods to engage in the process. Some examples of these skill sets might include:
Size and Weight Considerations
Physical Form of Design
Usability of Design
Digital Design – (Soft Hardware)
ASIC Coding (Soft Hardware)
PC or Tablet Platform Developers
Firmware Coders (Soft hardware)
Digital Signal Processors
Chemists and/or Physicists
For a Hybrid approach to work well, a good way to start is to review the above list of skills and select those that are more Software oriented such as firmware coding, and apply Agile methods to them during the design implementation phase. The same would be true for other forms of “soft hardware”.
One still needs to carefully review how these Agile implementations will dovetail into the rest of the project, and how these persons, or groups, will communicate with the rest of the project team during the design phase.
This weeks blog was written by electrical engineer Carl Angotti.
There are a number of places on the internet that describe variations of the Hybrid Agile Models. Some worth reviewing are: