Team Plans

Are you an Engineer Leader who wants to help bring Automated Testing & TDD to your teams working with Legacy Code? Would you like to enable your teams to deliver quality software faster with TDD? You’ve come to the right place. Based on my experiences coaching teams worldwide, I’ve created the TDD in Legacy Code series to help teams adopt TDD.

TDD Transformation Roadmap

Phases

The following phases are organized in sequence of ROI.

  • Acceptance Test Driven Development (ATDD)

    • Setup Pipeline Architecture to support Acceptance Tests

    • Adjust System Architecture to ensure Acceptance Testability

    • Introduce Acceptance Tests into Legacy Code

    • Apply Acceptance Test Driven Development for new User Stories & Bug Fixes

  • Component Test Driven Development (TDD)

    • Adjust Pipeline Architecture to support Component Tests

    • Adjust Component Architecture to ensure Component Testability

    • Introduce Component Tests into Legacy Code

    • Apply Component Test Driven Development for new User Stories & Bug Fixes

  • Unit Test Driven Development (TDD)

    • Adjust Pipeline Architecture to support Component Tests

    • Transform Big Ball of Mud to Hexagonal Architecture to ensure Unit Testability

    • Introduce Unit Tests into Legacy Code

    • Apply Test Driven Development for new User Stories & Bug Fixes

Adopting Technical Practices

Within each phase, we have the following process:

  • Stage 1. Training - I provide a short introduction to Automated Testing & TDD as well as the roadmap for applying these practices in Legacy Code

  • Stage 2. Sandbox Project - Developers apply Homework Tasks on their GitHub Sandbox Project (open source) by following the guides in the TDD in Legacy Code series. They might do this during their Learing Hours / Learning Days. When they’ve completed a guide, they comment with a link to their Sandbox Project so that I can review and provide feedback. We repeat this cycle. In case of additional support, I am available for remote face-to-face coaching.

  • Stage 3. Real Life Project - Developers translate the skills they learnt from Sandbox Project onto one Real Life Project. As they face any additional complexities (e.g. can’t apply some step in the guides to their Real Life Project), then they can comment on that guide, so that I can provide advice. In case of additional support, or need to share code under NDA, I am available for remote face-to-face coaching.

Scaling Technical Practices

With the Sandbox Project, and having applied it to one Real Life Project, this team acts as Internal Champions to spread best practices in the company:

  1. Use the Sandbox Project as the Reference Implementation of technical standards, use it in company’s internal Teck Talks & internal knowledge sharing sessions

  2. Continue to apply the Sandbox Projects to other Real Life Projects, and use it as a reference when supporting other teams to apply it. For example, the other teams can firstly try to implement a demo User Story on the Sandbox Project as practice, before applying it to their Real Life Projects.

  3. Use the Sandbox Project to onboard new developers. When companies join the company, they may spend the first few weeks doing a practice User Story on the Sandbox Project to understand the architecture and test approach, and then transition to applying those practices on the Real Life Project.

Get Team Access

You can purchase group access:

  1. Get group subscriptions for your developers (at a discount).

  2. Download invoices to expense this as part of your company’s Learning & Development Budget.

About me

My name is Valentina Jemuović, I’m a Technical Coach at Optivem.

As a Technical Coach, I’ve helped teams worldwide introduce TDD in Legacy Code, and now I want to help your team achieve the same. I will show your teams step-by-step how to introduce TDD in Legacy Code and provide them with feedback and support at every step of this journey.

What’s next?

You're an Engineering Leader who wants to help introduce Automated Testing in Legacy Code and help teams adopt TDD. Let's discuss the current challenges your teams are facing, and how we can bring change:

Book a call