Why We Use Scrum
Traditionally most agencies and freelancers estimate and price their service using hourly pricing. This is when you charge a fixed rate per hour. For example, an agency may estimate this website will take 50 hours and their rate is $150 per hour thus the cost is $7500. There are many problems with this model of pricing. And anyone that has been involved in a project priced this way will know it all too often ends with a damaged relationship.
One of the problems with this model is that there is no incentive for the freelancer or agency to become more efficient. This means the agency and the clients goals are not aligned. The agency wants the work to take longer so they get paid more and the client wants the project to be done faster so it’s cheaper. The agency must also now deal with time tracking which is a pain, is never accurate and often the times are made up by whoever is entering them. And, this model relies on humans estimating time to perform a task. We are terrible at estimating how long it will take to do something, we are almost always overly optimistic. That 50 hour estimate is most likely way off. These poor estimates almost always lead to cost and time overruns. And, as projects start to go over the initial estimate and the agency starts to push back on the client the relationship gets hurt.
We don’t sell time on custom creative/software projects we sell points. Scrum points. A Scrum or Story point is a unit of measurement that lets multiple people with different roles and experience agree on how much effort a task requires.
Before we would estimate a project based upon hours and then tediously track time spent on tasks to make sure we weren’t going over while in parallel breaking the work down into cards with points and setting the project up on our Scrum board. Two parallel processes whose value cancels each other out due to the loss from duplication of work.
To resolve this, we decided to move to a pure Scrum points quoting system. Every task needed to complete a project is quoted based upon how many Scrum points we think it will take. We know on average from our weekly Scrum velocity tracking how many points we ship in a day, what it costs to run the company on average per month and we know how many full time equivalent employees we have for that month.
Dividing the operating costs by the full time equivalent employees and then again by roughly 20 business days for the month gives us our cost per day. Taking the average cost per day and dividing it by the average number of points shipped in a day gives us our cost per point. We then take the total project points estimate and multiply it by the cost per point and again by the markup or profit we want to attain and that gives us our project estimate.
We manage how well we are doing against our estimates by tracking Scrum velocity on a weekly basis at the macro level, not at the project detail level. If it is going up, we are working faster than we thought, staying the same, okay, but not improving, declining, something isn’t right and we need to fix it.
This change in how we estimate and price our projects is great for many reasons. Our goals are now aligned with our clients. We want to ship more points per week and become more efficient and the client wants a less expensive project. We don’t have to track time anymore and the client doesn't have to worry about how we are spending our time. And because of how thorough we are with our velocity tracking we can give far more reliable schedules. This way of quoting helps align our goals with your goals and makes working on projects better for everyone.
If you have a question or want to learn more send us a note at firstname.lastname@example.org.