Should you consider an agile methodology to support new product development, beyond just software?
You’ve likely heard of agile software development. Many software development teams have experienced significant benefits. For example, in its report, Agile Compendium, McKinsey finds that teams following an agile process can complete code development in a startling 17% of the original time. McKinsey has also observed that companies can accelerate innovation by up to 80%. With benefits like this, does it make sense to extend agile to other engineering disciplines? Let’s explore that question.
First, let’s start this two-part series with some definitions. The agile methodology was a reaction to some of the inherent challenges of the traditional waterfall approach. A waterfall method follows a linear sequence. The process flows from top to bottom with different phases, just like a cascading waterfall. The number of phases and their names may vary, but generally, the process starts with requirements, flows to design, and ends with test and maintenance. With this methodology, significant time must be devoted to the testing phase to find all of the problems. Consequently, in some cases, testing may even be longer than the initial development phase.
While this structured approach has its advantages, quality issues, delays, and an inability to respond to changing market dynamics led to a need for a new approach. In 2001, a group of software developers developed the Manifesto for Agile Software Development as a solution to these problems. The new approach involved smaller iterations, usually lasting about two weeks. Rather than completing all development work prior to testing, a small amount of code is developed and tested before moving on to the next iteration.
Now let’s discuss five reasons to consider an agile methodology for all of your new product development processes. In this first of a two-part series, we will reveal the first two reasons.
Thoroughly defining all requirements up front leads to a very rigid process, which makes changes hard. A small change in one area may have significant implications on other parts of the design. However, it can be hard to avoid major changes as it is difficult to predict all requirements early on. The rapid pace of technology development, uncertain markets, and competitive pressures mean requirements may need to evolve over the course of the development process. How do you know which technologies will be in demand at the end of the development cycle? What do you do when a competitor releases a more innovative product while you are still in development? What if market volatility impacts your supply chain? What if over the course of development, the team comes up with better ideas to implement new features? If you cannot adapt to the many reasons requirements change, your product may be obsolete before it even hits the market. Plus, the rigid process means there is no opportunity to revisit requirements as you progress to ensure they are still valid. With the iterative approach of agile, it is easier to adapt so you can stay focused on keeping products relevant and competitive.
One of the most critical indicators of a product’s success is its ability to meet customer needs. However, it is often hard to know how well a product will resonate with customers until it is released to the market. It would be much better to get that customer input during development. However, it is hard for customers to provide feedback without an actual product they can see and evaluate. Consequently, it is difficult to get much
customer input until the product is close to a prototype. Unfortunately, at this point, it is too late to make impactful changes.
Agile puts customer needs first, and everything must map back to what customers want. Also, agile requires that developers focus on working code. Each iteration involves incremental improvements, but the code works so customers and stakeholders can provide input along the way. This early feedback can help to shape the development process so that the final product closely aligns with what customers want.
You can apply this same approach to other aspects of product development. Rather than waiting until the complete product is ready for prototyping, you can solicit customer feedback along the way with smaller completed parts of the product, perhaps with a modularized product structure. With 3D CAD, photo-realistic visualizations, virtual and augmented reality, and even 3D printing, customers can get a realistic feel for the direction of the product, even if it is still early in development. Then their feedback can be incorporated earlier when it will have the most impact.
To Be Continued: Make Life Easier for Engineers
These first two reasons reveal how agile can help you improve how you meet market needs. Our remaining three reasons explain how agile can help engineers design even better products. To continue with the countdown, check out the conclusion of our two-part series.
In part two of this blog series, we will also discuss how a modern requirements management solution with traceability can support an agile approach when applied across multiple disciplines.