I recorded this Google Hangout on air. It was automatically published on my Youtube account:
I showed my usual workflow of development, starting with Node.js require(‘assert’). Even when the under-development software should run in browser, I wrote it from console, using Node.js and a minimal library. As an example, see the commits of https://github.com/ajlopez/PLangRe that I use from the browser at http://ajlopez.github.io/PLangRe/)
In this first code, I didn’t think on callbacks. Maybe, in future requirements, I will refactor/redesign the code to support them. In that case, I could use MongoDb as an store. But I prefer to start simple and do “baby steps” instead of designing a lot at beginning.
When we follow the TDD workflow, software development is like a video-game: we are going from one level to the next, solving puzzles (making a test running in green). And then, applying refactor to minimize technical debt. The software grows organically, where each line of production code can be traced back to a test.
There is a second video.