state card to the left. Continue with the
next card until you get to the state that
your team has not yet achieved.
4. Move this state card and the rest
of the pending state cards to the right.
Figure 5 shows the states Smith’s
team has achieved on the left, and
those not yet achieved on the right. For
simplicity, Figure 5 shows only three of
the kernel alphas.
Determine where to go with the
kernel. Once the team agrees on the
current alpha states, the members
discuss what the next desired “target”
states are to guide their planning. The
team agrees to use the immediate next
alpha states to help establish the objectives of the next iteration, as shown
in Figure 6.
The name of the alpha state supplies a hint to understanding what
needs to be achieved to reach a state.
Team members can find out more by
reading and understanding the alpha-state checklist. By going through the
states one by one for each alpha, a team
quickly becomes familiar with what is
required to achieve each state. In this
way the team learns about the kernel
alphas at the same time as they determine their current state of development and their next target states.
Determine how to get there with
the kernel. Smith and his team look
at the next target states and agree that
they need to establish some priorities.
First, they need to determine their
way of working: working well; then the
software system: usable; and finally
requirements: addressed. The reason is
simple; not having the way of working: working well would impede their
attempts to get the software system:
usable. In addition, they agree on the
priority for the missing requirement-items necessary to achieve the
requirements: addressed state.
Smith and his team next discuss
what needs to be done to achieve these
states, as shown in the accompanying
table. By going through the target alpha states, Smith is able to determine
a set of objectives and tasks for the
next iteration.
How the kernel helps in planning
iterations. A good plan must be
inclusive, meaning that it includes all essential items and covers the whole team. It
must also be concrete, so it is actionable
for the team. The team must also have
figure 6. the selected next steps.
how the team achieves states.
target state
how they planned to achieve them
both dick and harriet agreed that they had difficulties
in applying automated testing. they needed help in order
to make progress. tom agreed that he had to spend time
teaching them:
A task was added to the iteration backlog for tom to
conduct training on automated testing for dick and harriet.
˲ task 1. conduct training on automated testing.
this state reminds us that the software system must be
shown to be of sufficient quality and functionality to be useful to the users. so far, smith’s team had been testing within
its development environment. now, it had to conduct tests
within an acceptance-test environment, which they had yet
to prepare. this resulted in the following task:
˲ task 2. Prepare acceptance-test environment.
smith’s team had to bring all requirement-items currently demonstrable in the system to completion. this
meant that each requirement-item must be fully tested
within the acceptance-test environment.
˲ task 3. complete requirement-item A: “browse online
and offline.”
˲ task 4. complete requirement-item b: “Post comment
(online and offline).”
˲ task 5. complete requirement-item c: “browse
album.”
this state reminds us of the need to work with stakeholders
to ensure they are happy with the system produced.
in our story smith had to work with Angela, the customer
representative, to determine which additional requirement-items needed to be implemented. this resulted in the
additional task:
˲ tasks 6: talk to Angela and agree on additional
requirements-items, fitting in the iteration, to make
the system worth being operational.