Step 2: Agile Development
As briefly described above, using agile methods involves a flexible approach to development divided into work cycles. These cycles are referred to as “sprints”. The product’s development advances one step further with every sprint and the product under development is released to users for testing. The resulting feedback then becomes input that guides the following sprint.
Adds Value Fast
Agile methods emerged from improvements made to development processes based on developers’ experience with more traditional, linear development, as described under “Step 1: From Idea to Definition”. Nowadays, development teams also strive to deliver value to their clients as early as possible during the development process, rather than delaying value-creation until the end-product is completed.
The initial product produced after the first sprint is known as a minimum viable product (MVP). Often, a MVP includes only a fraction of the functionality that will be provided in the final version, but enough to allow a user to start using it and to create some initial value for the client.
The client always has the option to apply the “handbrake”, so to speak, at the end of each sprint, when the product is presented to them and other stakeholders. Their feedback at a sprint’s conclusion might be either “Continue on the same track,” “Adjust this or that,” or “We need a radical overhaul because our priorities have changed”. Occasionally, certain parts of a project may need to be put on hold for a time when other features are decided on that also need to be included in the finished product.
We recommend two-week sprints. This means that we work in two-week periods to achieve the specific development goals defined jointly with our client for that particular sprint. The period ends with a demonstration of the product for our client’s benefit and a planning session to determine the goals for the next two-week sprint.
We also take time to reflect on how the work has progressed during the sprint and if there is anything we need to take into account when embarking on the next sprint.
Our agile development methods allow us to take a number of different approaches to software creation in order to accommodate our client’s needs and preferences. We recommend sprints of two weeks in duration, but can be flexible if our client prefers a different timeframe. Ordinarily, sprints last 1-4 weeks, so as to maintain a good tempo in the development process.
Scrum, Kanban & ScrumBan
We use Scrum for forward-looking development, i.e. in planning to reach established goals in the product’s development. For backward-looking development (e.g., maintenance), we use Kanban instead.
A third method that we like to use is ScrumBan. ScrumBan is a combined method for both forward-looking and backward-looking development in which the development team allocates X per cent of the available time to maintenance and spends the rest on sprints, resulting in even tighter maintenance-development integration.
The experience gained from applying agile development methods over an extended period has taught us that both we and our clients learn during the process, making subsequent sprints easier to define. An agile approach also takes the fast pace of change in the market into account, recognising that circumstances will not remain exactly the same from the time of the product’s conception to the time of its launch.
Read about the other steps of the development process: