SlideShare a Scribd company logo
Agile Development Practices
How do they really work ?
Working
Software
TestingDevDesignAnalysis
Time
Analysis
Design
Dev
Testing
Working
Software
Analysis
Design
Dev
Testing
Working
Software
Analysis
Design
Dev
Testing
Working
Software
Analysis
Design
Dev
Testing
Working
Software
Analysis
Design
Dev
Testing
Working
Software
Waterfall
Agile
Longer Feedback Cycle
Shorter Feedback Cycles
Agile Development Practices are
geared towards…
• Shorter feedback cycles
• Creation of safety nets
• Allowing teams to learn by failing fast
What did I do
yesterday ?
What am I doing
today ?
Is there anything
blocking me ?
Yesterday I started
the Login story #42
Today I plan to
finish the same
story
I will need a pair to help
me understand the
Authentication Service
API
Talking
Token
Effective Standup Meetings
• Open forum for everyone to communicate daily status and progress
of work
• Take place near a story wall
• Short and quick
• Help in identifying obstacles
• Help in setting direction for the whole team
• Everyone is attentive.
Standup Antipatterns
• Long standup meetings
• A leader drives the standup
• People only look at the leader while talking
• People are often late to the standup
What story
should I
work on
today ?
I will pair with
you today to
help with the
Auth Service
Pairing Station
Navigator Driver
I would suggest
we refactor this
service to allow
injection of
dependencies
Alright… Let me
try writing a
failing test for it
then…
Benefits of Pair Programming
• Continuous code review
• Problem Solving
• Better Design
• Training newcomers on the codebase
• “Pair Pressure” ensures more discipline and less disturbances
• Builds collective ownership of the codebase
No worries if
your pair is on
leave.. I can be
the navigator !
Write a Test
Check
if test
fails
Write
production
code
Run all
tests
Clean up Code
Test
fails
Test
succeeds
Test(s) fail
All
tests
pass
Source : http://en.wikipedia.org/wiki/Test-driven_development
[Test]
public void Should_Get_Full_Name()
{
var contact = new Contact {FirstName = “Donald", LastName = “Duck"};
Assert.That(contact.FullName, Is.EqualTo(“Duck, Donald"));
}
A Simple Unit Test Case
A successful Unit Test run
You know
when you
are done !
You can take
small
incremental
steps
An
effective
safety
net
Helps
drive your
design
Benefits of TDD
Acceptance Tests
 Test the entire system from end to end (rather than testing a
single class)
 Written by Devs and QAs (pairing)
 Effective safety net when run with continuous integration
 Used to certify the quality of build.
 Leveraged for performance/load testing
public void verifyCashFlow() throws Exception {
DateTime disbursalDate = systemDateTime.plusDays(1);
int installment = 5;
int cashFlowIncremental = 1;
DefineNewLoanProductPage.SubmitFormParameters formParameters =
FormParametersHelper.getWeeklyLoanProductParameters();
String loanProductName = formParameters.getOfferingName();
int frequency = formParameters.getFreqOfInstallments();
createAndValidateLoanProductWithCashFlow("99.99",formParameters);
new NavigationHelper(selenium).navigateToHomePage();
loanTestHelper.
navigateToCreateLoanAccountEntryPageWithoutLogout(clientName,loanProductName).
setDisbursalDate(disbursalDate).
setInstallments(installment).
clickContinueToNavigateToCashFlowPage().
validateCashFlowMonths(disbursalDate,installment,frequency).
enterValidData(cashFlowIncremental).
clickContinue().
verifyCashFlow(cashFlowIncremental);
}
Testing Frameworks
rspec
Continuous
Integration
System
Source
Control
Developer
1
Developer
2
Check for
Changes
Check for
Changes
Get Latest
Run Integration
(Compile + Tests +
Deploy)
Checkin
Send Notifications
Send Notifications
Continuous Integration Lifecycle
Compile
Run Unit Tests
Run Functional
Tests
Release Candidate
Installer
UAT
Environments
Trigger Build
Story
Checkin
QA + Dev
(Pair)
Trigger
Deployment
Dev Pair
Build Radiator
The Continuous Feedback Loop
Source : http://c2.com/cgi/wiki?TestDrivenDevelopment
Design in Agile
• Part of each story and pairing session
• Constant refactoring of existing code.
• Dev huddles, architecture white boarding, group refactoring
sessions
• Made visible on flipcharts near the team area
“This class is getting too messy,
we need to refactor this at some
point ”
“We have a very tight deadline for
this release”
“We don’t have time for design”
“We must try to ship now and
deal with consequences later”
Managing Technical Debt
• Continuously prioritize Technical Debt during the release.
• Slot them as stories / tasks within an iteration
• Make relevant stakeholders aware of the debt being piled up
because of time constraints
• Keep a constant check .. The longer you keep a debt.. The
more interest you pay !
Quick References
 C2 Wiki (http://c2.com/)
 Martin Fowler’s Bliki (http://martinfowler.com/bliki/)
 Its not just standing up
(http://martinfowler.com/articles/itsNotJustStandingUp.html)
 Ron Jeffries (http://xprogramming.com)
Books
Questions ?

More Related Content

What's hot

What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
Dr. Alexander Schwartz
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
QA or the Highway
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
QA or the Highway
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
Nadav Yeheskel - Looking for a Test/QA engineer
 
Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices A B M Moniruzzaman
 
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
Performance Metrics for your Delivery Pipeline - Wolfgang GottesheimPerformance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
JAXLondon2014
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the Journey
XebiaLabs
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
SQALab
 
Using Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamUsing Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development Team
Rainforest QA
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Andrey Rebrov
 
QA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsQA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web Apps
Rainforest QA
 
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
apidays
 
STLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall WorldSTLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall World
Angela Dugan
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMap
Alan Richardson
 
Introduction to unit testing
Introduction to unit testingIntroduction to unit testing
Introduction to unit testingGil Zilberfeld
 
Converging the team
Converging the teamConverging the team
Converging the team
Flowa Oy
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
TEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
TEST Huddle
 
Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond Agile
TechWell
 
Making a Mock by Kelsey Shannahan
Making a Mock by Kelsey ShannahanMaking a Mock by Kelsey Shannahan
Making a Mock by Kelsey Shannahan
QA or the Highway
 

What's hot (20)

What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices Software Testing with Agile Requirements Practices
Software Testing with Agile Requirements Practices
 
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
Performance Metrics for your Delivery Pipeline - Wolfgang GottesheimPerformance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
 
The Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the JourneyThe Business Case for DevOps - Justifying the Journey
The Business Case for DevOps - Justifying the Journey
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
 
Using Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development TeamUsing Crowdsourced Testing to Turbocharge your Development Team
Using Crowdsourced Testing to Turbocharge your Development Team
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014
 
QA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web AppsQA Strategies for Testing Legacy Web Apps
QA Strategies for Testing Legacy Web Apps
 
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
APIdays Singapore 2019 - Building Applications in the Cloud: Best Practices F...
 
STLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall WorldSTLDODN - Agile Testing in a Waterfall World
STLDODN - Agile Testing in a Waterfall World
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMap
 
Introduction to unit testing
Introduction to unit testingIntroduction to unit testing
Introduction to unit testing
 
Converging the team
Converging the teamConverging the team
Converging the team
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Shift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond AgileShift Left Testing: Going Beyond Agile
Shift Left Testing: Going Beyond Agile
 
Making a Mock by Kelsey Shannahan
Making a Mock by Kelsey ShannahanMaking a Mock by Kelsey Shannahan
Making a Mock by Kelsey Shannahan
 

Viewers also liked

Neosesame Key factors for a successfull mobile app
Neosesame Key factors for a successfull mobile appNeosesame Key factors for a successfull mobile app
Neosesame Key factors for a successfull mobile app
Eliocity
 
Leader´s Guide - Lean Start Up
Leader´s Guide - Lean Start UpLeader´s Guide - Lean Start Up
Leader´s Guide - Lean Start Up
INNOGYZER.com
 
Best practices for mobile app development android march 15 2013 ts
Best practices for mobile app development   android march 15 2013 tsBest practices for mobile app development   android march 15 2013 ts
Best practices for mobile app development android march 15 2013 tsTasneem Sayeed
 
Sample Report: Saudi Arabia B2C E-Commerce Market 2016
Sample Report: Saudi Arabia B2C E-Commerce Market 2016Sample Report: Saudi Arabia B2C E-Commerce Market 2016
Sample Report: Saudi Arabia B2C E-Commerce Market 2016
yStats.com
 
The Lean Start Up
The Lean Start UpThe Lean Start Up
The Lean Start Up
Local Media Association
 
Lean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentLean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App Development
Aravind Krishnaswamy
 
Lean Startup: Insider's Story
Lean Startup: Insider's StoryLean Startup: Insider's Story
Lean Startup: Insider's Story
Empatika
 
MENA Internet Usage & Consumption Habits
MENA Internet Usage & Consumption HabitsMENA Internet Usage & Consumption Habits
MENA Internet Usage & Consumption Habits
Mais AbuSalah
 
Training Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training WebinarTraining Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training Webinar
OutSystems
 
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca ReportDemographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
Aranca
 
Saudi Arabia 2016: Business Insights & Digital Landscape
Saudi Arabia 2016: Business Insights & Digital LandscapeSaudi Arabia 2016: Business Insights & Digital Landscape
Saudi Arabia 2016: Business Insights & Digital Landscape
Identity Mena
 
Lean Product Management
Lean Product ManagementLean Product Management
Lean Product Management
Melissa Perri
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...
Chris McFadden
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
Movel
 
Organizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentOrganizational Design for Effective Software Development
Organizational Design for Effective Software Development
Dev9Com
 

Viewers also liked (15)

Neosesame Key factors for a successfull mobile app
Neosesame Key factors for a successfull mobile appNeosesame Key factors for a successfull mobile app
Neosesame Key factors for a successfull mobile app
 
Leader´s Guide - Lean Start Up
Leader´s Guide - Lean Start UpLeader´s Guide - Lean Start Up
Leader´s Guide - Lean Start Up
 
Best practices for mobile app development android march 15 2013 ts
Best practices for mobile app development   android march 15 2013 tsBest practices for mobile app development   android march 15 2013 ts
Best practices for mobile app development android march 15 2013 ts
 
Sample Report: Saudi Arabia B2C E-Commerce Market 2016
Sample Report: Saudi Arabia B2C E-Commerce Market 2016Sample Report: Saudi Arabia B2C E-Commerce Market 2016
Sample Report: Saudi Arabia B2C E-Commerce Market 2016
 
The Lean Start Up
The Lean Start UpThe Lean Start Up
The Lean Start Up
 
Lean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App DevelopmentLean Startup Machine - Mobile App Development
Lean Startup Machine - Mobile App Development
 
Lean Startup: Insider's Story
Lean Startup: Insider's StoryLean Startup: Insider's Story
Lean Startup: Insider's Story
 
MENA Internet Usage & Consumption Habits
MENA Internet Usage & Consumption HabitsMENA Internet Usage & Consumption Habits
MENA Internet Usage & Consumption Habits
 
Training Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training WebinarTraining Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training Webinar
 
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca ReportDemographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
Demographics in Saudi Arabia: New Age Of Opportunities - An Aranca Report
 
Saudi Arabia 2016: Business Insights & Digital Landscape
Saudi Arabia 2016: Business Insights & Digital LandscapeSaudi Arabia 2016: Business Insights & Digital Landscape
Saudi Arabia 2016: Business Insights & Digital Landscape
 
Lean Product Management
Lean Product ManagementLean Product Management
Lean Product Management
 
Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...Lean Product Development at Discovery Communications: Methodology, Practices,...
Lean Product Development at Discovery Communications: Methodology, Practices,...
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
 
Organizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentOrganizational Design for Effective Software Development
Organizational Design for Effective Software Development
 

Similar to Agile development practices - How do they really work ?

Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Chris Weldon
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
DevOpsDays Tel Aviv
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
jaredrrichardson
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
Codemotion
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
David Funaro
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
Paul Mateos
 
AvenDATA and Devops
AvenDATA and DevopsAvenDATA and Devops
AvenDATA and Devops
Rajbahadur Rajput
 
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
 
Becoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to WorkBecoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to Work
Docker, Inc.
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Preetam Palwe
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevSecOps 101
DevSecOps 101DevSecOps 101
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
IBM UrbanCode Products
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
Willy-Peter Schaub
 
The Journey to Continuous Delivery
The Journey to Continuous DeliveryThe Journey to Continuous Delivery
The Journey to Continuous Delivery
XPDays
 
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
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Rundeck
 

Similar to Agile development practices - How do they really work ? (20)

Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Agile testing
Agile testingAgile testing
Agile testing
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
 
AvenDATA and Devops
AvenDATA and DevopsAvenDATA and Devops
AvenDATA and Devops
 
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
 
Becoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to WorkBecoming the Docker Champion: Bringing Docker Back to Work
Becoming the Docker Champion: Bringing Docker Back to Work
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
DevSecOps 101
DevSecOps 101DevSecOps 101
DevSecOps 101
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
The Journey to Continuous Delivery
The Journey to Continuous DeliveryThe Journey to Continuous Delivery
The Journey to Continuous Delivery
 
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
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

Agile development practices - How do they really work ?

  • 1. Agile Development Practices How do they really work ?
  • 3. Agile Development Practices are geared towards… • Shorter feedback cycles • Creation of safety nets • Allowing teams to learn by failing fast
  • 4.
  • 5.
  • 6. What did I do yesterday ? What am I doing today ? Is there anything blocking me ? Yesterday I started the Login story #42 Today I plan to finish the same story I will need a pair to help me understand the Authentication Service API Talking Token
  • 7. Effective Standup Meetings • Open forum for everyone to communicate daily status and progress of work • Take place near a story wall • Short and quick • Help in identifying obstacles • Help in setting direction for the whole team • Everyone is attentive.
  • 8. Standup Antipatterns • Long standup meetings • A leader drives the standup • People only look at the leader while talking • People are often late to the standup
  • 9.
  • 10.
  • 11. What story should I work on today ? I will pair with you today to help with the Auth Service
  • 12.
  • 14. I would suggest we refactor this service to allow injection of dependencies Alright… Let me try writing a failing test for it then…
  • 15. Benefits of Pair Programming • Continuous code review • Problem Solving • Better Design • Training newcomers on the codebase • “Pair Pressure” ensures more discipline and less disturbances • Builds collective ownership of the codebase
  • 16. No worries if your pair is on leave.. I can be the navigator !
  • 17.
  • 18. Write a Test Check if test fails Write production code Run all tests Clean up Code Test fails Test succeeds Test(s) fail All tests pass Source : http://en.wikipedia.org/wiki/Test-driven_development
  • 19. [Test] public void Should_Get_Full_Name() { var contact = new Contact {FirstName = “Donald", LastName = “Duck"}; Assert.That(contact.FullName, Is.EqualTo(“Duck, Donald")); } A Simple Unit Test Case
  • 20. A successful Unit Test run
  • 21. You know when you are done ! You can take small incremental steps An effective safety net Helps drive your design Benefits of TDD
  • 22. Acceptance Tests  Test the entire system from end to end (rather than testing a single class)  Written by Devs and QAs (pairing)  Effective safety net when run with continuous integration  Used to certify the quality of build.  Leveraged for performance/load testing
  • 23. public void verifyCashFlow() throws Exception { DateTime disbursalDate = systemDateTime.plusDays(1); int installment = 5; int cashFlowIncremental = 1; DefineNewLoanProductPage.SubmitFormParameters formParameters = FormParametersHelper.getWeeklyLoanProductParameters(); String loanProductName = formParameters.getOfferingName(); int frequency = formParameters.getFreqOfInstallments(); createAndValidateLoanProductWithCashFlow("99.99",formParameters); new NavigationHelper(selenium).navigateToHomePage(); loanTestHelper. navigateToCreateLoanAccountEntryPageWithoutLogout(clientName,loanProductName). setDisbursalDate(disbursalDate). setInstallments(installment). clickContinueToNavigateToCashFlowPage(). validateCashFlowMonths(disbursalDate,installment,frequency). enterValidData(cashFlowIncremental). clickContinue(). verifyCashFlow(cashFlowIncremental); }
  • 25.
  • 26. Continuous Integration System Source Control Developer 1 Developer 2 Check for Changes Check for Changes Get Latest Run Integration (Compile + Tests + Deploy) Checkin Send Notifications Send Notifications Continuous Integration Lifecycle
  • 27. Compile Run Unit Tests Run Functional Tests Release Candidate Installer UAT Environments Trigger Build Story Checkin QA + Dev (Pair) Trigger Deployment Dev Pair
  • 28.
  • 30. The Continuous Feedback Loop Source : http://c2.com/cgi/wiki?TestDrivenDevelopment
  • 31.
  • 32. Design in Agile • Part of each story and pairing session • Constant refactoring of existing code. • Dev huddles, architecture white boarding, group refactoring sessions • Made visible on flipcharts near the team area
  • 33.
  • 34.
  • 35. “This class is getting too messy, we need to refactor this at some point ” “We have a very tight deadline for this release” “We don’t have time for design” “We must try to ship now and deal with consequences later”
  • 36.
  • 37. Managing Technical Debt • Continuously prioritize Technical Debt during the release. • Slot them as stories / tasks within an iteration • Make relevant stakeholders aware of the debt being piled up because of time constraints • Keep a constant check .. The longer you keep a debt.. The more interest you pay !
  • 38. Quick References  C2 Wiki (http://c2.com/)  Martin Fowler’s Bliki (http://martinfowler.com/bliki/)  Its not just standing up (http://martinfowler.com/articles/itsNotJustStandingUp.html)  Ron Jeffries (http://xprogramming.com)
  • 39. Books