Test-Driven Development Training

This immersive, multi-day in-person or online program allows you to apply advanced Scrum and XP development practices such as ATDD, TDD, refactoring, pairing, and continuous integration by providing the experience of working on an Agile team to build the core of a major application.

In this two or three-day hands-on TDD training class, which is a follow-on to our Agile Software Developer Essentials class, you’ll apply the principles and practices you learned there to an actual software project, which provides an ideal context for exploring critical Agile development practices to identify and solve a range of software problems.

Experiencing this fresh approach to software development will enable you to formulate the key questions for determining the best trade-offs in your designs. You’ll improve your ability to estimate work accurately and collaborate more effectively, making you a more valuable member of any development team. You’ll discover how to build high-quality software from stories in short iterations and rapidly emerging solutions through refactoring and test-driven development. By the end of class, you’ll have gained experience using various Agile development techniques and forming productive work habits that will last a lifetime.

Course Benefits

You will leave this test-driven development course with practical, first-hand experience in pair programming, test-first development, discovering design patterns, key refactoring, testing un-testable code, breaking dependencies, and many other techniques for building higher quality software more rapidly and with fewer defects.

The skills you acquire will give you a foundation for success to serve you in all your future development projects.

Who Should Take This Course

This training is for software developers and all other members of development teams who have taken our Agile Software Developer Essentials training and want to apply the skills learned there to an actual, hands-on project. This course will benefit Architects, Developers, Development Managers, Programmers, QA Engineers, Software Engineers, Technical Leads, and Testers. Software-development skills in Java or C Sharp are required. Intensives are a great way to give a development team the full experience of rapidly delivering high-quality software in sprints.

Agenda

Day 1–Test-Driven Development

  • Introduction
  • Lab 1-A: Iteration Zero
  • Lab 1-B: Writing the Test First

Day 2–Discovering Patterns

  • Design Review
  • Lab 2-A: Adding an Optional Behavior
  • Lab 2-B: Adding Multiple Optional Behaviors

Day 3-Advanced Techniques (Optional)

  • Design Review
  • Lab 3-A: Mocks and Shunts
  • Lab 3-B: Refactoring Legacy Code

Except for daily debriefs and code reviews, this TDD training class consists entirely of programming exercises you work on with other developers to build the core of a major application. Exercises are typically done in Java or C Sharp, but it may be possible to use other programming languages.

Your Instructor, David Bernstein

David BernsteinMy continuing passion for software design and construction has led me to train more than 10,000 developers in the last twenty-six years for clients that have included Fortune 500 firms such as Microsoft, IBM, Yahoo!, Boeing, AT&T, Sprint, Medtronic, SunGard, State Farm, MetLife, and Weyerhaeuser. As a longtime IBM consultant, I trained software engineers around the globe, giving them the skills to write the next generation of applications and operating system software while earning one of the highest satisfaction ratings in the history of IBM education. Since 2006, I’ve devoted my consulting practice to providing organizations with training and coaching for software developers and teams transitioning to Agile and Scrum.

Praise for David’s Training

“I was skeptical about TDD at first but now I’m convinced of its value. These practices give a good taste of TDD.”
—Karuna Pydipati, Senior Developer, StubHub

“Definitely take it, no matter what your level. You will find it very useful.”
—Yem Huynh, Software Engineer, StubHub

“Don’t miss it, this TDD class will help.”
—Copal Patwa, Technical Lead, StubHub

Become a more proficient developer— contact me to arrange a private, on-site session for your team.

View a pdf version of this course description