Agile Software Development

 

Agile development methods are the perfect solution to a problem that often occurs during the development of (software) projects: the fact that it is difficult to determine in detail the requirements future users will have for the software at the start of development, and as a result, the wishes and priorities of said users often change drastically during the project.

Classical development methods, within which all details are established as mandatory at the very beginning, quickly reach their limits given this dynamic. The result: project managers often attempt to adapt reality to their planning; not an easy task...

In contrast, agile development methods focus on continually adapting development to customer requirements. During "inspect and adapt", checks are performed at regular intervals to determine whether there are areas for optimization in the procedure, in prioritization, or the design of features (inspect); if needed, the procedure is adjusted (adapt).

The strong integration of automated tests while maintaining high internal code quality are the prerequisite and guarantee for flexible adaptation of the code to changing requirements.

 

 

 

Scrum

 

consistec uses the Scrum method for agile development. It provides developers and customers with a flexible framework for implementing agile ideas.

 There are three roles:

 

  •   The Development Team: generally five to seven developers who are self-organized. Because of this organization, the team feels a great deal of responsibility for the quality of the software developed.
  •  Product Owner: a customer representative who answers development team questions regarding the features required and prioritizes them.
  • Scrum Master: The Scrum master moderates the workflows in the process, and relieves the development team of any non-development tasks (procurement of infrastructure, etc.).

Development takes place in sprints. These are fixed, relatively short time intervals (generally two to three weeks). At the beginning of the sprint, the team plans how many features it can implement in the next sprint (with the Product Owner setting the priorities), and obligates itself to full delivery of these features by the end of the sprint in the quality prescribed. Quality is non-negotiable in Scrum, and is established within the Definition of Done.

The fixed timeframe provides the development team with a stable basis for developing the features discussed, without constant changes in direction. At the same time, it enables flexible adaptation of the subsequent procedure after each sprint.

One major benefit for the customer is that, after each sprint, the software is in a deliverable state.

As a result, the most important features – implemented first due to their priority – can go into productive use at an early stage within the project. This guarantees a very early Return on Investment. In addition, the software can be evaluated in real-time use, enabling the really important features to be identified early on.

Internally, we realize all software development projects using test-supported agile methods, regardless of whether you place an order on a fixed price basis or based on an agile approach.

 

Let us show you the benefits of agile software development.