
Building and maintaining RIGOUR
-
PAIR PROGRAMMING
Why do pair programming?
-
High eNPS (73-87)
-
Better Connections and Relationships
-
Remote Anxiety
-
They caught up to same velocity eventually as that of non pairing velocity
-
Fast Onboarding ⇒ shipping code to prod on day one, better internal transfers.

How to do it?
- Driver Navigator
- For an idea to go through Navigator’s head to the code it must go through the Driver’s hands ✨
- Switch Periodically
- Senior/Junior is immaterial
- Avoid line by line instructions
- Seniors take up additional responsibility of mentoring
- Proper balance between focus and pair time
- Switch pairs regularly ⇒ even if the pair is doing good
- Switch pairs at the end of sprints even if Work In Progress ⇒ effective litmus test helps you identify if you are doing it right.
- Routine health checks with teams
-
TDD
Why did they picked it??

Effects
- Uptick in quality
- TDD and PP both together is big positive gains
How to do it
- Have seniors who know TDD
- Pair Programming
-
Trunk Based Development
- Builds a sense of ownership. If you create a bug you go in and fix it.
- Mismatch between long lived branches
Results
- Faster Code Reviews
- Teams respond quicker to urgent/imp bugs
How to Do it?
- Fast Builds < 1 min ideally
- 15 min git push to prod including build no manual approval anywhere
- Enable focused tests ⇒ 1 file runs only 1 test
- Good laptops not a problem here I think we all have m1s :)
- Enable setting up any dependency
- Must have automated and manual testing setup
- Code Reviews not on PR (PR are used as a mean of communications) they do it on this https://tuple.app/ or VS Code pair sessions
-
On Call Rotation
Observations?
- Team members who did well on calls did really well on performance reviews. Now you know what to do till March performance reviews arrives xD
EASE OF VERIFICATION
- Testing
- Instrumentation
- Observability
- Feature Flags
REDUCE OPERATING FRICTION
- Infra as code
- Immutable Infra
- Pipelines
- Playbooks
NOTES FROM RANDOM SECTIONS:-
- Move your QA team away they make your engineers laazy xD
- Make short lived feature branches