Many teams struggle to deliver modern software because they are not building with Test 🧪 First Principles.
☝️ You are doing it wrong if you are not using the test first
You will hear a lot of different terms bandied about in relation to test first:
Test-Driven Development (TDD)
🤗 Acceptance Test-Driven Development (ATDD)
🎬 Behaviour Driven Development (BDD)
Find that which solves your specific problem and adapt until you have something that works for you, your team, and your organization.
The essence of test first
Test First has two main goals, which are as important as each other.
✅ The first is about professionally validating that which you have built.
➰ The second goal is to shorten your feedback loops.
Fundamentally it is far cheaper to fix an issue closest to its source.
The three virtues of Test First:
1️⃣ Validation of building what was asked for
2️⃣ Validation that what we have built works as we intended
3️⃣ Validation that changes have not broken the original intent
👨💼 Business Validation – We have built what was asked for
We need to have the tests created first (the measure) and then Code to make the tests pass.
Now we can take that time and use it to create even more value for our customers.
👨💻 Developer Validation – What we have built works as we intended
There are two main value-adds here.
👌 The first is that when a coder creates functionality it does exactly what he intended and we have a record, and executable specification, of what that intent was.
The second comes later.
🔨 When we go to add functionality later we know when we have broken existing functionality, which is one of this endeavor's most valuable parts.
#scrum #tdd #test
full article👉 https://www.scrum.org/resources/blog/if-you-are-not-doing-test-first-then-you-are-doing-it-wrong