Choose your language:
TEKsystems developed and delivered a multifaceted learning program for a large financial services company around test-driven development, including content development, team and leadership training, coaching, informal educational activities, and a coach development program.
Our client is a Fortune 500 diversified financial services company that has been serving its customers for over 150 years. TEKsystems became a preferred training partner of the client’s in 2007. We began delivering Agile training in 2009 and became a preferred Agile vendor in 2014.
With the proliferation of applications, shorter development life cycles and growing security concerns, the importance of software quality has never been greater. To adapt to these new demands, developers are “shifting left”—they are becoming more involved in testing and including it as part of their development process.
Test-driven development (TDD) is an incremental software development approach that is common in Agile environments. TDD closely aligns coding, testing and design. In a TDD scenario, a developer first writes a test that fails, and then writes “just enough” code to make it work. Once the solution has sufficient code in place to make the test pass, additional effort goes into refactoring and improving the solution code. In short, TDD inspires simple, testable designs and provides visibility via feedback loops leading to fewer surprises during testing.
More organizations are seeking support to help their teams adopt Agile concepts and practices, including TDD, because the Agile mindset is a fundamental shift from traditional methodologies, e.g., Waterfall. However, to truly ensure new practices are understood and adopted, organizations need to invest in a comprehensive learning program that includes education (learning through structure), experience (learning through collaboration) and exposure (learning through practice), as well as coach development to build internal capacity.
Our client, a large financial services company, has invested heavily in transforming the culture of their software engineering teams toward an era of enhanced code quality, code coverage and testing through adoption of Agile practices. TEKsystems has supported the company’s Agile adoption efforts since 2009, and we became a preferred Agile training and coaching vendor in 2014.
Enterprise-wide, the company was focused on speed to market, and TDD was a critical component of that initiative. The team believed adoption of TDD would allow them to achieve their speed-to-market, consistency and quality goals.
Without TDD subject matter expertise internally, the team looked to external support. They were aware of TEKsystems Agile Transformation Services because of our position as a preferred Agile vendor with the company, as well as our success in helping several other teams adopt Agile practices. The team initially approached TEKsystems to deliver instructor-led TDD training for leaders and some of their developers.
We first met with the client’s team to get a better understanding of their needs to develop a TDD training program that would help them achieve their goals. Over multiple discussions it became apparent that instructor-led training would only help with the education aspect of TDD. To fully achieve their adoption goals, team members would need a comprehensive program that included classroom training, coaching and practice. They would also need to build internal capacity to ensure sustained success, i.e., building internal coaches.
TEKsystems proposed building and executing a multifaceted learning program to help their team adopt TDD and achieve a culture of sustainable TDD success. The program would involve team member and management training and hands-on practice, as well as building internal training and coaching capabilities for self-sufficiency and sustainable adoption, as the client did not want to be reliant on an external vendor long term.
The multifaceted program would entail:
Our program helped increase excitement and sustain momentum with TDD adoption across their team. The client has seen continued growth with adoption of TDD practices amongst developers who are leveraging TDD to drive better designs that are simpler, higher quality, and have improved maintainability and extensibility. The team has increased visibility and transparency into their work, and improved planning and predictability via automated test execution. Moreover, we helped improve quality by reworking and enhancing quality assurance (QA) during development. With the development team sharing some of that burden, they will ultimately be able to go faster.
More than 45 developers have gone through the coach-the-coach program. The candidate coaches were identified by client management as people they wanted supporting the rest of the development team. The client’s internal coaches are now leading TDD training and coaching sessions on their own.
Because of the content and structure we built, the client has the internal capability to sustain TDD education for future employees. TEKsystems is now working to help the team with their overall Agile transformation.
Initially the client wanted to hire one IT professional to handle their TDD training and adoption. They submitted a requisition via their staffing vendor management system for someone with experience with training content development, training delivery, as well as experience in multiple platforms (e.g., .NET, Java). TEKsystems recommended a more cost-effective and efficient solution—a team of subject matter experts providing just-in-time fractional support. Because of the depth and breadth of TEKsystems’ services, we could provide a level of flexibility in bringing in the right skill sets when required without the expense of a full-time resource.
TEKsystems has a history of success as a proven training and Agile vendor for this client. Our position as a preferred Agile partner gave the team confidence that we could deliver a comprehensive learning program that addressed the needs of professionals with different skill sets.