Requirements & Design
Scenario
- You get an assignment and dive into coding
- Once you get to the end, you test it out and realize it isn't doing what it needs to do
- You work on a problem to connect two components, only to find out that A and B are incompatible after hours of work
Key Takeaways
- Requirements should be defined as early and completely as possible
- Requirements should define test cases, which define designs, which defines code structure
- Designs can help uncover and find solutions to potential implementation problems
- In many cases, writing software from a design is a lot easier than designing as you go
- It's ok if some requirements or details are unknown at the beginning
- Follow the Test Driven Development process