How are software developed?
Traditionally, software are developed according to the so-called waterfall methodology. Needs are defined at the beginning of the project, then all developments are done as initially defined until final delivery. The disadvantage of this method is that the customer does not see his software until the end of the development. This is problematic for several reasons:
There are often points of misunderstanding between the client and the team responsible for developing the project.
These misunderstandings are only discovered at the final delivery.
Some features originally requested are less relevant once implemented.
Tests by the customer can show that the functionality should be a little different, or even not necessary.
In any case, this leads to avoidable costs, delays in delivery or even a final software that does not exactly match the customer’s needs.
What is an agile methodology?
The agile methodology assumes that your project can evolve during development. What is true at the time of the initial definition of needs is not necessarily true at the end of development.
In concrete terms, this implies dividing the project into several stages of more or less two weeks. For each step, an objective is defined with a set of functionalities to be developed. At the end of each step, the software must be testable. This way you can check that the functionalities correspond to what you need. Following these verifications, a new step can begin, with objectives defined according to the results of the previous step.
So if you notice a difference between what we understood and what you wanted, or if a feature requires changes, we can adapt quickly.
No unpleasant surprises at the end, you keep control over your project throughout its development!