The Agile Developer's Handbook
上QQ阅读APP看书,第一时间看更新

Part 1 – Release planning

A new phase of work begins with release planning, a whole team meeting which is used to create a release plan. It commences with the customer/business introducing new problems for the team to solve. At this early ideation phase, the customer will often be thinking in the form of software features. These are written on index cards in the format of users stories.

XP emphasizes that business people are to make business decisions and technical people are to make technical decisions. The Development Team, therefore, leaves the customer to write the User Stories.

The following is an example User Story from a cinema ticketing system:

On the top half of the index card, the narrative of the User Story is written. It typically follows the format given here:

As a <certain type of user> I want to <perform some action> so that I get <some outcome>.

In the example User Story given here, the precise type of user is the cinema goer. The action they want to perform is to purchase tickets and reserve seats for a particular session. Finally, the outcome the Cinema goer would like is to watch the movie.

On the bottom half of the index card, the acceptance criteria are written. These help the team to understand what expected behavior is to be delivered as part of this User Story. These are the criteria that the customer will use to determine if the resulting software works as they were expecting.

User Stories are business problems formulated to fit on an index card. They are deliberately kept in this small format to enable the 3 Cs to happen: Card, Conversation, and Confirmation. In this way, active discussion occurs between the customer and the Development Team during implementation. Leading to fewer assumptions being made when compared to traditional requirements gathering. We'll discuss User Stories in more detail in Chapter 4, Gathering Agile User Requirements.

For each User Story, the Development Team will gather enough information from the customer so that they can estimate it. At the release planning level, estimate in ideal weeks. An ideal week is a week where we can focus entirely on implementing the User Story without any distractions. Estimates should fall between one and three ideal weeks. If the User Story is bigger than three weeks, it should be broken down. If it is smaller than one week, then it may need to be combined with others.

It's not unusual in a release planning meeting to see the User Stories spread around the table. Viewing all the stories like this helps the team absorb the bigger picture and will ultimately make it easier for the customer to identify any gaps.

With index cards, it's easier for both the customer and the Development Team to move the cards around and start to formulate a plan. Priority is given to stories with the highest business value.

The outcome of release planning is the release plan, a deck of User Stories written on index cards, estimated by the Development Team and prioritized by the business. 

Work on the release plan begins with the preparation for the next iteration; this starts with the iteration planning meeting.