PRDs and TDDs

INFO 153B/253B: Backend Web Architecture

Kay Ashaolu

So how do projects get built in Industry

  • It does a lot to take some time to think about what you want to do before you do it
  • It also is very helpful to think about how to build something before you build it

Let's start with a PRD

  • "A product requirements document (PRD) is a document containing all the requirements for a certain product. It is written to allow people to understand what a product should do. A PRD should, however, generally avoid anticipating or defining how the product will do it in order to later allow interface designers and engineers to use their expertise to provide the optimal solution to the requirements" (from Wikipedia)

Next we have a TDD

  • "A technical design doc describes a solution to a given technical problem. It is a specification, or “design blueprint”, for a software program or feature.

    The primary function of a TDD is to communicate the technical details of the work to be done to members of the team. However, there is a second purpose which is just as important: the process of writing the TDD forces you to organize your thoughts and consider every aspect of the design, ensuring that you haven’t left anything out." (from medium article)

Then comes interative implementation

  • Just because we have written our PRD and TDD doesn't mean it's set in stone

  • Those two documents should be living documents

  • As implementation occurs, and life continues, requirements and technical issues can arise and change

  • We then modify the PRD and TDD accordingly

Note!

  • Changing PRD and TDD has implications, and those should be called out, including

    • Increase in scope = increase length of time takes to implement

    • Change in requirements = increase length and complexity of solution

    • Technical understanding increases = gives more insight in what is possible and how long it will take, can modify timeline

    • Technical limitations discovered = can impact whether requirements can be implemented as described

Testing and Launch

  • Once all parties are good with the feature set implemented we go to launch

    • Very rarely does this include everything in the PRD

    • Many times there are high priority or must have items that are implemented that go in the first version

    • Subsequent features can go in next versions

Questions?

PRDs and TDDs

By kayashaolu

PRDs and TDDs

  • 205