SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
AGILE PRACTICES
@andreaprovaglio
WHAT I DO
I help IT organizations to find and
implement better ways of doing
business.
I coach teams and individuals who want
to improve technically and relationally.
In 20+ years in IT, I had clients in three
continents and a U.S. work visa for
“extraordinary abilities in Sciences”.
WHAT WE’LLTALK ABOUT
• Basic Practices
• Delivering by Iterations
• Developing Just-in-time
• Testing
1
2
3
BASIC PRACTICES
Agile Founding Blocks
Retrospectives
Stand-up Meeting
Continuous Integration
Test-driven Development
Pair Programming
Short Iterations
Some may be
prescribed. All are
designed to
support each other.
Refactoring
Cross-functional Teams
Iterative Development
http://www.photos4travel.com/travel-guides/rome
Was this built from a huge
pile of specs?
High-value
Requirements
Deployment
Short Iterations (can be timeboxed)
Analysis &
Planning
ImplementationTesting
Evaluation
4
5
6
Task Boards
http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/
Physical or Virtual?
Large Information Radiators
Cross-functionalTeams
http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/
Stand-up Meetings
http://robertryanpmp.com
•Short (15 mins)
•Remove Impediments
•Align the team
•Makes daily activities more
effective
7
8
9
Retrospectives
A core Agile Practice:
team stops and reflects on
how to improve
Takes experience to get it
right. (Tip: have an
external facilitator at first)
Running Retrospectives
Retrospective
Open Data
Insights
Actions
Close
Iteration
Improvements
Development Meeting
Product Increments
Adapted from “Agile Retrospectives” by Derby & Larsen
Pair Programming
http://www.prospeed-elite.co.ukhttp://www.prospeed-elite.co.uk
• “If two developers in front of a computer are half as
productive, why don’t you put one developer in front
of two computers?” -- Jurgen Appelo
• Tip: Google for video by Niclas Nilsson & Hans
Brattberg
10
11
12
DELIVERING BY ITERATIONS
Scrum Process
http://en.wikipedia.org/wiki/File:Scrum_process.svg
User Stories
http://caernarfonandchepstow.blogspot.com/
As a Student I want to buy a
parking pass so that I can drive
to school.
Priority: Medium
Estimate: 4
(adapted example by Scott Ambler)
Tests:
* the buyer must be a currently
enrolled student
* the buyer will receive a pass
only if payment is sufficient
* the student may buy only one
pass per month
13
14
15
Scrum Roles
Product Owner
Scrum Master
“The Team”
(cross-functional)
Scrum Project
PO: Represents the business
vision and needs
SM: Guarantees the process,
removes impediments
Techs: Implement the product,
have all the required expertise
Interactions of the Scrum Roles
Stuff You Build
What
How
Quick but
unsustainable wins
Wrong Thing
Wrong Way Right Way
Right Thing
Fast FailureSlow Failure
PO and SM work
to ensure that we
build the Right
Thing in the Right
Way
Market,
Users
PO
SM
Team
Backlogs
(Product and Sprint)
Enduring Success
What/How diagram adapted from “Agile Product Management with Scrum” by Roman Pichler
Scrum Working Agreements
• The Team (not the single individuals) commits to
deliver the agreed upon, potentially shippable units of
code at the end of the Sprint
• The Business commits to leaving the Team
undisturbed for the length of the Sprint (i.e. Sprints
cannot be changed, only aborted)
16
17
18
Scrum Rhythms and Ceremonies
Strategy
Release
Sprint
Daily
Continuous
Integration
Adapted from the “Agile Poster” by VersionOne
Start: Release Planning Meeting
End: Demo and Retrospective
Cadence: Months
Start: Sprint Planning Meeting
End: Demo and Retrospective
Cadence: Weeks
Stand-up Meeting
Cadence: Daily
Metrics:Velocity
http://elegantcode.com/
A planning tool based on historical data. Represents the
Team’s productive capacity (story points per Sprint)
Metrics: Burndown Charts
http://www.infoq.com/articles/agile-kanban-boards
Release BurndownSprint Burndown
http://lookforwardconsulting.com/
Both display progress vs. work still to
complete.
19
20
21
PUSHVS. PULL
Just-inTime Production
SW features are like bananas:
• They get stale (lose their business
value after a while)
• Inventory, Overproduction and
Waiting should ideally be kept to the
minimum
A Kanban Pull System
Stuff To Do
(Backlog)
Kanban System
Stuff
Produced
Items are PULLED into
the system when there is
capacity.
<--- Lead Time --->
• System visualizes the actual
workflow
• Each stage has its WIP limit
22
23
24
Kanban Key Points
• Visualize the real workflow
• Use a Kanban board with columns for the different stages (swim
lanes and sub-colons for more complex flows)
• Split work into units and use cards to represent them
• Limit the Work-in-Progress (WIP)
• Measure the LeadTime
• Optimize the workflow for maximum
throughput
A Digital Kanban Board
http://www.targetprocess.com/Product/agile_tour/Kanban.aspx
A Digital Kanban Board
http://www.targetprocess.com/Product/agile_tour/Kanban.aspx
Iterations or JIT?
25
26
27
QA ANDTESTING
MainTesting Levels
Acceptance Test
“Does the system work as users expect?”
Integration Test
“Does our code work against code that we cannot
change?”
Unit Test
“Do our objects do the right thing? Are they
convenient to work with?”
Developers
“Does our code work against code that we cannot
Developers
Business
http://angeles.sierraclub.org/skimt/trips/grandcyn07/grand-14.htm
TheTesting Pyramid
Place as many
tests as low as
you can.
Manual
End-to-End
Integration
Unit
28
29
30
Behavior-Driven Development
Using examples, scenarios
and conversations to
illustrate behavior
http:// lizkeogh.com
!"#"$%&
'$()&
*(+(,")"-.&
/0(-120&
3-$2.&
340%(2"$&
*$50&
!"#"$%&!"#"$%&!"#"$%&
'$()&
*(+(,")"-.&
/0(-120&
3-$2.&
340%(2"$&
*$50&*$50&*$50&
!""#
"%,%-).%*&#
"%-12%*30%#"1&4),%*5#&+1--&
/%&0%*&
http:// lizkeogh.com
"%,%-).%*&
"%-12%*30%#"1&4),%*5#&+1--&
/%&0%*&/%&0%*&
!"#$%&'($)&*+,&-./0*1&+&2"3(.4+#$
5%)&1*$&2"3(.4+#$&3.,1&6788
5%)&1*$&2"3(.4+#$&4+,&.%&789&
)",3./%1
:*$%&4$&($;/%)&1*$&2"3(.4+#$
<*$%&'($)&!"#$%&'-$&($;/%)$)&6=8>
Test-Driven Development
• A test-first approach
• Improves overall quality
• Makes changes easier
(programmers are more
confident)
• Simple designs evolve over
time
• Testing single units of code
creates better architectures
Continuous Integration
An automated,
continuous process
for quality control.
http://www.javaworld.com/javaworld/jw-06-2007/jw-06-awci.html
Automatic
unit testing, regression
testing, integration
Lots of CI tools:
CruiseControl, TeamCity,
Team Foundation Server,
etc.
31
32
33
THANKYOU!
LinkedIn Twitter Slideshare
http://andreaprovaglio.com
Also on:
QUESTIONS?
34
35

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Kanban/Scrumban - taking scrum outside its comfort zone
Kanban/Scrumban - taking scrum outside its comfort zoneKanban/Scrumban - taking scrum outside its comfort zone
Kanban/Scrumban - taking scrum outside its comfort zoneYuval Yeret
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through ScrumNaveen Kumar Singh
 
Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Filippo Zanella
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware Cprime
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Waterfall vs agile approach scrum framework and best practices in software d...
Waterfall vs agile approach  scrum framework and best practices in software d...Waterfall vs agile approach  scrum framework and best practices in software d...
Waterfall vs agile approach scrum framework and best practices in software d...Tayfun Bilsel
 
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Yuval Yeret
 
Agile methodology and Scrum Framewwork
Agile methodology and Scrum FramewworkAgile methodology and Scrum Framewwork
Agile methodology and Scrum Framewworksalmanahmed368
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrummsorin
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentBill Ayers
 
Using kanban and cfd to effectively manage agile testing
Using kanban and cfd to effectively manage agile testingUsing kanban and cfd to effectively manage agile testing
Using kanban and cfd to effectively manage agile testingYuval Yeret
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Jens Wilke
 

Was ist angesagt? (20)

Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Kanban/Scrumban - taking scrum outside its comfort zone
Kanban/Scrumban - taking scrum outside its comfort zoneKanban/Scrumban - taking scrum outside its comfort zone
Kanban/Scrumban - taking scrum outside its comfort zone
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through Scrum
 
Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)Agile Fundamentals and Best Practices (with Trello)
Agile Fundamentals and Best Practices (with Trello)
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware
 
Introduction to Scrum - Agile Methods
Introduction to Scrum - Agile MethodsIntroduction to Scrum - Agile Methods
Introduction to Scrum - Agile Methods
 
Scrumban
ScrumbanScrumban
Scrumban
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Waterfall vs agile approach scrum framework and best practices in software d...
Waterfall vs agile approach  scrum framework and best practices in software d...Waterfall vs agile approach  scrum framework and best practices in software d...
Waterfall vs agile approach scrum framework and best practices in software d...
 
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
Scrum, Kanban, and DevOps Sitting in a Tree… - Big Apple Scrum Day 2018
 
Agile scrum training
Agile scrum trainingAgile scrum training
Agile scrum training
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
What is Scrum
What is ScrumWhat is Scrum
What is Scrum
 
Agile methodology and Scrum Framewwork
Agile methodology and Scrum FramewworkAgile methodology and Scrum Framewwork
Agile methodology and Scrum Framewwork
 
Scrumban
Scrumban Scrumban
Scrumban
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrum
 
Lean-Agile SharePoint Development
Lean-Agile SharePoint DevelopmentLean-Agile SharePoint Development
Lean-Agile SharePoint Development
 
Using kanban and cfd to effectively manage agile testing
Using kanban and cfd to effectively manage agile testingUsing kanban and cfd to effectively manage agile testing
Using kanban and cfd to effectively manage agile testing
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)
 
Introduction to agile scrum
Introduction to agile scrumIntroduction to agile scrum
Introduction to agile scrum
 

Andere mochten auch

Sviluppare per microsoft band
Sviluppare per microsoft bandSviluppare per microsoft band
Sviluppare per microsoft bandDotNetCampus
 
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#DotNetCampus
 
Ds02 data integration
Ds02   data integrationDs02   data integration
Ds02 data integrationDotNetCampus
 
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDotNetCampus
 
Mob01 mobile services e webapi
Mob01   mobile services e webapiMob01   mobile services e webapi
Mob01 mobile services e webapiDotNetCampus
 
Net campus2015 antimomusone
Net campus2015 antimomusoneNet campus2015 antimomusone
Net campus2015 antimomusoneDotNetCampus
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azureDotNetCampus
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015DotNetCampus
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2DotNetCampus
 
Gam01 introduzione a kinect
Gam01   introduzione a kinectGam01   introduzione a kinect
Gam01 introduzione a kinectDotNetCampus
 
Sys05 uso consapevole di git - beyond the basic
Sys05   uso consapevole di git - beyond the basicSys05   uso consapevole di git - beyond the basic
Sys05 uso consapevole di git - beyond the basicDotNetCampus
 
Be03 10 azure samples
Be03   10 azure samplesBe03   10 azure samples
Be03 10 azure samplesDotNetCampus
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTDotNetCampus
 
Win04 windows 8 e windows phone 8 - interfacciamoci
Win04   windows 8 e windows phone 8 - interfacciamociWin04   windows 8 e windows phone 8 - interfacciamoci
Win04 windows 8 e windows phone 8 - interfacciamociDotNetCampus
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopmentDotNetCampus
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREDotNetCampus
 
Cert01 70-483 - programming in c#
Cert01   70-483 - programming in c#Cert01   70-483 - programming in c#
Cert01 70-483 - programming in c#DotNetCampus
 

Andere mochten auch (18)

Sviluppare per microsoft band
Sviluppare per microsoft bandSviluppare per microsoft band
Sviluppare per microsoft band
 
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#
 
Ds02 data integration
Ds02   data integrationDs02   data integration
Ds02 data integration
 
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
 
Mob01 mobile services e webapi
Mob01   mobile services e webapiMob01   mobile services e webapi
Mob01 mobile services e webapi
 
Net campus2015 antimomusone
Net campus2015 antimomusoneNet campus2015 antimomusone
Net campus2015 antimomusone
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azure
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
 
Gam01 introduzione a kinect
Gam01   introduzione a kinectGam01   introduzione a kinect
Gam01 introduzione a kinect
 
Sys05 uso consapevole di git - beyond the basic
Sys05   uso consapevole di git - beyond the basicSys05   uso consapevole di git - beyond the basic
Sys05 uso consapevole di git - beyond the basic
 
Be03 10 azure samples
Be03   10 azure samplesBe03   10 azure samples
Be03 10 azure samples
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
 
Win04 windows 8 e windows phone 8 - interfacciamoci
Win04   windows 8 e windows phone 8 - interfacciamociWin04   windows 8 e windows phone 8 - interfacciamoci
Win04 windows 8 e windows phone 8 - interfacciamoci
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopment
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZURE
 
Cert01 70-483 - programming in c#
Cert01   70-483 - programming in c#Cert01   70-483 - programming in c#
Cert01 70-483 - programming in c#
 

Ähnlich wie Ag02 agile practices - dnc14 handouts

Ähnlich wie Ag02 agile practices - dnc14 handouts (20)

India Agile Week 2015
India Agile Week 2015India Agile Week 2015
India Agile Week 2015
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 
SCRUM Intro
SCRUM IntroSCRUM Intro
SCRUM Intro
 
Agile Efficacy Presentation
Agile Efficacy PresentationAgile Efficacy Presentation
Agile Efficacy Presentation
 
Scrum
ScrumScrum
Scrum
 
Customized Scrum
Customized ScrumCustomized Scrum
Customized Scrum
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
English-RedistributableIntroToScrumPPT.pptx
English-RedistributableIntroToScrumPPT.pptxEnglish-RedistributableIntroToScrumPPT.pptx
English-RedistributableIntroToScrumPPT.pptx
 
Agile survival kit
Agile survival kitAgile survival kit
Agile survival kit
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Scrum Primer
Scrum PrimerScrum Primer
Scrum Primer
 
Sdlc plan
Sdlc planSdlc plan
Sdlc plan
 
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वोAgile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
 
BAAgileQA
BAAgileQABAAgileQA
BAAgileQA
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrum
 

Mehr von DotNetCampus

ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTDotNetCampus
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONSDotNetCampus
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#DotNetCampus
 
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DotNetCampus
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATADotNetCampus
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDotNetCampus
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREDotNetCampus
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWDotNetCampus
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICEDotNetCampus
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDDotNetCampus
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!DotNetCampus
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++DotNetCampus
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBDotNetCampus
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSDotNetCampus
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPDotNetCampus
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!DotNetCampus
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
 

Mehr von DotNetCampus (20)

ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOT
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#
 
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEW
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BAND
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
 

Kürzlich hochgeladen

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 

Kürzlich hochgeladen (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 

Ag02 agile practices - dnc14 handouts

  • 1. AGILE PRACTICES @andreaprovaglio WHAT I DO I help IT organizations to find and implement better ways of doing business. I coach teams and individuals who want to improve technically and relationally. In 20+ years in IT, I had clients in three continents and a U.S. work visa for “extraordinary abilities in Sciences”. WHAT WE’LLTALK ABOUT • Basic Practices • Delivering by Iterations • Developing Just-in-time • Testing 1 2 3
  • 2. BASIC PRACTICES Agile Founding Blocks Retrospectives Stand-up Meeting Continuous Integration Test-driven Development Pair Programming Short Iterations Some may be prescribed. All are designed to support each other. Refactoring Cross-functional Teams Iterative Development http://www.photos4travel.com/travel-guides/rome Was this built from a huge pile of specs? High-value Requirements Deployment Short Iterations (can be timeboxed) Analysis & Planning ImplementationTesting Evaluation 4 5 6
  • 3. Task Boards http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/ Physical or Virtual? Large Information Radiators Cross-functionalTeams http://leansoftwareengineering.com/2007/10/27/kanban-bootstrap/ Stand-up Meetings http://robertryanpmp.com •Short (15 mins) •Remove Impediments •Align the team •Makes daily activities more effective 7 8 9
  • 4. Retrospectives A core Agile Practice: team stops and reflects on how to improve Takes experience to get it right. (Tip: have an external facilitator at first) Running Retrospectives Retrospective Open Data Insights Actions Close Iteration Improvements Development Meeting Product Increments Adapted from “Agile Retrospectives” by Derby & Larsen Pair Programming http://www.prospeed-elite.co.ukhttp://www.prospeed-elite.co.uk • “If two developers in front of a computer are half as productive, why don’t you put one developer in front of two computers?” -- Jurgen Appelo • Tip: Google for video by Niclas Nilsson & Hans Brattberg 10 11 12
  • 5. DELIVERING BY ITERATIONS Scrum Process http://en.wikipedia.org/wiki/File:Scrum_process.svg User Stories http://caernarfonandchepstow.blogspot.com/ As a Student I want to buy a parking pass so that I can drive to school. Priority: Medium Estimate: 4 (adapted example by Scott Ambler) Tests: * the buyer must be a currently enrolled student * the buyer will receive a pass only if payment is sufficient * the student may buy only one pass per month 13 14 15
  • 6. Scrum Roles Product Owner Scrum Master “The Team” (cross-functional) Scrum Project PO: Represents the business vision and needs SM: Guarantees the process, removes impediments Techs: Implement the product, have all the required expertise Interactions of the Scrum Roles Stuff You Build What How Quick but unsustainable wins Wrong Thing Wrong Way Right Way Right Thing Fast FailureSlow Failure PO and SM work to ensure that we build the Right Thing in the Right Way Market, Users PO SM Team Backlogs (Product and Sprint) Enduring Success What/How diagram adapted from “Agile Product Management with Scrum” by Roman Pichler Scrum Working Agreements • The Team (not the single individuals) commits to deliver the agreed upon, potentially shippable units of code at the end of the Sprint • The Business commits to leaving the Team undisturbed for the length of the Sprint (i.e. Sprints cannot be changed, only aborted) 16 17 18
  • 7. Scrum Rhythms and Ceremonies Strategy Release Sprint Daily Continuous Integration Adapted from the “Agile Poster” by VersionOne Start: Release Planning Meeting End: Demo and Retrospective Cadence: Months Start: Sprint Planning Meeting End: Demo and Retrospective Cadence: Weeks Stand-up Meeting Cadence: Daily Metrics:Velocity http://elegantcode.com/ A planning tool based on historical data. Represents the Team’s productive capacity (story points per Sprint) Metrics: Burndown Charts http://www.infoq.com/articles/agile-kanban-boards Release BurndownSprint Burndown http://lookforwardconsulting.com/ Both display progress vs. work still to complete. 19 20 21
  • 8. PUSHVS. PULL Just-inTime Production SW features are like bananas: • They get stale (lose their business value after a while) • Inventory, Overproduction and Waiting should ideally be kept to the minimum A Kanban Pull System Stuff To Do (Backlog) Kanban System Stuff Produced Items are PULLED into the system when there is capacity. <--- Lead Time ---> • System visualizes the actual workflow • Each stage has its WIP limit 22 23 24
  • 9. Kanban Key Points • Visualize the real workflow • Use a Kanban board with columns for the different stages (swim lanes and sub-colons for more complex flows) • Split work into units and use cards to represent them • Limit the Work-in-Progress (WIP) • Measure the LeadTime • Optimize the workflow for maximum throughput A Digital Kanban Board http://www.targetprocess.com/Product/agile_tour/Kanban.aspx A Digital Kanban Board http://www.targetprocess.com/Product/agile_tour/Kanban.aspx Iterations or JIT? 25 26 27
  • 10. QA ANDTESTING MainTesting Levels Acceptance Test “Does the system work as users expect?” Integration Test “Does our code work against code that we cannot change?” Unit Test “Do our objects do the right thing? Are they convenient to work with?” Developers “Does our code work against code that we cannot Developers Business http://angeles.sierraclub.org/skimt/trips/grandcyn07/grand-14.htm TheTesting Pyramid Place as many tests as low as you can. Manual End-to-End Integration Unit 28 29 30
  • 11. Behavior-Driven Development Using examples, scenarios and conversations to illustrate behavior http:// lizkeogh.com !"#"$%& '$()& *(+(,")"-.& /0(-120& 3-$2.& 340%(2"$& *$50& !"#"$%&!"#"$%&!"#"$%& '$()& *(+(,")"-.& /0(-120& 3-$2.& 340%(2"$& *$50&*$50&*$50& !""# "%,%-).%*&# "%-12%*30%#"1&4),%*5#&+1--& /%&0%*& http:// lizkeogh.com "%,%-).%*& "%-12%*30%#"1&4),%*5#&+1--& /%&0%*&/%&0%*& !"#$%&'($)&*+,&-./0*1&+&2"3(.4+#$ 5%)&1*$&2"3(.4+#$&3.,1&6788 5%)&1*$&2"3(.4+#$&4+,&.%&789& )",3./%1 :*$%&4$&($;/%)&1*$&2"3(.4+#$ <*$%&'($)&!"#$%&'-$&($;/%)$)&6=8> Test-Driven Development • A test-first approach • Improves overall quality • Makes changes easier (programmers are more confident) • Simple designs evolve over time • Testing single units of code creates better architectures Continuous Integration An automated, continuous process for quality control. http://www.javaworld.com/javaworld/jw-06-2007/jw-06-awci.html Automatic unit testing, regression testing, integration Lots of CI tools: CruiseControl, TeamCity, Team Foundation Server, etc. 31 32 33