The creation of the PRD (Process Requirement Document) is not wrong in itself, but the bigger issue is when it is created and how extensive it is. Traditionally, the Requirement specification documents were created as part of waterfall projects. Assigned project managers or technical leads would write a long document pinning all details or requirements for the product that will be worked upon in the short to mid-term future. This is followed by putting detailed design in place, then coding, integration, testing, deployment… We know where that leads to, right?
Coming to the present times, I still see a lot of people all over the world, writing PRDs or CUJs (Critical User Journey) as text documents. PRDs are written exhaustively and drive the work done by teams (often referred to as Agile or Scrum teams). Individual team members interpret the requirements and start working on them. If they find something isn’t clear, then they go to the person who created the document for clarification. There are a number of issues with this approach:
1. Writing PRDs exhaustively to drive product development can be wasteful.
Refer to the image below. I was first introduced to this image at a training by Kenneth Reubin.
The region – 1 represents a danger zone. Why? Because, at the start of a project, we do not have enough knowledge of what we are actually building, whether customers will like what we build, how the final shape and form of the product will be, etc. But we are exhaustively writing (freezing) the requirements. Do you see the disconnect? Not only is it dangerous, but it is also wasteful, as things will change and a lot of what we are assuming might not hold value as we move forward.
The region – 2 indicates that our cumulative product knowledge increases over time, and it is wiser to start with a small set of requirements, work towards creating a prototype, get quick feedback and adjust the direction. If this is what is more useful, then why the heck are we creating such exhaustive requirements in the beginning?
2. The second problem with writing such detailed PRDs is that there is a lot of text to read. Usually, different people read such documents on their own and only bring up items they do not understand or need clarification on. But, what about the rest of the items in the document? Research shows that people misinterpret quite a few things based on their understanding and move forward with it. To understand this, let’s refer to the following images, first introduced to me by my mentor Jeff Patton:
Per the images above, you can see how people can misinterpret text documents and this can result in lack of shared understanding and alignment, which can negatively impact the health of products.
I recently worked at a large enterprise where senior team members are required to create exhaustive PRDs for their teams. A single technical team member then studies that doc on his / her own and starts to implement the code. No one else in the team knows much about the details in the doc, as they have been handed their own docs on projects they will solely own. This creates silos in a group of people who call them as a team but are only a working group.
The team meets weekly for a sync-up in which everyone talks about the progress they have made and what impediments they are facing. They also give a Red/Yellow/Green type status on whether they are on target towards delivering the project in 6-9-12 months. Often with only a few months remaining, the team members call out that they will not be meeting the original deadline. PRD driven development based on siloed understanding of the requirements leads to such situations.
Estimating a humongous piece of work will carry a lot of uncertainties. More the uncertainty, bigger are the unknowns and larger is the chance of that big piece not delivered on time. Instead, strive to build a shared understanding. Tell stories, do not just write them. Sketch, record, use whiteboards. Discuss visually for alignment. Create story maps and do not freeze or hide them. Continue to update and refer to these maps and make them the source of truth. Ask different stakeholders to walk through these maps to validate the assumptions.
Slice the map to target desired outcomes as shown below:
Did you notice that every release slice is functional (has the shape and form visible)? And outcome driven? Working in such manner is conducive towards building a shared understanding and should be foundational to effective product strategy.
Conclusion:
Invest in techniques that create shared understanding and empower the developers to write code with empathy. Create visual shared understanding and maintain those artifacts as the source of truth that feeds the Product Backlog. Remember, a flat Product Backlog is a trap. The 2 dimensional journey maps are contextual and help with alignment and validate our assumptions. They obviate the need to create extensive Product Requirement Documents (PRDs) upfront. In addition to the new ways of working, Scrum Masters must continue to challenge the status quo and coach teams, departments and organizations to let go of exhaustive textual documents that reduce visibility, understanding and lead to fake project estimations and roadmaps that are never met.
Amitabh (Amit) Sinha is a servant leader entrepreneur, visionary, mentor, trainer and coach. Amit is highly passionate about Agile, its principles, values, and the human side. Amit is a people champion and strives to bring out the best in his teams. Amit leverages his expertise in Agile, Scrum, Kanban and people skills to increase team effectiveness and happiness. See more