From Concept to Product Backlog - What Happens Before Iteration 0?

room: Civic North, 2 — time: Thursday 14:00-15:30
Average Rating: -

Delivering value early and often is a well established agile practice. But rushing directly into Iteration 0 development can lead to tunnel vision (thereby building the wrong product) or unnecessary (thereby wasteful) refactoring. This tutorial describes what needs to happen between when a project is conceived by a customer and when software development can start in earnest. It identifies the artifacts (beyond story cards) that may need to be produced, whether and when they should be produced, which activities can be used to produce them and who should be involved.

Many agile methodologies assume a customer (or product owner) walks into the room with a swack of money and a pile of story cards and tells the development team to start building the functionality described on the top few cards. The same methodologies often eschew any form of “big up front” activities yet often leave us in such a rush to deliver business value that we don’t have time to do many traditional “up front” activities like user/task research and find ourselves battling the resulting “tunnel vision” for the duration of the project. We may also find ourselves struggling to feed the hungry development machine with high-quality user stories and acceptance tests thereby reducing the entire team’s effectiveness.

While a pile of story cards may be the first thing the development team sees, this is rarely the first set of activities that happens on a project, agile or otherwise. In practice, the customer usually comes with a problem and maybe some vague idea of how to solve it with technology. Whoever they come to has to help them crystallize the vision, design the product, get the necessary funding and populate the initial product backlog. If that someone was you, would you know how to help them get to Iteration 0 and a staffed development team?

This tutorial provides an overview of what needs to go on “behind the scenes” between when a project is conceived and when development can start in earnest. It identifies the artifacts that may need to be produced, whether and when they should be produced, which activities can be used to produce them and who should be involved in those activities.

This tutorial complements the more detailed tutorials on Writing User Stories, and Iteration 0 Activities which provide detailed guidance on how to carry out individual activities/practices to produce specific artifacts. This tutorial shows how everything fits together and how the activities and artifacts support each other and how this supports subsequent development.

Process/Mechanics

90 minute session – somewhat interactive
o Lecture interspersed with short exercises to engage audience

Outline: * Recap of development phase of agile projects
* Exercise: What do we need to get started development?
* The traditional role of Iteration 0
** Define initial Architecture
** Setup Infrastructure & Tools
* Overview of pre-Iteration 0 activities & artifacts
* More detailed description of each Pre-Iteration 0 Activity and Artifacts …
** What it is
** Why we do it
** How it relates to other activities
** When we need it and when we don’t
** Who needs to be involved?
* … interspersed with the occasional exercise (180 minute format) such as ** Generate a list of stakeholders and goals for a sample system ** From a detailed feature list, distill down to a product box ** From an initial ist of features, develop a paper prototype to evolve into a UI Story Board ** Starting with a high level feature list and a UI Story Board, Annotate the board with detailed story cards for particular features * Recap of entire agile process from Concept to Backlog to Cash

The topics I would cover would include: (intended to be nested UL’s)

  • What is the timeframe?
    ** More than just Iteration 0
    ** Goes from whenever the idea is hatched to start of iteration 1.
    *** Precedes or Includes Iteration 0 activities
    ** May precede or run in parallel with procuring (seed) funding
  • What are the goals?
    ** First, Understand what we are building well enough to describe it to others
    ** Second, Understand it well enough to start designing the product
    ** Third, Understand it well enough to do overall effort/cost/timeframe sizing
    ** Fourth, Understand it well enough to engage the right technical resources
    ** Finally, Populate the Product Backlog so that we can start development

  • What are the artifacts?
    ** Business Needs or Goals
    *** Stakeholders and Goals
    **Product/Solution vision
    *** Key features list
    *** Key Use Case list
    *** Release Plan
    *** UI Storyboard
    **Feature Breakdown Structure
    *** Epics / Proto-Stories
    *** User Stories (for early iterations of first release)
    *** Tests/Examples (ditto)
    *** Expansion factor (for estimating overall size)

  • What are the activities?
    **Product Envisioning Workshop
    *** Stakeholders and Goals
    *** In/Out of Scope list
    *** Use Case List
    *** Features List
    *** Elevator Statement
    *** Product Box
    ** Release Planning Workshop
    *** Initial Release Plan
    ** Product Design Workshops or Sessions
    *** Paper Prototyping
    ** Product Suitability Testing
    *** Wizard of Oz Testing
    **Story-Writing Workshops
    *** Story Definition
    *** Test Definition