Note Driven Development (NDD)
March 15, 2018
Note Driven Development (NDD for short) is my take on the rubber ducky debugging technique with an added bonus. Before I begin explaining NDD let me describe what rubber ducky debugging is:
In software engineering, rubber duck debugging or rubber ducking is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.
The rubber ducky technique actually works and gets to the same outcome of explaining your problem to a co-worker or friend. But I see it as short lived and comes in only after you've already written code. With NDD it solves the same problem and takes it steps further by starting earlier in your process, adding documentation to your code, adding tests before you begin, and can be used for reference at a later date.
Instead of talking out-loud in the office to a rubber duck and looking like a crazy person, write down your task breaking it down into single sentences, similar to a check list.
Let's take the following task and break it down to give you an idea of how to use NDD.
Goal: Create a pop-up that asks the user to confirm deleting a note.
Steps:
- User clicks on a delete button
- User is presented with a pop-up
- User clicks a button to delete their note in the pop-up
- Note is removed
- User clicks on a delete button
- User is presented with a pop-up
- Create a pop-up that is centered on the page
- In the pop-up it has a header text that says: "are you sure you want to delete your note?"
- Button 1: "cancel"
- to not delete the note, which closes the pop-up
- Button 2: "delete"
- to confirm that you want to delete the note
- User clicks a button to delete their note in the pop-up
- Removes your note
- Closes the modal
- Note is removed