Personal contribution on an iterative project is organized in micro-increments. A micro-increment
represents the outcome of a few hours to a few days of work for one person (or typically a few people collaborating) to reach
the goals of the iteration. The concept of a micro-increment helps the individual team member to partition their work
into small units, each of which delivers something of measurable value to the team. Micro-increments provide an extremely
short feedback loop that drives adaptive decisions within each iteration.
A micro-increment should be well-defined, and you should be able to track daily progress of each micro-increment.
Micro-increments are specified and tracked by a work item. Change sets represent the physical outcome in terms of the
files that are modified as a part of completing the work item. Let's have a look at some sample micro-increments:
Identify Stakeholders. Defining a shared vision is a task that can drag on for weeks, so to ensure that
you make and track daily progress, divide the task into small and well-defined micro-increments. Describing and
getting buy-in on which Stakeholders to put into a Vision document is a meaningful result, and may take a few hours
or at most a few days, and thus represents a suitable micro-increment.
Develop Solution Increment. Defining, designing, implementing, and testing a use case or even a scenario
can take weeks or longer. To ensure continuous progress, divide the work into smaller increments, each
of which can be done in a couple of days. A more suitable micro-increment may be to only define, design, implement,
and test a subflow of a use-case or step within a scenario.
Agree on Technical Approach for Persistency. Agreeing on your technical solution may take quite some time,
so you need to narrow the task to something that can be defined and agreed to in a short time. One way to partition
the work is according to the issues that you need to resolve, such as persistency or reporting. This micro-increment
will probably involve defining requirements, surveying available assets, prototyping, and documenting the
Plan Iteration. This micro-increment could include setting up a meeting for creating the iteration plan,
doing some preparation for the meeting (such as reviewing candidate work items), coaching the team through the
iteration planning meeting, and posting the iteration plan for easy access. The end result is something complete
and measurable, a posted plan that has buy-in from the team.
Your project evolves in micro-increments through simultaneous execution of a number of work items. By openly sharing
progress on your micro-increments through daily team meetings and team collaboration tools, you achieve the
transparency and insight into each other's work required for effective teamwork. At the same time, you demonstrate
continuous progress by evolving your application one micro-increment at a time.
Typically, practices provide a set of activities to be performed. Each activity is captured as a set of
tasks, steps within tasks, and guidance. Even thought micro-increments are not explicit constructs in the practices,
within the activities you will find descriptions of how to carry out a set of related micro-increments that are
commonly found in projects. This guidance does not provide a complete description of all potential micro-increments: each organization should consider adding their own "recipes" for commonly occurring micro-increments.