A significant portion of the team was composed of the original development team. The ones that gave us all the technical debt to begin with.
Not only were we coaching a new product owner and business partner, we we coaching a new team.
So much to learn. Developer pairing, iterations, show and tells, iteration planning meetings. Would it be possible to take the groups of developers that created the mess in the first place to build an agile team that would deliver on time and budget with quality?
It was clear. We needed help. Our engineering practices were weak. Given all the side effects in the software, we decided to introduce test driven development or TDD. But how? Who knew it?
Thus we sought the sage advice of a seasoned agile developer. We put a plan in place along with an embedded coach.
Teaching a TDD class would not be enough. No developer was going to have the courage to work through the learning curve of TDD under project pressure. Frustration would give way to the old way. The class would soon be forgotten.
So we placed an embedded TDD coach on the line. One that would spend one week of every month on the team, pairing with developers. We would do this for 4 months.
We also made TDD visible. At each standup each developer would identify the number of test they wrote. This helped drive accountability to the practice and to the team. The team kept a count of automated tests on a big visible chart. As the numbers increased so did the team's pride and commitment to the practice.
Thus, class room teaching followed by on the job training from the embedded coach and making the change visible enabled the culture of the team to change. Like a kata, the team used repetition to take what was new to own TDD. All guided by the embedded coach who showed them how to use tests to drive development and make commitments.
As code was touched, TDD was laid down. Defects dropped. Test automation led to full unit testing with ever check in. Over the next several months, side effects disappeared and become but a bad memory.
- Posted using BlogPress from my iPad