-
In order to provide an estimate we first discuss the project with the product owner to understand the objectives, scope, budget, timeline and preferences
-
Depending on how detailed the provided documentation is we might request to start with an investigation / research to complete the missing parts of the requirements
-
Depending on the budget and timeline we break tasks into sprints and decide on how big the team / teams should be
-
Estimates for projects and tasks are given by either the expert assigned to the project or the team lead through project managers or Account Managers / Business Analysts
- The main goal of an estimate is to provide a solution to the business requirement that includes a breakdown with actionable tasks and hourly estimates
- Whenever reasonable, multiple estimates can be provided for the same project using different frameworks or approaches
- Estimates are best guesses given based on the available information. The more information is provided, the more accurate the estimates can be
- Estimates can include a pessimistic and optimistic columns, when the requirements are very ambiguous or have risks
- There can be different types of estimates:
- ‘Enterprise-level’ projects require a lot of attention to detail and working out all possible scenarios, integration of many 3rd party APIs, TDD (Test Driven Development) and support of all popular and not very much browsers and platforms. Usually there is a robust, scalable infrastructure supporting the application, that includes monitoring, logging and disaster recovery. Solutions are 99.9% bullet-proof before deployment to production. Higher budgets are expected to cover the time required to work all these steps through with experts
- ‘Regular’ projects also require attention to detail and include compatibility with most popular browsers. There are usually less interactive and non-crucial features and no TDD included. These things cut out ~40% of time from the Enterprise-level estimates
- ‘Startup’ projects or MVPs (Minimum Viable Product) usually include the minimum set of features required to launch the feature or website / app. Things are done with great attention, but limited functionality is shipped or open source or ready solutions are used to cut costs down in immediate run. Distinctive elements of the approach: only crucial functionality is shipped, less testing of all possible scenarios is done leaving the feedback and bug reports to the ‘beta users’ or ‘early adopters’
- If the project includes both creative design and development phases, first the estimate will be given for the design phase. Development estimate would most likely change after the designs are delivered
- Ideal documentation for the development phase includes hand-drawn sketches, wireframes with style guides or ready designs accompanied with comments and user stories
- In addition to the breakdown of tasks, estimates may also include:
- + 15 % quality assurance time
- + 10 % bug fixing time
- + 20 % project management and communication time
- so 10 hrs of dev time might also include + 1.5 hrs QA + 1 hr bug fixing + 2 hrs PM = 14.5 hrs
- Like mostly with everything in this world the general rule is ‘Good. Cheap. Fast. But You Can Only Pick Two.’ Please be reasonable when trying to cut the time estimates. Certain things just take time. We can definitely cut corners to save some budget now, but it would most certainly become a so called ‘technical debt’ that will just make things difficult in the future
- We follow agile methodology and work only with experts. Usually the factual time tracked for the project or task is less than estimated, but there are also cases when work takes more time due to unexpected conflicts, bugs, issues in open-source frameworks that are being used etc. It is possible the time spent would be different for ~ +/- 20% from the original estimates
- If the tasks take more time we make our best effort to inform the product owner about it upfront
- Depending on the business objectives estimates can include:
- Business Analysis
- Wireframes and Design
- Setup of Environments
- Development
- QA
- Digital Marketing
Read more: