Wiki
This website is a wiki. If you like and use our processes, techniques and tools, please add your experience and best practices. Just register and share.

Contents


User


Smart


Community

Forum






Smart iteration cycle

RSS
Modified on Wednesday, 03 February 2010 15:33 by Marc Kiel Categorized as Agile Dashboard, Iteration life cycle, Product life cycle, Smart, Smart use cases
Each type of iteration in a Smart project is concerned with delivering a (number of) product(s). During early iterations, these product will be dealing with setting up the project, determining the scope, or creating a project estimate. Further down the road, most of the products delivered in iterations will be (designed, built, and tested) accepted use cases. Depending on the type of products to be delivered, the iterations are branded as Propose, Scope, Realize, Finalize, and when the software is put into application maintenance iterations are usually typed as Manage.

There is one thing all these types of iteration have in common. All iterations in a Smart project follow the same procedure. This procedure is called the smart iteration cycle. The smart iteration cycle is split up into three different parts, as depicted in the image below.
The smart iteration cycle

The smart iteration cycle


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.

In somewhat more detail:

  • Plan. Planning the iteration. During the iteration kick-off workshop the customer and team decide on which products from the backlog to deliver during the upcoming iteration. The number of products that can be delivered of course depends on the velocity of the team, expressed in (smart use case) points per iteration and the complexity of the products in the backlog, expressed in (smart use case) points. A brief but pragmatic iteration plan is usually written, which also defines the acceptance criteria for each of the products to deliver - in other word defining done. During Realize iteration most products will be smart use cases.
  • Build. Analyze, design, implement, test and even accept the planned smart use cases (and other products). In realizing products the team usually follows a simple product life cycle, that can be visualized perfectly in a project dashboard. Although there are several possible variations of this product life cycle, it is always executed on a daily basis.
  • Evaluate. Each iteration is rounded up and evaluated. We evaluate the pace at which the project is going, the products delivered and the process that is applied. Possibly the software developed is deployed as well. During most of these evaluation workshop a short demo is presented of the realized products, in most cases working smart use cases.

Read more
  • YAGNI. YAGNI is becoming one of the key principles in agile software development. What is YAGNI and how does it apply to Smart?
  Name Size