12.2 The general view of agile with respect to the Plans theme
Agile puts a lot of emphasis on planning, and there are several concepts and techniques (e.g. planning and estimating with story points) that could be said to be common to the agile way of working. However, not only are there significant differences between agile and conventional approaches to planning, there are also differences between the various agile frameworks. This means that there are choices to be made when planning, and care is needed to use the most appropriate approach to suit the situation.
A fundamental principle upon which most agile methods are based is the concept of empiricism. This involves making decisions based on experience – i.e. what is happening or has already happened. A simple example of this would be to start a piece of work and then calculate how much work is left to complete by comparing it with how much work is getting done. This then allows the team to forecast or create an end date.
Starting work and seeing how much is getting done is sometimes called ‘calibration’ (in a similar way to manually setting weighing scales to zero), or calculating ‘velocity’ (i.e. the rate of progress). Another expression used to encapsulate this is ‘using yesterday’s weather’ as it can often be the best indicator of what is to follow. Future estimates are then based on this.
The opposite of this is called ‘rationalism’ whereby reasoning or logic is used to make predictions and plan what should happen.
In a BAU context empirical planning is a common agile technique and works well in an environment where work is ongoing. This means that when planning a 2-week sprint, the primary information to use would be that of the previous sprint and the sprints prior to that.
12.2.2 Planning style
Agile plans are often created in a particular style which involves:
- basing planning around requirements and features
- making planning a team-based exercise
- planning at the last responsible moment (also known as JIT or just-in-time planning).
The first point means that the focus of any agile plan is on what features are being delivered as opposed to focusing on technical phases such as design, build and test (see section 2.1).
The second point is a vital component of the agile mindset that creates ownership of plans and underpins the ability of a team to self-organize. In some agile environments this may only happen at the delivery level. A project would be seen as more agile if the same ethos were to be applied to plans created at the project management and project direction levels.
The third point enables a team to adapt easily to changing circumstances by planning as near as possible to the point where a product is being created. However, care is needed to avoid taking unnecessary risks by leaving decisions too late or procrastinating.
Agile planning can be very effective even though it is sometimes quite simple and low-tech, such as a simple list which is referred to as a backlog. The aim is to do the right amount of planning at the right time.
12.2.3 Using points to plan
As agile has evolved over the years many people have moved from controlling their work with a timeboxing approach (e.g. Scrum) to using flow-based systems through the use of Kanban (see Figure 12.2). This has created choice for agile teams whereby teams can use a point-scoring system to negotiate and plan (e.g. effort points per story), or they can choose to forecast according to such things as lead times (i.e. how long it takes a piece of work of this type to complete). There are advantages and disadvantages when using points in their many forms, so care should be taken to use them appropriately as described in the guidance later in section 12.4.1.
It is important to note that the use of ‘points’ for estimation is seen by some as fundamental to working in an agile way. Although they are still popular and still useful, they should be seen as ‘a way’ and not ‘the way’ (see section 12.4.1). A middle ground is often used whereby a simple form of estimation is used where work is classified as either large, medium or small, or high, medium and low, and this can be used with either a timeboxed or flow-based approach.