SlideShare a Scribd company logo
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

More Related Content

What's hot

The Right Type of Prototype
The Right Type of PrototypeThe Right Type of Prototype
The Right Type of Prototype
Gail Swanson
 
Preocupações Desenvolvedor Ágil
Preocupações Desenvolvedor ÁgilPreocupações Desenvolvedor Ágil
Preocupações Desenvolvedor Ágil
Paulo Igor Alves Godinho
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Software Infrastructure
 
Presentasjon til temakveld for Visma Consulting:Specification by example med ...
Presentasjon til temakveld for Visma Consulting:Specification by example med ...Presentasjon til temakveld for Visma Consulting:Specification by example med ...
Presentasjon til temakveld for Visma Consulting:Specification by example med ...
Visma Consulting AS
 
“High performance teams" - Marco Cecconi
“High performance teams" - Marco Cecconi“High performance teams" - Marco Cecconi
“High performance teams" - Marco Cecconi
Speck&Tech
 
Danny Patterson: Slow Down
Danny Patterson: Slow DownDanny Patterson: Slow Down
Danny Patterson: Slow Down
sidneydekoning
 
Why You're A Bad PHP Programmer
Why You're A Bad PHP ProgrammerWhy You're A Bad PHP Programmer
Why You're A Bad PHP Programmer
KLabCyscorpions-TechBlog
 
Adopting continuous delivery in video games
Adopting continuous delivery in video gamesAdopting continuous delivery in video games
Adopting continuous delivery in video games
Jafar Soltani
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth Practices
Amir Shokri
 
The pragmatic programmer
The pragmatic programmerThe pragmatic programmer
The pragmatic programmer
Joel Corrêa
 
Jdojo@Gbg Introduction
Jdojo@Gbg IntroductionJdojo@Gbg Introduction
Jdojo@Gbg Introduction
Fredrik Wendt
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
Matt Griffin
 
Effort estimation
Effort estimationEffort estimation
Effort estimation
Hanokh Aloni
 
Adopting continuous delivery in video games - Pipeline Conference 2018
Adopting continuous delivery in video games - Pipeline Conference 2018Adopting continuous delivery in video games - Pipeline Conference 2018
Adopting continuous delivery in video games - Pipeline Conference 2018
Jafar Soltani
 
Feedback - The Lost Art of Agile
Feedback -  The Lost Art of AgileFeedback -  The Lost Art of Agile
Feedback - The Lost Art of Agile
Alexandru Bolboaca
 
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
UserZoom
 
What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developers
Andy Lester
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than EverTest Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
Kiryl Baranoshnik
 
Quality Spy Overview
Quality Spy OverviewQuality Spy Overview
Quality Spy Overview
AndreasKleffel
 

What's hot (20)

The Right Type of Prototype
The Right Type of PrototypeThe Right Type of Prototype
The Right Type of Prototype
 
Preocupações Desenvolvedor Ágil
Preocupações Desenvolvedor ÁgilPreocupações Desenvolvedor Ágil
Preocupações Desenvolvedor Ágil
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Presentasjon til temakveld for Visma Consulting:Specification by example med ...
Presentasjon til temakveld for Visma Consulting:Specification by example med ...Presentasjon til temakveld for Visma Consulting:Specification by example med ...
Presentasjon til temakveld for Visma Consulting:Specification by example med ...
 
“High performance teams" - Marco Cecconi
“High performance teams" - Marco Cecconi“High performance teams" - Marco Cecconi
“High performance teams" - Marco Cecconi
 
Danny Patterson: Slow Down
Danny Patterson: Slow DownDanny Patterson: Slow Down
Danny Patterson: Slow Down
 
Why You're A Bad PHP Programmer
Why You're A Bad PHP ProgrammerWhy You're A Bad PHP Programmer
Why You're A Bad PHP Programmer
 
Adopting continuous delivery in video games
Adopting continuous delivery in video gamesAdopting continuous delivery in video games
Adopting continuous delivery in video games
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth Practices
 
The pragmatic programmer
The pragmatic programmerThe pragmatic programmer
The pragmatic programmer
 
Jdojo@Gbg Introduction
Jdojo@Gbg IntroductionJdojo@Gbg Introduction
Jdojo@Gbg Introduction
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
 
Effort estimation
Effort estimationEffort estimation
Effort estimation
 
Adopting continuous delivery in video games - Pipeline Conference 2018
Adopting continuous delivery in video games - Pipeline Conference 2018Adopting continuous delivery in video games - Pipeline Conference 2018
Adopting continuous delivery in video games - Pipeline Conference 2018
 
