Kung fu Programming

8
Kung Fu Programming Agile Programming lessons from Kung Fu Panda * Vishnu Vettrivel - @cloudronin * Kung fu Panda is a property of Dreamworks Animation

Transcript of Kung fu Programming

Page 1: Kung fu Programming

Kung Fu Programming Agile Programming lessons from Kung Fu Panda*

Vishnu Vettrivel - @cloudronin

* Kung fu Panda is a property of Dreamworks Animation

Page 2: Kung fu Programming

Test Yourself

Start where you are Know where you are Better to fail fast The more rigorous the better The more variety the better Automated Test are the best Keep adding to your Test Gauntlet

Page 3: Kung fu Programming

Improve yourself Integrate Frequently (Every

day) Run different kinds of Tests

Unit Tests Integration Tests Accuracy tests

Run tests with every check-in Use CI Tools like Jenkins Use plugins to measure and

analyze Never leave anything

unintegrated at the end of the day

Page 4: Kung fu Programming

Live by a Common Code Tabs vs Spaces Curly braces Coding conventions Naming conventions Source code layout Test frameworks Languages and Libraries Tools and Platforms Build systems Code Review process Branching workflows

Page 5: Kung fu Programming

Pair up

Pair Program when you can One Drives, other Navigates Helps reduce bugs Helps troubleshoot Spreads Knowledge Long-term productivity goes up

Especially useful to do when: mentoring new hires high-risk tasks Start of a new project Adopting a new technology

Page 6: Kung fu Programming

Team up

Meetings need not always be scheduled

Hallway conversations are good Be within earshot of your team Ask for help if you get stuck Succeed and Fail as a Team Self organized teams are the ideal.

Page 7: Kung fu Programming

Live in the now

Things are simpler when you do

Design for Future, Code for the Now Remember You Aren’t

Gonna Need It (YAGNI) Remember the KISS principle

Strive for Simplicity Don’t code for more than

what's needed by the acceptance criteria

Ship tested, prod ready code every sprint

There is no magic Ingredient

Page 8: Kung fu Programming

Find your Inner Peace

Distractions are everywhere Feature adds Bug Fixes

Distractions add to Tech Debt Refactoring is meditation Trigger events for refactoring:

Distractions Code Duplication Code smells

Learn to Balance distractions and Meditation every Sprint Maintain your Inner peace