Layer Driven Development

Layer Driven Development
Photo by Ragul Ebinezar / Unsplash

My Friday Thought: It’s weeks like this that LDD (Layer Driven Development) comes into play.

Layer Driven Development (Cold-Warm-Reassess).

  1. Test is it cold
  2. If yes add layer (no continue as you are).
  3. Continue loop until you are warm
  4. Reassessment if you have reached the hard limit of turning on the heating

Test Driven Development at a high level focuses on a cycle of Red-Green-Refactor. The purpose here is to ensure the code that is written actually meets the need, so an engineer writes a small amount of test code first. This should fail and then code is written to meet the requirements resulting in the test passing. The final check is to refactor so ensuring what is written is maintainable, readable, performant etc.

Whilst this post is a little fun considering this approach to adding layers when you're cold, it makes sense. Test are you cold? Fix this if you are, then reconsider if your fixes are sensible - having four jumpers might highlight the acts you took weren't the best. TDD can often get called out as costly, time consuming and not always needed, however I would question this.

It makes sense to follow this flow in many ways outside of technology and within tech, the value isn't in the tests. It is the changing the ways of thinking, designing and approaching a problem.

For more insight into TDD read Kent Beck's 'TDD by example'