Building a Productive Software Team in the First 90 Days - a 5 Step Guide for CTOs
As a newly appointed CTO or Engineering Leader, the first 90 days in the role, company or project is a critical time; get it right in this quarter..
We begin this journey through the simplest TDD katas. Below, you will find a list of them along with a link that will take you to a detailed explanation of each one and the solved exercise.
In each link of every kata, you'll find an introduction that will help you get context, followed by the details you need to execute it. And remember: the best way to learn and improve is by practicing. Shall we begin?
FizzBuzz: This kata involves conditionals, parameterization of different cases, and it is recommended to take baby steps to reinforce the importance of "fake it until you make it" and ensure that tests fail only for the right reason. One of the recommendations we usually make is that while doing the kata:
Iteration 1: TDD cycle + Baby steps
Iteration 2: Work on the TPP (Transformation Priority Premise)
Iteration 3: If a test fails, revert changes (Test commit or revert)
Leap year: This kata presents a slightly more complex algorithm, perfect for working with nested conditionals.
Iteration 1: TDD cycle + Baby steps
Employee Report: Kata to start learning about loops and/or higher-order functions, as well as working on making good assertions.
Code Syntax: Works on algorithmics, data structures, or state machines.
Bowling: Kata designed to practice TPP.
Stack: With the introduction of Objects, this kata poses the challenge of constantly thinking about possible modifications to this object, making us aware that it is an object open to modifications. Therefore, our tests should not be coupled to the implementation of this object. It is mandatory to use baby steps and the TPP so that one of our tests is not testing too many things at once or that our tests know too much about the implementation.
Iteration 1: TDD cycle + Baby steps (important: tests must be deterministic and fail only for one reason)
Iteration 2: If a test fails, revert changes (Test commit or revert)
Learn about the difference between a "public" and a "published" API; it is important to understand when we are testing a library that must have an open API/Interface/Contract so that it can solve unknown problems, versus implementing a business functionality that solves one clear problem, and the API/Interface/Contract can be more closed, as we know exactly the use that will be given to our code.
As a newly appointed CTO or Engineering Leader, the first 90 days in the role, company or project is a critical time; get it right in this quarter..
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
Our recommendation is that you first go through Object-Oriented Programming katas so that you can move on to more complex testing concepts. If so, we..
Join our newsletter for expert tips and inspirational case studies
Join our newsletter for expert tips and inspirational case studies