Many companies waste time and money when they expect team members to learn by trial-and-error, which takes years. Alternatively, companies provide access to books, courses, and training; however, the problem is that the team cannot apply this knowledge in practice, or even worse, applies the knowledge incorrectly without receiving any feedback from someone experienced. Through our coaching of TDD, Clean Architecture, and Clean Code:
We help accelerate the adoption of technical best practices in a few months, rather than the team struggling with trial-and-error learning through years
We help you reduce the long-term maintenance cost of the software product, accelerate future delivery and reduce defect rates to increase your customer satisfaction
We enable you to scale your teams by having a solid technical foundation; the team being coached can spread knowledge across the company to scale success
Schedule: 3 x 1hr sessions per week. Duration: 3 months.
Note: We do not have restrictions regarding team size, but recommend around ~ 5 members. If the team is much bigger, it reduces learning effectiveness. In most cases, there is just one team throughout the engagement, but the team composition may be changed.
Coaching Team
The team who is involved in coaching:
Team members are the team (or a subset) of the team who participated in the Assessment
We require that the same Team Lead who was in the Assessment is also involved in Coaching
The team involved in coaching typically consists of the following:
1 Team Lead - we expect that the Team Lead is skilled in Backend Development
4 Developers - these are typically Backend Developers; they may also include Embedded Developers
The tech stack typically includes one or more of the following: Java / .NET / NodeJS / Python / C / C++.
Notes: We recommend a team size of around ~ 5 members in total so that everyone can receive adequate attention during coaching. We recommend choosing a team with technical excellence characteristics and a strong intrinsic motivation for learning. As is written above, we only include Backend and Embedded Developers. The following are NOT included: Frontend Developers, Machine Learning Engineers, and QA Engineers.
Organization
We agree with the Client regarding mutually acceptable session times (this was already discussed at the beginning of the engagement to ensure feasibility or even earlier during the contract reservation)
A Client representative (generally, the Team Lead) takes on the role of the Meeting Organizer, so they book and manage the events (see Organizers)
Session Format
Sessions are remote, conducted using Video Conferencing Tools (e.g. Zoom / MS Teams / Google Meet)
Sessions involve the Coaching Team as listed above
Sessions are conducted using Pair Programming and/or Mob Programming techniques
Sessions include code screen sharing, whereby the Team Members will rotate turns as presenters who share their screen with the code
Transformation
For an existing product, we coach the team in setting up the right architecture to support testability, retroactively writing tests, and also refactoring the code
After the foundations are established, we may then proceed to apply TDD and other practices for new user stories as well as bug fixes, based on tickets in the sprint
Scaling
For clients which have indicated the goal of scaling best practices:
If the goal is to scale the existing team, then during our Coaching sessions we may take turns with the Team Lead to practice coaching skillsets
If the goal is to scale the practices across the company, then the Engineering Leader would also be present during the sessions and we may act as co-coach with the Engineering Leader so that they can build Internal Coach capability within their company