This blog is meant to talk about cost in project management. More specifically how costs are estimated when working in Agile and how it shapes up when compared to other methods.
Before explaining the way to estimate the cost in Agile, we should first talk about it and explain what exactly it is. Cost is the resources spent to complete a project. This goes for either method- traditionally, Agile, or anything else. It is usually measured in the currency used where the project is taking place. For example, in America, the cost is measured in dollars. While cost is measured monetarily, there are aspects of it that can be hard to predict. There can be many reasons for that, an expenditure can be too far in advance to know how much you need or if you even need it. Many variables also go into determining the cost- there are direct costs, indirect costs, intangible costs, tangible costs, contingency, and management reserves. Because there are just so many things that go into estimating the cost of a project, it can be very tricky to come up with an estimate that is reliable, this is not good because the cost of a project is significant and if you can not cover it the project will most likely shut down.
Image showing how a analogous estimation is applied.
Link: https://rubygarage.s3.amazonaws.com/uploads/article_image/file/191/project-development%20.jpg
You can guess what cost estimation is from the name alone- it is estimating the cost of a project. There are several ways to estimate the cost of a project, one example is the analogous estimate method. This method uses the cost of a previous project to help estimate the cost of another. This method is more effective the more similar the projects are. There are usually several types of methods utilized to produce several cost estimates, this is meant as a double check o show your estimates are all accurate, assuming they all have similar answers. Cost estimation can be tricky, here are some of the main reasons that project estimates can be made unreliable-
Done too quickly: This speaks for itself, estimates are very complex and have tons of factors that go into them. A big issue for many is that not enough time goes into creating the estimates and that can cause them to be inaccurate.
Lack of estimation experience: Many do not have the knowledge to be able to make good cost estimates, either that or they might not have a good set of data at their disposal to make a good estimate.
People biased towards underestimation: This is actually not about people underestimating themselves but underestimating the project. A leader might underestimate the complexity of the project from the perspective of others. Or they might forget to include all the factors that go into cost estimation because they are just winging it.
Management desires accuracy: While management is asking for an estimate, what they are really wanting is something closer to the actual cost of the project. This is because if it is lower, there is a more likely chance for additional funding. A stakeholder is more likely to provide is something that is sixteen million instead of twenty million.
Lack of Updates: Once a change has been made, there is a revision to the cost estimate and it is then updated. The problem comes when this updated estimate is not shared with management. Everyone needs to be on the same page when it comes to the estimate. A couple of reasons why management might not be told is because it has been forgotten to do so, or more likely the fact that the estimate has gone up and no one wants to tell them.
You may think that because of the nature of Agile, the estimate is something that is done in a short amount of time and is not really emphasized. That is not the case though, cost estimation is something that is more iterative and unified because of the nature of Agile. It involves long-term planning and also plays a critical role in the project just like any other method.
When it comes to the methods used for cost estimation, there is an overlap between Agile and traditional methods. Both types can use the previously discussed analogous method. And just like other methods, as time progresses and more work has gone into the project, the estimate becomes more accurate and other costs clearer. This is because the actual work that has been done so far can be used to better estimate what the cost will be.
Differences come in the way that cost estimation in Agile is more integral. For example in Agile, cost estimation is done as a team, while traditionally it is a separate activity. The goal is that the estimator is working alongside the development team as they are making iterations of their project so they can calculate and update the estimates. The iterative approach of Agile allows increased accuracy over time, the sprints allow the estimates to be more accurate and allow for better cost management.
When it comes to actually coming up with the estimate for an Agile project, it can be broken down into steps.
Define the Scope: To estimate the cost, you first need to figure out what you are going to do. That is what this step is for, you are listing the features/tasks/stories you need to do a project.
Break down the scope: This is getting the list that you made in the previous step and breaking it down into smaller chunks to be completed in sprints. This allows for more detail of the feature and a better estimate.
Estimate effort: Once your chunks have been established, this is the part where you actually have to estimate how much work will go into them.
Assign costs to features: You assign a cost to the chunk based on the effort you estimated in the last step.
Prioritize features: Prioritize the features based on their values to the customer/stakeholder.
Adjust: As the project goes on, effort and cost estimates are readjusted based on new information.
Below is an example of an Agile cost estimate:
In conclusion, cost management in Agile has actually been much more similar to other areas of project management when compared to a traditional/waterfall method. For example, both methods use the same types of estimation processes, they suffer from the same issues, etc.
AiDA - MITRE Corportation. (n.d.). Cost estimation. AiDA. Retrieved February 25, 2023, from https://aida.mitre.org/agile/agile-cost-estimation/