To be agile means to be able to quickly respond both to users’ needs
and to actions of the competition or regulators’ requirements.
New methods of developing software were created as an alternative for the traditional approach, which did not allow for introducing changes quickly. They consist in supplying the product divided into small batches. The main assumption of such an approach – called iterative-incremental – is to provide the client with a simple, but working system functionality.
All of it so that:
It was strikingly illustrated by Henrik Kniberg:
The basis for efficient project management and developing software is the so-called Agile Manifesto. Its assumptions can be summarised as follows:
Agile approach is therefore oriented on daily communication in order to respond to the situations that hamper the progress of work as soon as possible.
The key elements also include:
In order to make the assumption above possible to deliver, close cooperation between the team and the contracting party is necessary. The contracting party’s involvement at the stage of planning further steps and verifying the progress of work is necessary, as these are people from the client’s side who know best the direction in which the product should be developed at a given time.
What makes the agile approach different from the traditional methods of developing software is also the time of delivering a functionality.
Agile ensures that within short spaces of time (from 2 to 4 weeks):
To sum up, agile development of software works when we deal with:
The main advantages offered by agile approach for the contracting party should include the possibility to:
Mikołaj Kukurba, Business Analyst at Diaphane