Agile in a Nutshell
Flexible and lean development processes for optimal project results with agile methods.
The use of agile methods in software development is becoming increasingly relevant to businesses. Web solutions can be developed quicker and more customer-oriented using flexible and lean development processes. This reduces development costs and shortens time to market.
The Agile Manifesto – foundation of agile development
The agile development approach dates back to the early 1990s and reach a significant milestone in the formulation of the Agile Manifesto in 2001.
The Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
For years, AOE has been operating according to the guidelines of the agile manifesto and extensively uses agile methods such as Scrum and Kanban in all phases of the development process.
Scrum at AOE
Scrum is one of the best known agile methods – and for good reason. Through a transparent structure and clearly defined roles, Scrum principles can be productively implemented within an organization. However, introducing Scrum is extremely complex due to the changed perception of roles in comparison to more traditional approaches. Scrum also presupposes a complex and long-term change process within an organization; for example, employees must first learn and understand the different roles. These changes usually entail a change in the corporate culture –agility requires strong teamwork and permanent communications.
In contrast to waterfall models, Scrum projects don’t follow rigid plans or generate extensive documentation. Instead, the focus lies on close customer communications and a flexible consideration of changes. Based on a fixed delivery date, all requirements are recorded, prioritized and then processed.
Project flow in Scrum
1. Project start
At the beginning of the project all requirements of the solution to be developed are recorded and compiled in the backlog.
In the subsequent iteration planning, the number of iterations (sprints) is defined. Here prioritization, evaluation and estimation of time takes place for the individual requirements. Fixed iteration targets define which functions are to be developed within the individual iterations.
The requirements compiled in the backlog are then implemented in the individual iterations. Daily Scrum meetings promote a permanent exchange of information among all project participants. Problems can thus be rapidly solved and errors immediately corrected.
The implemented requirements are presented in the concluding iteration review and recorded in the review protocol. Requirements that are still open are then incorporated into the backlog of the new iteration.
Kanban at AOE
At AOE, Kanban is especially used in teams with a high proportion of short-term and poorly predictable or cross-project tasks, such as the support team.
Project flow in Kanban
All requirements are recorded and continuously compiled in the backlog.
These requirements are then prioritized and implemented, clear feedback loops are agreed upon.
3. Review and Handover
Implemented requirements and their results are processed in regular reviews.
4. Continued Development
Based on continuous planning, a permanent prioritization, evaluation and estimation of the requirements takes place
In addition to Scrum and Kanban AOE uses other agile methods. These include, among others, Extreme Programming (XP), lean software development and feature-driven development (FDD).