Getting started with Automation? Guest blogger Sam Perrin discusses t-shirt sizing and how to better estimate required effort and cost on your Automation Projects. An Automation Consultant, Sam works for Xtravirt Limited based in the UK, a company specializing in virtualization, strategies and solutions to help customers solve their complex IT challenges and unlock the full potential of cloud, datacentre and workspace technology.
Why A T-Shirt & Do I Look Good In This?
Working out the effort required for an automation project can be challenging. Teams may have different abilities and skill-sets causing individuals effort estimations for tasks to differ. The primary advantage to t-shirt sizes is the speed and ease of getting started and they can be a great way of getting used to relative estimating
By expelling the focus on a numerical score, the development team has the ability and freedom to think more dynamically and abstractly about the effort associated with a request. By limiting the number of t-shirt sizes, you allow for faster estimates and less deliberation around placement. You can use t-shirts without a numerical value associated with them, but with the values you can better identify the differences in size between the t-shirts and use those same values for pricing and velocity calculations.
What’s In A T-Shirt
A t-shirt is a defined amount of effort, measured in days, hours, points, or anything else you feel appropriate. These types of estimates become more efficient and effective when you have lots of ‘things’ to estimate at the same time, rather than just a single ‘thing.’ Behind a t-shirt size you often have a numerical value associated to it, this can be Fibonacci numbers or hours and days. So for example, if you believe the new requirement will suit a medium t-shirt size, you now have an idea of the effort that will be required. The table below shows an example of days of effort per t-shirt size.
T-Shirt Sizing Table
|X-Large||Estimated Per Requirement!|
So How Do We Get Started?
- We create a relative estimation. We do this by comparing the new requirement to a previous requirement
- The old and new requirements are evaluated (at a high level) and a decision is made as to if they are equivalent in effort or not
- If the old requirement had previously been gauged a ‘medium t-shirt’ and the requirement doesn’t fit this size.. well, you pick the right size t-shirt to fit the body!
Does It Fit Right
During the development process you will get an idea if the estimate was accurate or not. If it’s way off adjust it accordingly. Just keep in mind that it’s also beneficial to keep with the initial estimate so that it can be reviewed afterwards. When you do, it allows you to ask questions such as
- Why was the initial estimate for the request an S,M,L,XL?
- When the work was finished, was the request more like a S,M,L,XL?
- Why was the request larger than expected?
- What made this request an S,M,L,XL instead of a S,M,L,XL? Was there just more work? Was this type of work new?
- How can we avoid underestimating this type of request in the future (hint: adopting a working Agile methodology, working in sprints and having planning and review sessions will greatly help with this. A blog post for another time maybe?)
Once you have reviewed your estimates against the reality (post delivery) you can build out or adjust your baseline for each size. New requests from this point will use this baseline. If a request is too big to fit a t-shirt you have two options
- Break it down into smaller requirements that do fit within your sizes
- As a last resort, place it into a X-Large or XX-Large t-shirt size where you don’t have an estimation of effort (warning: This is a really bad idea and completely devalues all your other sizing efforts. You don’t know how long it will take, amount of resource required, cost.. so what do I do? you ask. See the previous point)
Often the information received during an automation project kickoff, is the name and a brief description of the Service Request (the thing that needs to be automated). The real detail is missing at this stage. Having a small amount of information makes detailed planning difficult, you have questions that need to be answered, you don’t know the risks, full requirements or the even the success criteria; yet you still need to provide two estimates to the customer – a cost estimate and an effort estimate. This is where t-shirt sizes help us. We work with four sizes; small, medium, large and extra-large. Together as a team we go through the list of Service Requests, discuss what we believe may be required and provide our estimates. These estimates are based on previous experience and so afford us an educated idea on what size to allocate (relative estimation). When the team are agreed on the size of the Service Request we move on to the next until we have an estimate for all the required work. Once all the estimations are completed, we can provide an idea on the total effort, which then leads to an informed cost quote for the customer!
Due to our experiences, we have been able to analyse our decisions, see where we have over or under estimated effort and identify why that happened. This allows us to ensure the original t-shirt still fits. If it doesn’t, we can change it for future estimates. Using this data, we can build out a baseline number of days associated to each t-shirt size.
- Create effort estimations before commencing any work
- Record actual effort
- Review actual vs estimated effort to better educate yourself for ‘next time’
- Using terminology such as ‘t-shirt’ sizes help abstract away from hours, minutes, days of effort which is often hard to quantify
- Continual refinement and education means better estimation of effort and delivery cost as opposed to continually working with ‘Guesstimates’