Kung Fu Programming
Agile Programming lessons from Kung Fu Panda*
Vishnu Vettrivel - @cloudronin
* Kung fu Panda is a property of Dreamworks Animation
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
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
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
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
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.
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
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

Kung fu Programming

  • 1.
    Kung Fu Programming AgileProgramming lessons from Kung Fu Panda* Vishnu Vettrivel - @cloudronin * Kung fu Panda is a property of Dreamworks Animation
  • 2.
    Test Yourself  Startwhere 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
  • 3.
    Improve yourself  IntegrateFrequently (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
  • 4.
    Live by aCommon 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
  • 5.
    Pair up  PairProgram 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
  • 6.
    Team up  Meetingsneed 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.
  • 7.
    Live in thenow  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
  • 8.
    Find your InnerPeace  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