Agile product development aims to regularly deliver tangible value to the customer. Agile prioritizes values that drive progress, collaboration, and results.
These values, as described in the Agile Manifesto, are:
- Individuals and interactions over processes and tools
- Working software [product] over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Here are some of the benefits, as well as the three focus areas if you’re looking to successfully implement Agile hardware development.
Benefits of Agile Hardware Development
Although the Agile Manifesto was written to guide software development, product development teams can reap great benefits by applying the foundational aspects of Agile to hardware development. By using Agile hardware development:
- Technical debt does not accumulate within the project
- High-risk aspects of the project are dealt with first
- Useful feedback can be provided when there is still time to incorporate it
- There are more opportunities for stakeholders and team members to get together and gain a common understanding of the project and product
- The status of all tasks is transparent and visible to all team members and stakeholders, and each task has a single owner for accountability
- Technical databases are not allowed to have error-laden components checked into them
- Design reviews are formal and rigorous, without being personal.
3 Ways to Successfully Apply to Agile to Hardware Development
1. Utilize Scrum to Plan How to Execute the Project
Scrum, one method of applying Agile, breaks product development phases into two-week sprints. Each sprint starts with sprint planning, has a mid-sprint status meeting, and a sprint review at the end to demonstrate the progress of the past two weeks.
While software developers can compile and demonstrate code directly with a customer, hardware developers instead share brainstorming ideas, describe decision-making methodologies for selecting components or architecture, and provide design concepts. This process creates collaboration with the client on the project direction, and demonstrates value frequently throughout development.
2. Use Open Communication and Prototypes to Align Expectations Along the Way
Scrum creates a collaborative team atmosphere with a client. Visual task boards and sprint reviews enable open communication to ensure there is alignment within the internal team, and with the customer. Visual task boards allow the team and customer see the status of all projects tasks as they progress. By using sprint reviews to demonstrate hardware progress along the way, development work and client expectations have the opportunity to align. Demonstrating progress and value for hardware takes the form of drawings and prototypes, which facilitate alignment with 2- and 3D representations of the product design goals.
The goal of demonstrating frequent value is convergence of a client’s evolving expectations, not with the initial plan. The initial plan is important for setting initial guidelines on scope, schedule, and cost, but as a project evolves, an Agile hardware development approach allows new information to be incorporated into the product requirements. Sometimes difficult trade-offs must be considered, but open communication through consistent check-ins creates an opportunity for challenging conversations and a better overall outcome for the product.
3. Leverage Specific Skills
Although projects may employ both a Project Manager (PM) and a Systems Engineer (SE), the full development team helps to establish the project direction through leveraging the team members’ core skills. While the PM and SE set the high-level project direction and goals, team members determine the tasks they need to accomplish to meet those goals.
Empowering team members fosters excitement about the project and opens in-person lines of communication to solve problems as soon as they arise. Because standups occur daily and allow everyone on the team to remain up-to-date, they can quickly identify and remedy inefficiencies and challenges.
Integrating Agile principles and the Scrum methodology into the product development process can deliver the development speed of a startup with the technical quality of an OEM by promoting communication, rapid product development loops, and convergence with customer expectations.
- Todd J. Mosher, James Kolozs, and Erica Wilder. “Agile Hardware Development Approaches Applied to Space Hardware,” 2018 AIAA Space and Astronautics Forum and Exposition, AIAA SPACE Forum, (AIAA 2018-5233).
- Applying Agile to Unmanned Vehicle Hardware Development Challenges. AUVSI XPonential, Chicago, IL, May 2019.