Understanding the Problem

One of the best ways to figure out what you have to do is to write it down. If I told you that I wanted a tip calculator application, would that be enough information for you to just go and build one? Probably not. You’d probably have to ask me a few questions. This is often called gathering requirements, but I like to think of it as figuring out what features the program should have.

Think of a few questions you could ask me that would let you get a clearer picture of what I want. What do you need to know to build this application?

Got some questions? Great. Here are some you might ask:

  • What formula do you want to use? Can you explain how the tip should be calculated?

  • What’s the tip percentage? Is it 15% or should the ...

Get Exercises for Programmers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.