A Smart project runs through a number of consecutive iterations, that guide the project through the lifecycle of software development. From the first project proposal (in Propose
iterations) up to application management (in Manage
iterations). The different types of iterations in Smart are depicted below.
A Smart project showing different iteration types
All of the work in Smart projects is done iteratively, in these five types of iterations. Normally, all iterations have the same length, e.g. 2 week iterations. When the project goes into application management mode, iterations normally last 4 weeks.
Smart iteration types
A Smart project goes through the following types of iterations. During each of these iteration a number of products are delivered. All iterations are run using the same smart iteration cycle
- Propose. Activities in Propose iterations includes: define stakeholders, goals, scope and size of the project at hand. This stage results in a project proposal.
- Scope. During Scope iterations the team elaborates on the scope of the project, explore non-functional requirements, risks, write the business case for the project, and set up a first project planning, resulting in a project plan.
- Realize. Most iterations will be of type Realize. During these iterations the teams plans, designs, builds, tests and deploys individual smart use cases. This stages contains the main project iterations. Each of these iterations results in the delivery of working software.
- Finalize. Finalize iterations are similar to Realize iterations, expect that during Finalize iterations, the team does not allow for new requirements. These iterations are used for completing the puzzle, round up the project, final deployment and evaluation.
- Manage. Application management can also be conducted using the same way or working, using smart use cases as main work item. In most projects Manage iterations last longer than Realize and Finalize iteration. This is due to the fact that there are lesser work items to be realized compared to development.
===Smart iteration cycle===
As said, each of these iterations follows a straightforward cycle that more or less is in sync with the very old guidelines for writing articles, blog posts and doing presentations: tell what you're going tell, tell it, and tell what you've told.
We start each iteration with Plan
, in most cases a workshop that sets the scope for the iteration, summing products to be delivered and the resources available. Next follows the body of each iteration, which is called Build
(which should rather be called Produce
) where we build the products we've put in scope. During Realize
iteration, these will mainly be smart use cases. Each iteration ends with a retrospective workshop called Evaluate
, which is used to evaluate the products, the process and the velocity of the team.