Mostafa Hanafi - Program Manager
28 Apr 2021
Estimating a Sitecore project is a tricky task for project managers. Many consulting firms fall into the trap of underestimating projects and must deal with the unpleasant consequences as a result. During my past 5 years of managing Sitecore projects, I have learned some key aspects about estimating them which I highlight in this post. To appreciate the importance of accurate estimation, here are some of the impacts of poor Sitecore projects estimation:
One of the obvious consequences of inaccurate estimation is going over-time and/or over-budget, which means not meeting project goals. This becomes extremely critical for Sitecore projects, simply because for most of them there are integral business strategy goals associated with the project’s timeline and budget. Therefore, not meeting timelines and budget directly impacts the organization’s strategic goals negatively.
When projects are underestimated, wrong expectations are communicated to project stakeholders. As a result, the development team usually bears the responsibility to meet those unrealistic expectations which eventually leads to burning out the team. Dysfunctional relationships between teams and their managers start to evolve and could lead to employee dissatisfaction and high turnover rates.
In the consulting world, client relationship is the most crucial factor that makes or breaks a consulting firm. Clients start projects based on quotations, so the more accurate those quotations are, the better clients can plan their budgets and other related projects. Therefore, poor estimation of Sitecore projects will inevitably lead to unhealthy relationships with clients, which in turn negatively affects the consulting firm’s reputation and profitability. Even though each client is unique, there are general commonalities between Sitecore projects that led me to point out the following crucial tips for estimating Sitecore project.
There are a few items on Sitecore projects that often get missed (or underestimated) during initial project estimation. Some of these are DevOps tasks (environments and code repo setup, CI/CD, deployments, etc.), bug fixes (if not included in development estimates), content changes/migration, regression testing (this is crucial for Sitecore upgrade projects). To avoid such unexpected hidden costs, project managers should not attempt to estimate projects in a silo but include the core team members (Solution Architect, Business Analyst, Lead Developer, DevOps Engineer, QA Engineer, Content/Business Strategist) during estimation.
Given the typical Waterfall nature of most Sitecore projects, organizations working with Sitecore should realize the fact that initial project quotes are full of uncertainties and that estimates should never be considered final figures of time and budget. Uncertainties include Business, Technology, and User Experience considerations that are impossible to guarantee at the beginning of any project. All of this makes it hard to accurately budget a large Sitecore project. Therefore, one way to escape this trap is to provide a Time-and-Materials (T&M) contract for clients whenever possible. T&M offers the flexibility to deal with project uncertainties and the opportunity to rectify any errors made during the initial project estimation.
On the other hand, if forced to do a fixed price project, a sufficient risk margin (20%-30%) should be added to the total estimate.
The most crucial input in the estimation process is business and user requirements, so if the input is not clear, there is no way to guarantee the accuracy of estimation output. Project teams should resist the common false urgency of getting an estimate of the way quickly and should spend the time to gather and analyze as many requirements as possible before providing estimates. For Sitecore projects, this becomes extremely important due to the complexity of the platform and the need to consider the goals of multiple teams and how these goals relate to each other.
After project requirements are clearly identified, it is highly recommended to prioritize those requirements. Without priorities, teams would be quoting (and eventually wasting their efforts and time) on less important tasks. Therefore, priorities give a clear structure for project initial estimates that help executives to make more informed decisions on approving/rejecting quotations. Another major advantage of requirements prioritization is the ability to break down a project into phases. One of the most successful Sitecore projects I worked on started with a Discovery phase, followed by multiple implementation phases, which allowed for realistic estimation of tasks and achievement of project goals.
Finally, although I focused this post on underestimating a Sitecore project, overestimating is equally dangerous and leads to similar negative impacts as indicated above. Project Managers bear the responsibility of accurate projects estimation and should strive to make this process as accurate and flexible as possible given the increasing uncertainties in the Sitecore world.
Mostafa is an experienced Project Manager and Scrum Master who has been managing Sitecore projects for more than 4 years. During his 8 years of experience in the field, Mostafa has also excelled as a Business Analyst and Product Manager, where he practices his passion for solving problems. In addition, Mostafa is also a two-time Sitecore MVP. As a Program Manager at Konabos, Mostafa will work with clients to ensure their business goals are achieved in the most efficient and cost-effective way.
Share on social media