If you ever planned a digital project with an Agile development agency, you are already familiar with the term project estimation. So, you know that when a web development agency provides you with a “price” for your project it is not a fixed one. It is, as the name indicates, an estimation – or their best-educated guess.
And if you haven’t been in that situation you might ask yourself – why an estimation and not a fixed price? And what is a project estimation anyway?
In this article, we will explain why most – if not all – modern web development agencies provide estimations instead of fixed prices, and we will also explain how estimations work. So next time you sit down with a development house you know exactly what to expect.
What is a project estimation?
Saying that project estimations are a guess is a bit of an understatement. In reality, project estimations are predictions of how long a development agency expects your project to take, and how much effort and resources are needed to complete your project based on experience from similar past projects or tasks.
Estimations vs fixed prices
Now, you might be thinking – if they worked on projects like yours, why can’t you get a fixed price? Well, there are a few reasons why you will get an estimation unique to your needs:
- Every project is different, no matter how similar they seem;
- Each feature takes a different amount of time and resources to build based on your requirements;
- You can always change your mind and add more features or remove some from the initial agreement;
- Fixed prices do not work on dynamic projects.
To better understand, imagine you’re building a house. You spend months getting permissions, do the plans, talk with contractors and prepare. But once you’ve put in the foundation of the house, there is no turning back. You can’t build a foundation for a four-room house and suddenly decide you want seven rooms.
This development strategy, where everything you agree on at the beginning of the project is fixed, is used in traditional projects such as constructions, and clients don’t have the same flexibility as with software development.
And this is because traditional project management uses the Waterfall methodology, which means that once you agree on an action plan, there is no going back.
However, web and mobile development agencies work with Agile development, which is more flexible. This means that although you have an initial agreement, usually known as a Statement of Work or SoW, you as a client and product owner are always an active part of the project, and can change your mind. In project management, this is called a scope change.
Imagine this like building a house from legos, where you can add bricks here and there and make your lego house into whatever you envision in that moment.
So, because of this freedom of choice and change, an Agile development agency will provide you with an estimation that, based on your decisions, can change.
How do project estimations work?
“When clients are asking for an “estimate” they are often asking for a commitment or for a plan to meet a deadline. However, they need to understand that agile estimates are not exact, there are many factors that can affect the process even throughout the development phase, so adjustments are inevitable!”
Daniela Todorova, Projects Director at Wiredelta
The process of estimating a project in Agile development consists of 6 steps:
- Collecting initial requirements;
- Project scoping;
- Wireframes and initial estimations;
- Refining Requirements;
- Final estimations;
- Scope changes.
Step 1 – Collecting initial requirements
The first step in project estimation is the very first meeting a company has with a development house when you have a project idea. This initial discussion revolves around what your needs are for the project at hand.
A few discussion topics could be:
- What are you looking to achieve – boost revenue through eCommerce, improve brand visibility through a new promotional website, etc.?
- How do you envision your new digital platform?
- Is it a new platform or is it a rebuild?
- Who are your expected users, who is your platform targeting?
The list can go on, but the point of the meeting is for the agency to get a feel of what your needs are and assemble a team that can answer your questions and provide you with suggestions and solutions during project scoping.
Note, this is not the development team, but rather a project manager and a technical lead that will manage your project later on.
Step 2 -Project scoping
Once you establish your goals and expectations, it’s time to dig into project scoping. This phase outlines every aspect of your project:
- Your requirements – features, user stories, edge cases;
- Your budget and deadlines;
- Your stakeholders;
- Deliverables and timeline;
- Constraints, limitations, and assumptions;
- What services will be included in the estimation and what will not be included.
It might sound like a lot, but this process is actually simpler than it seems. The only thing is that it will take a few meetings and workshops to get everything down.
Think of it as a brainstorming session. You know how much you want to invest – or at least have some idea – and you know what you expect your digital platform to achieve. In other words, from your side, the most important parts are:
- What is your budget (approximately)
- Who are your most important stakeholders (users, investors, etc.)
- What is the endgame for your platform?
With this information, the development team uses historical project data – a fancy way of saying “their experience”- to make suggestions and help you prioritize your features into must-haves, should-haves, nice-to-haves, or will-not-haves.
Based on their experience they will also express constraints or limitations they see and make assumptions. And of course, they will also explain exactly what is included in the estimation and what will not be.
Note that the constraints, limitations, and assumptions can change over time after the development phase has started and the development team gathers more information.
Step 3 – Wireframes and initial estimations
Once the project scope is complete, the development team is able to build the wireframes for your project and provide you with initial estimations.
Wireframes, if you are not familiar with the term, are simple sketches of your future platform that showcase basic functionality and the overall outline. They are used to give you a visual representation of how the agency envisions your project, and once approved, the wireframes will also be used as the foundation for your design and layout.
It is often recommended that you or your team present this initial plan to different stakeholders for initial feedback. This means either gathering your investors, board members or simply a focus group representing your future users. then, use their feedback to refine your requirements.
Step 4 – Refining requirements
The last step before a final estimation is to discuss the feedback you gathered with the agency. Are there any must-have or should-have features you missed in the initial estimation? Or are there any features you found irrelevant for your first release?
During this step, it is also a good idea to revisit your constraints, limitations, and assumptions – based on the new information, did anything change that you should be aware of?
Step 5 – Final estimations
While the name sounds a bit dramatic, the final estimations should represent the basis of your Statement of Work. This should of course be discussed in detail and negotiated, but overall, it represents exactly what you should expect from your development team.
The final estimation also represents the start of the design and development phase, or the official start of your project. However, this doesn’t mean you can’t change your mind about features or user stories. These changes are known as scope changes (9or scope creep) and they are expected and encouraged in Agile management.
Step 6 – Scope changes
Speaking of scope changes, keep in mind that estimations in Agile development are based on the amount of time and effort put into each feature your project requires. So, scope changes can impact your estimations both positively – f.ex. if you remove a feature, it will lower your costs – and negatively – by adding a new feature you did not agree on in the initial estimation.
There are also times where they might not affect the estimation at all. For example, when you replace a feature you agreed on with one you haven’t discussed yet but would take the same amount of time and effort to build.
“Scope changes are inevitable, but as long as we understand the implications and adjust accordingly, the end result will be fine. Just keep in mind that often a change in the project scope means we need to review current requirements, make sure that everything will still work well together, and that the current development plan is still the most efficient. If we are not able to make these adjustments, we risk an increase in the estimations as well as a lower quality in the end product.”
David Gamote, Technical Director at Wiredelta
Regardless, if you have doubts about a feature or a step in your user journey, it is highly recommended you discuss it with your project manager as soon as possible. This way you ensure that development hasn’t started on the feature you want to remove or replace, and you can plan properly.
Project estimations in Agile development are based on the amount of time and effort required to build each feature and it varies from one project to another. While you may not get a fixed price for your digital project, any web development agency has the experience and knowledge to provide you with a pretty accurate estimation.
However, remember this is a conversation, so be forthcoming with information and honest with your budget. But more importantly, be realistic. Do not expect to buy a Ferrari at the price of a Fiat – and if that is what your development agency offers, that is a clear red flag.
And if you are in need of a development agency or are simply looking for a second opinion, reach out to us. Our team is ready to assist with a free consultation and help you build the digital platform of your dreams!