How to decide where to start with Test-First - ATDD or TDD

May 10, 2018 — Posted by Al Shalloway

More companies are learning that they need to adopt some form of "test-first." This is great. But which to start with can be confusing.

eXtreme Programming (XP) introduced TDD. It is really more of an analysis & design technique of writing the behavior of your methods into tests & then implementing them. It improves design & code quality. It makes for easy automation of the tests. Without proper training, however, it often ends with test maintenance being a high cost.

TDD usually has a high cost of entry & doesn't address the bigger problem of getting clarity on what needs to be done from the customer's perspective.

ATDD, on the other hand, is something that can be done on any system. It is about Acceptance tests and lives more at the feature and story level. ATDD is a better place to start as an organization because it encourages POs and devs to work together, gets clarity on the requirements & works well with MBIs to keep focus. ATDD can also be phased in more easily See Software Development Skills Roadmap How to start with ATDD/BDD and Learn ATDD by doing (for SAFe ARTs, or 1- 10 Scrum Teams) for reference.

Read our full post How to Decide Whether to Start with ATDD or TDD to learn more.

When you want to go test-first, I suggest you get a consultation with someone who teaches both ATDD & TDD to determine where it is best for you to start.

 

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Al Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With 45 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban