Kevin Thompson, Ph.D., CSP, PMI-ACPAs part of our effort to bring the benefits of Agile techniques to the world of hardware-product development, Cprime is offering a new Certified Agile Hardware Practitioner class. We’ve created this class for two basic reasons: People want the content (and the certification), and we want to make sure that the introduction of Agile ideas to hardware development proceeds smoothly. The second point is of particular importance, because it is very easy to fail at Agile hardware development, and we don’t want early facilures to tarnish a promising beginning. The literature on Agile approaches to hardware development is much smaller than that for software development. The articles I’ve read have been oriented more towards Lean concepts, or very general Agile concepts. While these are useful things to know, they do not provide much guidance in the practicalities of planning, executing, and tracking the work of hardware development. Some parts of the Agile world might be fine with this lack of specifics. One of my pet peeves is with Agile consultants whose approach to helping clients is to take a ‘journey of exploration’ approach. They want their clients to meet and discuss Agile ideas, experiment, and gradually work out a solution for Agile development. I have yet to meet a client that really wants a journey of exploration. All of my clients want solid practical advice about what will work in their situation, and believe that this is what they are paying for. They have told me about their frustration with consultants who speak at great length about ‘discovery,’ ‘failing fast,’ and ‘soft skills,’ but can’t provide useful solutions to concrete problems. In a domain as new as Agile Hardware, the absence of useful solutions to concrete problems is a major issue. Since we are pioneering those useful solutions now, not many people have that kind of knowledge yet. Thus the risk of failure with Agile transformations is high for hardware products. Our goal is to educate practitioners and consultants on the practicalities of developing hardware products in an Agile way. We are teaching Scrum, specifically, not generic Agile concepts, and we provide the key insights about how a Scrum process works for developing hardware products. We teach the practical techniques needed for a Scrum Team to plan and execute Sprints focused on developing hardware, or combined hardware-software products. These techniques are tested and proven for the development of mechanical, electronic, and electro-mechanical devices. Hardware development proceeds in ways that are neither the same as software development, nor wholly different. An experienced Scrum Master, who is well-versed in applying Scrum for software development, would find many things that are similar in applying Scrum for hardware development. However, attempts to transfer the same mindset and practices unaltered to hardware would almost certainly result in painful and expensive failures. The differences matter.
What we teach in our CAHP class is Scrum, but with the practices tailored for hardware development.The content will seem familiar to current Scrum practitioners. We cover the following topics:
- How to write requirements
- How to estimate work
- How to map requirements to tasks
- How to plan Sprints
- How to track progress
- Release concepts
- Time Boxes and Meetings
- Up-front release planning and regular backlog grooming is highly beneficial in the short and long term. It brings the team together in a holistic and integrated way, and reduces the number of unfortunate surprises.
- Burndown charts provide instant and obvious visibility into the status of work versus plans on a daily basis, in a way that is easier to understand, and provides more insight, sooner, than classical Gantt charts.
- The cross-functional Scrum team understands the larger picture and product goals clearly, leading to a more engaged team that makes effective decisions.
- The daily Stand-Up meeting is a life-saver for maintaining team coherence, finding and addressing problems early, and enable the Team to stay on track.
- A Scrum process has strong links to Lean principles that are already understood in companies that manufacture products, and is a good cultural fit in that sense.
- The short cycles (Sprints) in Scrum enable rapid learning from experience, and equally rapid improvements as Teams incorporate their learning into future Sprints. The self-organized Scrum Teams do not simply “do Agile,” but soon “are Agile,” as they internalize the principles and practices that make them effective.
- The short Sprints also enable Teams to make rapid changes in product direction, based on internal discoveries, technical constraints or capabilities, and shifts in markets or customer needs.