Best estimation is no estimation at all is a recent industrial mantra. Its underlying assumption is that future is unpredictable and thus estimation (as any other kind of prediction) is doomed by default. So why spend so much time on estimating (and even times more on trying to stick to these estimates) instead of using that energy for something much more valuable?
I tend to agree with #NoEstimates. However we might be in a situation where we cannot control or even influence that decision. Good for us as today we have some great agile estimation techniques that could be of great help to us, including T-Shirt sizing, Planning poker, Table sorting, Triangulation and many more. By being relative and group-based they have proved to be much faster and accurate than their predecessors. But still the “Garbage In, Garbage Out” principle applies – meaning that if the estimates (either of complexity or effort) used as a baseline are wrong – so are the newly produced ones. And the greater the Planning fallacy of a team is – the more evident this principle becomes. Cards Anchoring was created specifically for this particular situation and aims to improve it a bit by: (1) changing the baseline from previous estimates to actual complexity / effort (thus bringing historical data and lessons learned to the estimation process); and by combining both complexity and effort estimation (thus ensuring they are perceived as different concepts and used for different purposes).
I. Select the “Anchors”
Anchors are already completed items which you would use as a historical baseline for estimating the new ones. It is highly recommended when you select your anchors to look up for: (1) items completed in you last iteration – so they (and their complexity and effort spent) are actual to the team configuration, business context, etc.; and (2) items which vary in terms of actual complexity and effort spent – preferably being in different complexity scales and having 2 or 3 days difference in their effort spent (so you could do a proper triangulation).
Once you have selected your anchors – write them down on index cards and place them on a table or a whiteboard in a row (sorted by complexity in an ascending order). Leave some empty space between the anchors (as this space will be later used to place the new item’s index cards). It might be worth verifying the “correctness” of the order with the team before the start of the exercise (so you clarify any misunderstandings or disagreements). Given below is how your table or whiteboard should look like.
If you do not apply any time logging or tracking – instead of time spent you could use estimated complexity or effort (e.g. story points or ideal days). However the Cards Anchoring would turn into a classical Triangulation exercise and thus it might lack the additional benefits of using historical data of actual complexity and effort spent (unless you somehow monitor how accurate is the team in estimating complexity or effort and reflect that on the anchors).
Note: There might be situations where there is discrepancy between team’s perceived complexity of an anchor and its actual effort spent. For example the team might think that the anchor is “simple” although it took them quite a lot of time (e.g. the item required too many simple and repetitive tasks). You could either elaborate with the team to clarify what “complexity” means (and eventually bind it to effort spent if possible at all) or prepare “back-up” anchors (so you could leave the discussions for later and speed up the exercise).
II. Place the Items
Repeat the following procedure for each of the items to be estimated:
- Introduce the item to the team and give them the opportunity to ask questions and discuss assumptions and risks.
- Ask the team to place the items’s index card between two anchors based on its complexity. The latter means that if an item is placed between “A1” and “A2” – then according to the team this item is more complex than “A1” and simpler than “A2”. You could adapt the Planning Poker for this activity by just replacing the cards with the following specifically designed insertion cards. Then, whenever there are people with different insertion cards (e.g. “[A1, A2]” vs. “[A2, +∞]”), they are given a chance to offer their justification and convince the others. Similarly to Planning Poker the process continues until consensus is reached.
An example arrangement, consisting of 3 anchors and 7 items to be estimated, would look like:
During the entire exercise the team is allowed to change the position of an item’s index card. If at some point there is a strong disagreement on the position of a given item – take it away and bring it back at the end of the exercise (so you are not blocking the rest of the estimation process).
III. Sort the Items
Once you have all the items on the table or whiteboard – ask the team to sort them by complexity in an ascending order. This should happen in rounds, where each round is defined by two anchors. For example you start with the items between “0” and “A1”, then you continue with the items between “A1” and “A2”, and so on until you cover all of them. As a result the example arrangement might change to (reflecting that “S3” and “S1” are simpler compared to “S5” and “S7” respectively):
For sorting the items based on their complexity you could employ the so called Bubble Cards Sorting Technique (which is based on the classic Bubble Sort algorithm). For that purpose print and distribute the following action cards (3 per participant) which would be used for determining the placement of two adjacent items on the table or whiteboard. The “KEEP” card stands for leaving their placement “as is”, the “SWAP” card is for swapping them and the “?” card is for uncertainty and doubt. Then repeat the following procedure for the items between each two anchors:
- Start with the first and the second items.
- Ask each participant to lay an action card faced down (either a “KEEP”, “SWAP” or “?” card)
- Ask all participants to call their cards simultaneously by turning them over.
- If there are differences in actions (or there are ? cards) – ask participants to justify their selection.
- Apply the agreed action by either leaving the items “as is” or by swapping their position.
- Repeat step 2) to 4), but now for the second and the third items (and so on until all cards are sorted).
The Bubble Cards Sorting Technique is generic and could be used outside Cards Anchoring as an alternative to other cards sorting techniques as Challenge, estimate or override, Dot Voting, Table sorting, Ouija board estimation, Swimlane sizing, Bucket sorting, Affinity mapping, etc.
IV. Estimate the Complexity of the Items
For each item – select the closest of its two anchors in terms of complexity. By doing this the item has an estimated complexity (which in the context of the exercise the item is called to become “anchored“). After “anchor”-ing – the arrangement from above might look like (reflecting for example that item “S3” is closer to “A1” rather than “A2” in regard to complexity):
V. Estimate the Effort for each of the Items
Repeat the following procedure for each of the anchors:
- Share with the team the actual effort spent on the anchor and give them the opportunity to discuss it.
- Ask the team to estimate each of its “anchored” items in terms of effort. One should expect these estimates to be within a small range of the corresponding anchor’s actual effort spent.
By using a combination of triangulation and historical data of actual complexity and effort spent the accuracy of the newly produced (complexity and effort) estimates might be increased. However they are still predictions and therefore are “doomed” by default – unless we are lucky enough or… we do put “extra effort” to make them “work”!