Feedback - The Lost Art of Agile
Feedback -  The Lost Art of AgileFeedback -  The Lost Art of Agile
Feedback - The Lost Art of Agile
 
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (P...
 
What I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developersWhat I wish colleges and bootcamps taught software developers
What I wish colleges and bootcamps taught software developers
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than EverTest Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
 
Quality Spy Overview
Quality Spy OverviewQuality Spy Overview
Quality Spy Overview
 

Viewers also liked

The power of introverts
The power of introvertsThe power of introverts
The power of introverts
Christy Singleton
 
0 oh putain
0 oh putain0 oh putain
0 oh putainecyrbaf
 
Roberto González Fontenla. Reinvéntate hazte autónomo
Roberto González Fontenla. Reinvéntate hazte autónomo Roberto González Fontenla. Reinvéntate hazte autónomo
Roberto González Fontenla. Reinvéntate hazte autónomo
SalonMiEmpresa
 
Megaconsulting. Preve tu Cash Flow
Megaconsulting. Preve tu Cash FlowMegaconsulting. Preve tu Cash Flow
Megaconsulting. Preve tu Cash Flow
SalonMiEmpresa
 
Understanding sukuk
Understanding sukuk Understanding sukuk
Understanding sukuk
Arfan Afzal
 
Apresentação
ApresentaçãoApresentação
Apresentação
92560375
 
Chapter 05
Chapter 05Chapter 05
Chapter 05
andyburghardt
 
Let's Encrypt!
Let's Encrypt!Let's Encrypt!
Let's Encrypt!
Drew Fustini
 
Vgmc presenter
Vgmc presenterVgmc presenter
Vgmc presenter
rahman manan
 
Surviving the Internet in 2010
Surviving the Internet in 2010Surviving the Internet in 2010
Surviving the Internet in 2010
Saumil Shah
 
Журнал о металлоснабжении Сибирское металлоснабжение № 9 (154) 2015
Журнал о металлоснабжении  Сибирское металлоснабжение № 9 (154) 2015Журнал о металлоснабжении  Сибирское металлоснабжение № 9 (154) 2015
Журнал о металлоснабжении Сибирское металлоснабжение № 9 (154) 2015
Журнал о металлопрокате «Сибирское металлоснабжение»
 
Role of ethics and spiritualism in corporate
Role of ethics and spiritualism in corporateRole of ethics and spiritualism in corporate
Role of ethics and spiritualism in corporate
Dr.Deepanjali Mishra
 
Журнал о металлопрокате Сибирское металлоснабжение №12 (157) 2015
Журнал о металлопрокате  Сибирское металлоснабжение №12 (157) 2015Журнал о металлопрокате  Сибирское металлоснабжение №12 (157) 2015
Журнал о металлопрокате Сибирское металлоснабжение №12 (157) 2015
Журнал о металлопрокате «Сибирское металлоснабжение»
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
Aberla
 
Matemática Básica - Teoria
Matemática Básica - TeoriaMatemática Básica - Teoria
Matemática Básica - Teoria
Everton Moraes
 
Role of Social Networking sites on Gender Violence
Role of Social Networking sites on Gender ViolenceRole of Social Networking sites on Gender Violence
Role of Social Networking sites on Gender Violence
Dr.Deepanjali Mishra
 
WordPress und Mehrsprachigkeit
WordPress und MehrsprachigkeitWordPress und Mehrsprachigkeit
WordPress und Mehrsprachigkeit
frankstaude
 
Журнал о металлоснабжении «Сибирское металлоснабжение» № 12 (169) 2016
Журнал о металлоснабжении  «Сибирское металлоснабжение» № 12 (169) 2016Журнал о металлоснабжении  «Сибирское металлоснабжение» № 12 (169) 2016
Журнал о металлоснабжении «Сибирское металлоснабжение» № 12 (169) 2016
Журнал о металлопрокате «Сибирское металлоснабжение»
 
GEC 2016: Alana Ramo
GEC 2016: Alana RamoGEC 2016: Alana Ramo
GEC 2016: Alana Ramo
Mark Marich
 
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles ¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
SalonMiEmpresa
 

Viewers also liked (20)

The power of introverts
The power of introvertsThe power of introverts
The power of introverts
 
0 oh putain
0 oh putain0 oh putain
0 oh putain
 
Roberto González Fontenla. Reinvéntate hazte autónomo
Roberto González Fontenla. Reinvéntate hazte autónomo Roberto González Fontenla. Reinvéntate hazte autónomo
Roberto González Fontenla. Reinvéntate hazte autónomo
 
Megaconsulting. Preve tu Cash Flow
Megaconsulting. Preve tu Cash FlowMegaconsulting. Preve tu Cash Flow
Megaconsulting. Preve tu Cash Flow
 
Understanding sukuk
Understanding sukuk Understanding sukuk
Understanding sukuk
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Chapter 05
Chapter 05Chapter 05
Chapter 05
 
Let's Encrypt!
Let's Encrypt!Let's Encrypt!
Let's Encrypt!
 
Vgmc presenter
Vgmc presenterVgmc presenter
Vgmc presenter
 
Surviving the Internet in 2010
Surviving the Internet in 2010Surviving the Internet in 2010
Surviving the Internet in 2010
 
Журнал о металлоснабжении Сибирское металлоснабжение № 9 (154) 2015
Журнал о металлоснабжении  Сибирское металлоснабжение № 9 (154) 2015Журнал о металлоснабжении  Сибирское металлоснабжение № 9 (154) 2015
Журнал о металлоснабжении Сибирское металлоснабжение № 9 (154) 2015
 
Role of ethics and spiritualism in corporate
Role of ethics and spiritualism in corporateRole of ethics and spiritualism in corporate
Role of ethics and spiritualism in corporate
 
Журнал о металлопрокате Сибирское металлоснабжение №12 (157) 2015
Журнал о металлопрокате  Сибирское металлоснабжение №12 (157) 2015Журнал о металлопрокате  Сибирское металлоснабжение №12 (157) 2015
Журнал о металлопрокате Сибирское металлоснабжение №12 (157) 2015
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
 
Matemática Básica - Teoria
Matemática Básica - TeoriaMatemática Básica - Teoria
Matemática Básica - Teoria
 
Role of Social Networking sites on Gender Violence
Role of Social Networking sites on Gender ViolenceRole of Social Networking sites on Gender Violence
Role of Social Networking sites on Gender Violence
 
WordPress und Mehrsprachigkeit
WordPress und MehrsprachigkeitWordPress und Mehrsprachigkeit
WordPress und Mehrsprachigkeit
 
Журнал о металлоснабжении «Сибирское металлоснабжение» № 12 (169) 2016
Журнал о металлоснабжении  «Сибирское металлоснабжение» № 12 (169) 2016Журнал о металлоснабжении  «Сибирское металлоснабжение» № 12 (169) 2016
Журнал о металлоснабжении «Сибирское металлоснабжение» № 12 (169) 2016
 
GEC 2016: Alana Ramo
GEC 2016: Alana RamoGEC 2016: Alana Ramo
GEC 2016: Alana Ramo
 
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles ¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
¿Empresa que innova o que ES innovadora? La cultura es la clave - Héctor Robles
 

Similar to Kung fu Programming

Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
Svetlin Nakov
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
Steven Mak
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Continuous Integration - Getting Your Department To Drink The Kool Aid
Continuous Integration - Getting Your Department To Drink The Kool AidContinuous Integration - Getting Your Department To Drink The Kool Aid
Continuous Integration - Getting Your Department To Drink The Kool Aid
Michael Benning
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and Adoption
Pyxis Technologies
 
Tdd
TddTdd
Best pratice
Best praticeBest pratice
Best pratice
Eugenio Romano
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
Bhavin Javia
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
Seb Rose
 
Coding principles
Coding principles Coding principles
Coding principles
DevAdnani
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
David O'Dowd
 
Automated tests
Automated testsAutomated tests
Automated tests
Damian Sromek
 
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENTSTRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
Derk-Jan de Grood
 
Continuous Integration: Getting your department to drink the Kool-Aid
Continuous Integration: Getting your department to drink the Kool-AidContinuous Integration: Getting your department to drink the Kool-Aid
Continuous Integration: Getting your department to drink the Kool-Aid
JenKnight
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
Lior Kirshner-Shalom
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
International Islamic University Islamabad
 
Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Development
sthicks14
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical Excellence
Shawn Button
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.
Software Guru
 

Similar to Kung fu Programming (20)

Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Continuous Integration - Getting Your Department To Drink The Kool Aid
Continuous Integration - Getting Your Department To Drink The Kool AidContinuous Integration - Getting Your Department To Drink The Kool Aid
Continuous Integration - Getting Your Department To Drink The Kool Aid
 
Test Driven Development - Overview and Adoption
Test Driven Development - Overview and AdoptionTest Driven Development - Overview and Adoption
Test Driven Development - Overview and Adoption
 
Tdd
TddTdd
Tdd
 
Best pratice
Best praticeBest pratice
Best pratice
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Coding principles
Coding principles Coding principles
Coding principles
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Automated tests
Automated testsAutomated tests
Automated tests
 
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENTSTRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
 
Continuous Integration: Getting your department to drink the Kool-Aid
Continuous Integration: Getting your department to drink the Kool-AidContinuous Integration: Getting your department to drink the Kool-Aid
Continuous Integration: Getting your department to drink the Kool-Aid
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Development
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical Excellence
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.
 

Recently uploaded

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 

Recently uploaded (20)

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 

Kung fu Programming

  • 1. Kung Fu Programming Agile Programming lessons from Kung Fu Panda* Vishnu Vettrivel - @cloudronin * Kung fu Panda is a property of Dreamworks Animation
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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.
  • 7. 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
  • 8. 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