XP InjectionIT Jam 2009
BackgroundAlimenkou MikalaiJava Technical Lead/Scrum Master at ZoralLabs5+ years in software development3+ years of working by Agile methodologiesExpert in Agile engineering practicesAgile coach (TDD, Testing, Planning) Solntsev AlekseyProcess Architect at Infopulse Ukraine
Agile volunteer
Certified Scrum Practitioner
Initiator and coordinator of translation of the cult book "Scrum and XP from the Trenches" into RussianAgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
Extreme Programming?
XP Practices
XP is from Agile world
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
«One-button» technology
Live demoFor watching the video open http://vimeo.com/8201444
Build automationEliminate dependencies on key personRemove hacks and secret recipesSave time and moneyEliminate redundant tasksImprove product qualityMinimize "bad builds"Build everywhere and wheneverMinimize risksOpen way to other engineering practicesGenerate up-to-date project information
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
Who broke the build? How to know that everything is OK?Who will fix it?
Live demoFor watching the video open http://vimeo.com/8135215and then http://vimeo.com/8200658
Continuous Integration... is a software development practice wheremembers of a team integrate their workfrequently. Each integration is verified by anautomated build (including test) to detectintegration errors as quickly as possible.Many teams find that this approach leads tosignificantly reduced integration problems andallows a team to develop cohesive softwaremore rapidly.Martin Fowlerhttp://martinfowler.com/articles/continuousIntegration.html
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
Do you know when you are DONE ?
Live demoFor watching the video open http://vimeo.com/8202622
Test Driven DevelopmentNo more repeat bugsMake regression easierBetter designLess debuggerNo unneeded extra codeMore focusQuick feedbackLess manual testingEasy refactoringEasier to isolate problemBetter APIGreat code coverage
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
Do you know your code?
Live demoFor watching the video open http://vimeo.com/8204425
Do you know what to improve?Tell me how you will measure me and I will tell you how I will behaveIf you can’t measure it, you can’t improve itEliyahuGoldrattLord Kelvin
AgendaIntroduction to XPBuild automationContinuous IntegrationTDD (unit/integration testing)Code quality analysisRefactoring
Don't want to pay technical debt?
Live demoFor watching the video open http://vimeo.com/8203050
RefactoringMore readable codeEasier maintenanceCode reuseEasier to add new codeImproved designBetter understandingSpeeding knowledgeEasier to testMinimize duplication 

XP Injection

Editor's Notes

  • #3 http://www.heritagemakers.com/projectBrowserBWC.cfm?projectID=90c99851-5db1-4d10-8307-3f1b206051f3&productID=63
  • #24 ”If you can’t measure it, you can’t improve it” - Lord Kelvin"Tell me how you will measure me and I will tell you how I will behave"  - EliyahuGoldratt
  • #29 http://www.creativereview.co.uk/images/uploads/2009/01/take-away-menu-1.jpg