Agile project management in hardware development: Strategies for defining agile increments in the project

This image shows INVENSITY‘s Head of Safety Management, Philipp Hofmann. The title of the blog post is Functional Safety Assessment according to ISO 61508 and EN 50126 for a TIER1 supplier in the railway industry.

June 14, 2024 – Reading time: 6 minutes

Globalization and digitalization are continuously changing the environment in which many companies operate and presenting them with new challenges. Customers are increasingly demanding customized and high-performance products with short and flexible development cycles. While the development of a new car took between four and six years before the turn of the millennium, development cycles of between two and four years are now standard. In addition, there is a constantly growing number of features and customer expectations for individual coordination.

In order to meet these new requirements, companies are increasingly turning to agile product development. In software development, agile methods such as Scrum or Kanban have long since become widely accepted. The next logical step is to expand the application of agility by also using these frameworks in hardware and mechanical environments.

Agile increments: the key to iterative development

In agile product development, the development process is divided into recurring iterations, which are often referred to as “sprints” or “cycles”. A sprint usually lasts between two and four weeks. During a sprint, the development team works continuously to complete the tasks defined during the “sprint planning meeting”. These tasks are often defined as “user stories” or “tasks” and are typically derived from the requirements of the product client or customer.

Figure 1: Increments within the agile development process

An increment represents concrete progress towards the product goal and is carefully checked to ensure that it is usable. Several increments can be created within a sprint, usually as the results of tasks and user stories. The focus of the increment is that the increment is “tangible” and “feedbackable” at the end of the cycle. “Experienceable” means that it is presented to the customer and they can interact with the product. In this context, “feedback-capable” means that stakeholders can enter into dialog based on the increment, discussions can be initiated and opinions can be exchanged. In software development, this is referred to as “functioning software”.

Important characteristics of an increment are that it is tested for functionality and fulfills both the “Definition of Done” (DoD) and the acceptance criteria. In software development, the DoD could include the following points, for example:

  • The code is fully commented.
  • The code has been peer-reviewed.
  • An entry in the changelog has been created (change has been documented).

Advantages of agile methods in development processes

Agile product development is an iterative and customer-oriented approach to meet the requirements of a rapidly changing business world and increasing complexity. Agile methods bring numerous advantages to product development:

  1. Customer orientation: Agile product development focuses on the customer and their needs. Through continuous feedback, the end product can better meet customer requirements.
  2. Flexibility: Agile methods enable teams to easily adapt to changes in requirements or the market. This promotes adaptability and responsiveness.
  3. Faster time to market: Through iterative development and the early provision of functional parts of the product, companies can bring products to market faster.
  4. Quality improvement: Regular testing and feedback enable problems to be identified and rectified at an early stage, resulting in higher product quality.
  5. Motivated teams: Self-organized teams often have higher motivation and commitment, which drives product development forward.
  6. Risk reduction: By dividing the development process into smaller steps and collecting feedback at an early stage, potential risks and problems can be identified and eliminated at an early stage.

Agile product development therefore offers an effective approach to bringing products to market faster, increasing customer satisfaction and reacting flexibly to changing requirements.

Challenges with hardware increment

The iterative, incremental approach is easy to implement in software development. A new software function can be developed in cycles and integrated into a roll-out or software update. It can then be distributed to customers.

Physical products, on the other hand, are difficult to develop in increments, as already mentioned in the example of car seats. If the specifications from agile software development were to be transferred directly, this would mean creating a functional prototype at the end of each sprint. Although modern technologies such as 3D printers are available, it is generally not possible to complete every cycle with a deliverable increment in complex hardware development. On the one hand, there are strong dependencies (e.g. delivery times for prototype components) over which the development team has no influence, and on the other hand, such an approach would hardly be economically viable. In addition, not all functionalities can simply be added piece by piece during hardware development.

The benefits of increments and their role in the agile process

Here we remind ourselves of the purpose of increments: at the end of the cycles, there is always a review or demonstration of the increments, which brings the development team together with the stakeholders. Both groups discuss the work results of the cycle with the aim of receiving (or giving) useful feedback and agreeing on directional decisions. The review meeting is not a status report, but forms the basis for involving stakeholders in the development process.

One starting point for designating other work products as valid increments in addition to a fully-fledged prototype is to analyze who the stakeholders are in the development of physical products. For example, hardware products in the automotive industry are usually intermediate products that are further processed before they reach the user. The direct customers and therefore important stakeholders would therefore be representatives of supplier companies or OEMs (original equipment manufacturers) – often experts in their field. For example, if an engine control unit is developed by a supplier company for an OEM, the increments would most likely be presented to experts from the engine development department and not to the end customer. These experts do not necessarily need to review a full prototype in order to provide meaningful feedback.

A physical prototype is also often not the most suitable medium to stimulate a feedback session. Depending on the progress of the development, other objects, such as a circuit diagram or a detailed technical drawing, are often even more useful. Depending on who is intended to evaluate the individual increment, a variety of other feedback-capable work results are conceivable as increments. The choice of which medium is suitable for presenting and discussing the development results should be made in close consultation with the stakeholders.

To read the full article in Project Management Magazine, please visit this site.

Author

  • Mayanga Ngoy

    Consultant

How can we accelerate your development?
Let’s start

Resources

Learn more