I'm observing a team writing code as an ensemble without TDD. I am selfishly delighted in the confirmation of how valuable TDD is to me as I use it. The team is implementing a new function that's doing list of list manipulation and returning something. They are all over the place with naming things, creating objects, streaming, mapping, flattening maps, return object, variables, naming...so many squirrels. Too many squirrels to even really focus on "what's the simplest first thing we could do?" TDD is so much more than writing a test first. It's a framework that helps me focus, prioritize, structure, and order my thoughts. Test Driven Development is an immensely helpful design and focus tool. I should also note, that I am beginning of working with this team and meeting them where they are. #codelife #devlife #TDD #testdrivendevelopment #unittesting #designthinking #problemsolving #structuredthinking #focus #mindset #toomanysquirrels #codingchaos
"Programming is the art of doing one thing at a time" I find that TDD is the best framework to support this.
You can continue doing TDD regardless of what your team is doing, no?
Agreed. TDD is not really a testing activity, it is a design activity.
🧟♀️ Brains… 🧟♂️ Brains… 🧟♀️ Brains… No, this is not random trolling, this is a reference to one of my most favorite articles about TDD, by James Grenning, https://blog.wingman-sw.com/tdd-guided-by-zombies
A little bit of design, first, can go a long way...
I would start by not involving a whole team to write one function?
With or without TDD, this isn't an ensemble. It's an orgy. Brains out, dive straight in, no plan. If TDD helps you come up with your plan, great! Otherwise, whiteboards, spreadsheets, napkins, rubber ducks - take your pick. Just have a plan before you start writing code.
TDD doesn't fix all of those problems, but it's a good foundation. I'm not sure I remember how to write code without using TDD.
TDD as a framework for bringing focus to your work is very insightful Steve Kuo. The question is how do we demonstrate that without instant pushback?
Organisation Development Consultant and Lean-Agile Enterprise Coach & Trainer. Sustainability Consultant.
7moI wonder why -in my contexts- so few practice TDD, if for decades it has proven to be so helpful for so many. Why hasn´t it become the norm, the default? People are willing to put effort in learning the lastest fancy language or framework, but not to learn TDD or Clean Code. Why is that?