Technical Agile Coaching
This book is 60% complete
Last updated on 2020-03-28
About the Book
Agile Coaching helps an organization to be more successful, by increasing agility. Techincal Agile Coaching is a kind of Agile Coaching that specializes in technical questions concerning how code is written. It's an aspect of agility that is often glossed over, and can be crucial for success. This book explains the best approach I know of to increase agility amongst software developers. You help them improve coding practices and how they collaborate. It's fun and challenging for the coach too.
The method involves doing mob programming with development teams, working in their production codebase. To complement this hands-on mentoring, you do short daily teaching sessions using exercises to learn particular techniques. In this book you will learn about this coaching method and how to do it in practice. From the details of daily coaching work to marketing your services and how to find a suitable assignment. It is a practical handbook for an aspiring coach and contains fresh ideas for an experienced coach looking for new ways of working.
- Why would you engage a Technical Agile Coach?
- Why would you choose to become a Technical Agile Coach?
- Structure of the book
- How this book relates to my other books
Part 1: Mob Programming
Mob Programming gives you superpowers
- Everyone understands the code
- Skills are multiplied
- Visitors are quickly contributors
- Joining a smoothly functioning mob
- A Coach is a Visitor with an Agenda
Coaching Behaviours in the Mob
- Take Short Breaks
- Breathing space between sessions
Kindness, Consideration and Respect
- Woody’s Legacy Code rule
- Yes, and
- Take time out
- Too much thinking at the keyboard
- I think <name> has a good idea we should listen to
- Consideration means paying attention
Coaching situations illustrated with stories
- What should we do now?
- Mob, help your navigator
- Can we do an experiment?
- Discover scenarios
- Do you have a test for that?
- Driver, use your shortcuts
- Consume-First Design
- How long is it since we saw feedback?
- How long is it since we made a commit?
- Only one person knows what’s going on
- Nobody knows what is going on
- Chapter Summary
- Ask for Observations
- “Liked, Learned, Lacked” Observations
- Your private retrospective
- Retrospective skills are essential
A First Day with New Teams
- Present yourself
- Meeting with each team
Remote Mob Programming
- Seeing people’s faces
- Be considerate and time your comments
- Take breaks
- Make it quick to change drivers
- Driver lag is deadly
- Design discussions
- Mob Programming gives you superpowers
Part 2: Learning Hours
What should you be teaching?
- Themes and Deliberate Practice
Explaining why you should hold a learning hour
- Why should you spend a whole hour every day on learning?
- Learning TDD is like learning to ski
Teaching and learning theory
- The ‘4C’ learning model
- Awareness, Proficiency and Fluency
- Remote learning hours
- Your first ten learning hours
Working in Small Steps
- First steps with TDD - Leap Years
- Selecting and ordering test cases with FizzBuzz
- One function at a time with Yatzy
- Tests Drive Shopping Basket
- Lift Kata with Approvals
- Long Function and Extract Function
- Misconceptions about Refactoring
- Replace Conditional With Polymorphism
- Approval Testing plain text strings with Verify
- Using coverage when adding tests to existing code
- Gilded Rose Demo
- Combination Approvals
- When does design happen?
- FizzBuzz - how does TDD affect your design?
- Testing Private Methods with Yatzy
- The Dependency Inversion Principle
- Arrange - Act - Assert
- Start with the Assertion
- Unit testing styles with Leap Years
Discovering Scenarios for a User Story
- Discover Scenarios for the Train Reservation Kata
- Discover Scenarios for the Theater Kata
- Discover and Formulate Scenarios for the Lift Kata
- What should you be teaching?
Part 3: Becoming a Technical Agile Coach
Bootstrapping your coaching career
- Preparing for a coaching career
- Ideas for how to get started
- Working with a Mentor coach
Finding an organization and teams to engage with
- What to look for in an organization to coach
- Preparations before you arrive on-site
- After the coaching
- Find a Mentor or Peer Coach
Frequently asked questions
- How can you learn Mob programming?
- Should you use a branch for the code you mob on?
- Why only Mob for Two Hours with Each Team?
- What if there are less than 2 teams in the organization?
- What if the team works on more than one programming language?
- What if there are hundreds of teams in the organization?
- What’s the difference between a Technical Agile Coach and a Tech Lead or Architect?
- What is the most important thing to remember?
- How did you become a Technical Agile Coach?
- Bootstrapping your coaching career
- Code Coverage - Warm-Up Questions
- Leap Years
- Refactoring Principles - Warm-Up Questions
- Shopping Basket Discount
- Yatzy Categories and Scoring Rules
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.