Centric Leads Several Test Driven Development (TDD) Workshops

Over the course of the next few months Centric will conduct several Test Driven Development (TDD) Workshops. Shawn Wallace, a Senior Architect and National Lead of the Application Development and Application Lifecycle Management Practices, will lead all workshops.

TDD Defined

TDD is a powerful software development practice for combining software design, unit testing and coding in a continuous process to increase quality, maintainability and productivity. Using TDD, developers build software in short development cycles following a workflow pattern called Red – Green – Refactor:

1. (RED) The developer writes a failing automated test case that defines a new function or improvement

2. (GREEN) Write minimal code to pass that test

3. (REFACTOR) Refactors the new code or existing code to acceptable standards

The developer repeats this process many times until the unit is complete and fully tested.

During this workshop, attendees use code “katas” and pairing to practice the techniques. Participants also work on one or two code labs specifically crafted to encourage object-oriented thinking and design through test-first and merciless refactoring. Any IDE and language available can be used as long as the micro-testing framework (e.g., JUnit, NUnit, rSpec) is also available. Attendees explore the TDD discipline at their own pace, in a low-stress environment, with frequent opportunity to get personalized assistance from Shawn and other members of the Centric team.

Audience

Developers who are interested in introducing TDD into their team’s toolbox of powerful software engineering practices are the ideal audience segment. Perhaps these developers have tried to encourage the TDD discipline already, but want more first-person experience in order to address concerns back home. Participants should be proficient in a modern object-oriented language.

Schedule

The emphases of the sessions are on learning by doing. Some preliminary demonstration and discussion will take place, but lengthy debate will be forgone in favor of spending enough time on the labs. Each participant receives personal attention from the Centric team.

Sample schedule:

(60 min) First session presentation

Introduction

The Case for TDD

Types of Testing

Example

(120 min) Pairing session. 30-minute sessions executing any of several code katas.

LUNCH BREAK

(60 min) Afternoon session presentation

Design for testability

How to get started on my project

(120 min) Pairing session, Legacy refactor

Learning

  • Learn how to use one of the xUnit family of testing frameworks (for this workshop, both JUnit and NUnit will be available).
  • Learn test-first as a thinking process.
  • Learn the advantages of automating micro-tests.
  • Learn how TDD has been known to reduce defect rates by 80 percent.
  • Learn merciless refactoring as a code design tool.
  • Learn how TDD enables Emergent Design and can improve architectural-change cycle times.

About Shawn Wallace – Presenter

Shawn Wallace has more than 20 years of software development under his belt. When he was introduced to TDD in 2007, it was truly a turning point in his career. He uses TDD on a daily basis. During each workshop Shawn demonstrates the basics and conveys the subtle, “test-infected” mindset that drives developers to appreciate, adopt and even enjoy working this way.

Working primarily with Microsoft tools and technology, Shawn has been building software for a variety of clients and even owned a software company for several years. He has been a certified trainer since 1997. Shawn is a former U.S. Marine Infantryman and enjoys all things tech, learning about new shiny things, building things, shooting sports and coaching his son in football and watching all of the awesome things his daughter does. Shawn resides in Columbus.

Interested in a workshop for your own company? Contact Shawn Wallace to learn more.