TDD Code katas promote mastery through repetition. They also promote collabaorative coding and thinking across a team, leading to greater cohesion, trust and utlimately, performance.
Run each kata on a new branch. Invoke
Create-KataInstanceBranch
..from master to take care of that.
The kata consists of a zoom call which will last for a maximum of 40 mins.
Each kata runs in a branch off Master the root of master, ensuring the same kata is ran from the same starting point each time.
The outline for the Roy Osherove StringCalculator kata is in the roo ot the repo and is linked as a solution item in the Katas folder so it is easily accessible from within VS.
This willl kata emphasises heavily on the red-green-refactor philosophy which is an essential core competency for future development.
During the kata, the following steps are followed
- One person has control of the keyboard (the pilot) and shares their screen allowing others to watch them type.
- One person acts as co-pilot, they discuss and decide what to type
- All other people involved in the kata observe and may make suggestions to the coding pair, but they could also research ways to assist the coding-pair if they've ran into any issues.
- Using the minimum amount of clean code, the pair design and write a breaking test, ensuring the test fails.
- The pilot commits the code.
- The co-pilot then becomes the pilot, sharing their screen and a new co-pilot steps up to assist the pilot.
- The pair then write just enough code to make the breaking test pass.
- The pair refactor the code to ensure it is clean and in a maintanable state.
- The pair then decide upon the next peice of functionlaity to test for.
- Goto 4!
After 30mins of coding, wrap up with a 5 minute retrospective, discussing what went right and what could have been done better. Repeat daily.