Doing it agile: Reaping the benefits of agile product development
I have recently considered how the race to create the Internet of Things is driving product developers to seek new approaches that can make their processes fast and highly responsive while helping deliver high-quality output. I have also looked at how agile product development can deliver benefits across the enterprise—whether in the spheres of engineers and of development practitioners or in the boardroom—through better business performance.
How can you achieve the benefits of agile product development?
Doing so requires that you make agile work across new areas of your organization—non-software disciplines whose practitioners have probably either never heard of agile or never thought it relevant to them. But there’s good news: agile approaches can be used directly to tackle many of the challenges that these other disciplines face.
- Requirements codify the common understanding, shared by stakeholders and the delivery team, of what is necessary.
- Traceability means that the implications of requirements changes can be properly understood and managed across development.
Both requirements and traceability are essential parts of fulfilling the agile promises of close collaboration with stakeholders and of responsiveness to change.
So, rather than doing away with requirements, agile product development needs them more than ever. Moreover, it benefits from tools that make requirements available on demand to all necessary stakeholders—tools that allow traceability to be built and maintained in real time as product design artifacts are created and updated.
Agile aims to do the right thing by rapidly discovering what doesn’t work; test-driven development and continuous integration in agile software development are the processes used to achieve that goal.
In product development, however, things are more difficult, for there are mechanical, electrical and electronic components to prove and integrate that can’t necessarily be achieved on demand in an iterative and incremental process. Agile modeling and simulation can make possible rapid design iteration and feedback to ensure that when real hardware is integrated, the results are predictable—avoiding the late-stage integration nightmares of conventionally managed projects.
The Internet of Things is intensifying the globalization of products
In large, diverse markets, that globalization makes product families and variant management even more vital for success. Accordingly, an agile product development approach must also be ready for product line engineering, offering configuration management of diverse engineering artifacts and the ability to create and manage work streams for different product variants. Product line engineering and agile product development work hand in hand to manage complexity and deliver responsiveness to change while maximizing reuse of engineering assets.
Agile product development must be implemented across the enterprise. It can’t be delivered as a “skunkworks” project, under the radar of management—agile product development affects the whole enterprise. Accordingly, doing agile product development requires you to gain buy-in across the organization, ensuring that the different stakeholders understand what benefits they will receive from an agile approach. Scaling agile to the enterprise requires a robust approach, such as that offered by the commonly used Scaled Agile Framework (SAFe). Similarly, a new variant currently in preview, the Scaled Agile Framework for Lean Systems Engineering (SAFe LSE), specifically focuses on the needs of product engineering organizations.