Hi,
We are a digital agency and due to the nature of our industry we have to be Waterfall/Agile hybrid.
Current process
Business Requirements (BRD)
- We write business requirements
- Business requirements help to define scope and estimate implementation in hours
- Various roles (backend dev, frontend dec, integrations, etc.) estimate using business requirements, but create their own breakdown items for estimation
- This is done to provide our client with an implementation budget and get the project
- However, our estimates are way off because we don't know everything, and can't possibly know everything.
Functional Specs (FSD)
- Once we win the project we write our functional specs using business requirements
- Epics are identified from business requirements, which are planned and prioritized into Sprints (at least for first few sprints)
- Functional specs are written in the form of user stories and entered into Jira as tickets
- Team reviews the tickets, creates sub-tasks, and estimates the sub-tasks (we don't estimate stories because sub-tasks are broken by roles, and project managers need to know each role's demand, so they can resource them appropriately)
- Since we don't have all the stories in the backlog it is difficult to forecast a date range for milestones or launch
Question we are trying to answer
- How can we improve our estimates knowing we need to provide a project cost to win the project?
- How to create traceability from business requirements to functional specs?
- How to identify requirements with large variance in estimation between business requirements and functional specs?
Few things we know could help but can be a challenge
- Write more granular business requirements as user stories (yes, I understand they are essentially conversation reminders about requirements). This could consolidate BRD and FSD, but may be seen as too much of a change. Need to take baby steps to get here
- We may have to continue using BRD and FSD but writing granular business requirements will help to understand the needs better
- Use affinity grouping and relative sizing for initial round of estimates. Challenge is this may be perceived as less accurate than what we already do
- All roles to use the same business requirements and breakdown to estimate
- We are also considering moving from Scrum to Kanban, but unsure if we need to fix/improve our foundation first.
What would you do if you were in my shoes?