Gradualness is a central foundation of physical product development in agile mode, and that proceeds in small steps (iterations or sprints).
Gradualness means proceeding by trial and error by developing next steps based on what emerges.
Within each step the product is developed by adding new elements, called product increments, and/or modifying what is done by calling this iterations or product changes.

At first glance, only the incremental part seems virtuous, but in reality, the increment of product developed at one step can be changed a few steps later.
The meaning of iteration
Care must be taken because the term iteration has a double meaning:
- Iteration corresponds to the product development step or sprint, which precedes verification with the customer representative and/or the customer. This verification brings out new elements and enables planning of next steps.
- Iteration also corresponds to changing what has been realized, as a painter does when he goes over a previously painted area with his brush.
To avoid misunderstanding from now on I will employ the term step to describe the first meaning and modify to describe the second meaning.

The gradualness and development of physical or hardware products
In the case of physical products, modifying what has been developed can be very costly and, for this reason, it is important to minimize the impact of the error itself.
By proceeding in small steps, through product virtualization with digital twins and numerical simulations, or by building product forerunners, the developed solutions can be validated without having to build the entire prototype.
Only gradual product development achieved through small modifications (iterations) and new elements (increments) makes the development of a physical or hardware product sustainable.
Gradualness also means graduality of requirements definition.
In the case of complex product development projects, requirements are often and necessarily vague.
The phased approach allows for convergence during the early stages of development toward sustainable and achievable requirements.
Proceeding in small steps also means maximizing work that is not at value and that is saved or not done.
At each step, only ” just enough ” should be developed for the development team, client representatives, and/or the client itself to evaluate what emerges and to decide in what direction to proceed in the next steps.
If we carried on for too long with the development of a solution that was then discarded, this would consume resources unnecessarily, such that the exploration of alternative solutions would be unsustainable.
For these reasons, proceeding in small steps increases the speed of development and brings more value to the customer and the company.
Gradual development and its impact on people
Small steps mean smaller failures that are easier to process and accept, both by the team and the company.
This fosters management support for the increasing autonomy of teams.
This also passes through the gradual growth of cooperation within the team, triggering a virtuous spiral that leads to higher levels of performance accompanied by greater personal well-being.
This is especially necessary in physical products because the team dissolves after the product itself is made.
Whenever possible, it pays to continue with the same team for another product development as well.
On the other hand, when the product to be developed requires different domain knowledge and skills, it is necessary to replace several elements of the same team.
If the product is the output of the development process, the internal business outcome of this process is the impact it has on the development team.
The impact of an Agile approach on a cross-functional team is in the gradual growth of technical skills and interpersonal skills, which are built while the product is being made.
Awareness of this is built through a gradual and nonlinear path.