Full session (30 minutes)
Engineering
methodology
startup

Advocates of TDD often refer to Emergent Design as the holy grail - allowing design to emerge via small cycles of test-code-refactor is an excellent way to yield a lean, simple system that is adaptive to changes - thus being maintainable over time. But what do we do when reality forces us to adhere to some (Big Bad) Upfront Design?

For years, I thought the two are incompatible, but when forced with hard requirements I had to adapt, and accidentally stumbled upon an excellent way to combine the two, allowing us to quickly grow a team and parallelize work early and efficiently.

This talk is a case study of how we did that.

Shai Yallin