SlideShare a Scribd company logo
1 of 28
Agile Software Development

              Revenge of the Programmers?




                   Guy Davis – Pason Systems
                                               1
10/01/09
Overview


           Agile Manifesto
           eXtreme Programming (XP)
           Scrum
           XBreed, XP@Scrum, Crystal, dX, FDD, ASD
           Agile Resources




                                                     2
10/01/09
Agile Manifesto


           Individuals and interactions over processes and
           tools
           Working software over comprehensive
           documentation
           Customer collaboration over contract negotiation
           Responding to change over following a plan



                                                              3
10/01/09
eXtreme Programming (XP)


      Core Values       Project Variables
        Communication     Cost
        Simplicity        Scope
        Feedback          Time
        Courage           Quality




                                            4
10/01/09
Key Practices of XP




                                 5
10/01/09
XP Process




                        6
10/01/09
XP Iteration




                          7
10/01/09
XP Development




                            8
10/01/09
XP Collective Code Ownership




                                          9
10/01/09
XP Planning




                         10
10/01/09
XP Roles


           Programmer
           Customer
           Tester
           Tracker
           Coach
           Consultant
           Big Boss

                                   11
10/01/09
XP Limitations

           Good for consultants, custom software dev.
           What about other types of software dev.?
             Shrink-wrap software?
             Misson or life critical systems?
             Fixed price, fixed scope contracts?
           Scalability of the XP process to large teams?
           On-site customer possible for your project?
           Team must be co-located? Distributed teams?

                                                           12
10/01/09
Scrum




                   13
10/01/09
Scrum Roles


           Product Owner
             Solely controls the product backlog (prioritized)
             Arbitrates requests from all customers
             Does NOT control the sprint backlog
           Scrum Master
             Enforces the values, practices, and rules of Scrum
             Interface between developers and management
             Removes impediments for developers

                                                                  14
10/01/09
Scrum Team

           No traditional roles
           Cross-
           functional
           Self-organizing
           Size: 7 people ± 2
           Has both
           authority and
                                  Scaling Scrum Projects
           responsibility
           Can follow any
                                                           15
10/01/09
Sprint Planning Meeting




                                     16
10/01/09
Daily Scrum


           Each team member answers three questions:
             What have you done since the last scrum?
             What are you planning to do before the next scrum?
             What got in the way of doing your work?
           Goals of this short meeting:
             Identify impediments slowing progress
             Make decisions collectively as a team
             Track team progress during the sprint

                                                                  17
10/01/09
Sprint Burndown




                             18
10/01/09
Sprint Review Meeting


           Demonstrate functionality added during sprint
           Team, product owner, and customers attend
           Product increment is assessed against sprint goal
           Discuss successes and failures from last sprint
           Short prep time for team (~2 hours; no M$ PP)




                                                               19
10/01/09
Scrum Benefits/Drawbacks


           Benefits
             Empirical process control
             Socialization and knowledge transfer
             Team controls their own destiny
             Risk management
           Drawbacks
             Management not used to letting go of the reins
             Outcome dependent on the team (variable?)

                                                              20
10/01/09
XP/Scrum Hybrids




                              21
10/01/09
Crystal Light Methods




           Rank projects by # of people & error consequence
           Adapt your methodology to your project's need
           Use the least disciplined methodology that will still
           succeed
                                                                   22
10/01/09
dX: Hybrid between RUP & XP


           An agile RUP-dervived approach (oxymoron?)
           Inception: use-case cards, prototypes, velocity
           Elaboration: iterative, UML, refactor, test
           Construction: indistinguishable from elaboration
           Transition: early release, active feedback
           Helping drive sales of Rational's tools ($$$)


                                                              23
10/01/09
Feature-Driven Development


           Deliver frequent, tangible working results
           A feature defines a task
           Group features into business-related sets
           Focus on delivering features every two weeks
           Track and report progress through feature
           progress
           Plan, build, and design by feature

                                                          24
10/01/09
Adaptive Software Development




           Short iterations
           Deliverable-centric instead of task-centric
                                                         25
10/01/09
Agile Resources


           Calgary Agile Methods User Group
             Monthly meetings at the U of C
             http://can.cpsc.ucalgary.ca/camug/
           Books (tons of these on Agile topics)
             eXtreme Programming eXplained by Kent Beck
             Agile Soft. Dev. with SCRUM by Schwaber et al.
           Articles, discussion, information on the Web


                                                              26
10/01/09
Milos Agile Project Tool




                                      27
10/01/09
References

           Beedle, Mike. XBreed web site (description page). 2002
           Cohn, Mike. The Scrum Development Process. Mountain Goat Software. 2002
           Cockburn, Alistair. Crystal Light Methods. Cutter IT Journal. 2001
           Law, Amy and Keijin Huang. SENG 623: Scrum class presentation. 2002
           Martin, Robert. Object Oriented Analysis and Design with Applications. 2001
           Maurer, Frank. SENG 609.24: Agile Methods Class Slides. 2002
           McBreen, Pete. SENG 609.33: Agile Testing Class Notes. 2002
           McBreen, Pete. Questioning eXtreme Programming. 2002
           Murthi, Sanjay. Scaling Agile Methods. New Architect Magazine. October 2002
           Schwaber, Ken. XP@Scrum web site. 2002
           Sliwa, Carol. XP, Scrum Join Forces. ComputerWorld Magazine. March 2002
           Wells, Don. www.extremeprogramming.org web site. 2002

                                                                                         28
10/01/09

More Related Content

What's hot

Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basicsArun R
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentationgihanlsw
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
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
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumVoximate
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar ReportMohit Kumar
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 sJames Sutter
 
Scrum methodology in practice
Scrum methodology in practiceScrum methodology in practice
Scrum methodology in practiceIllia Pinchuk
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentationdeyoepw
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentTathagat Varma
 
Overview: Agile Methodology and Scrum
Overview: Agile Methodology and ScrumOverview: Agile Methodology and Scrum
Overview: Agile Methodology and ScrumIgor Corrêa
 

What's hot (20)

Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
India Agile Week 2015
India Agile Week 2015India Agile Week 2015
India Agile Week 2015
 
Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
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...
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and Scrum
 
Scrum in an hour
Scrum in an hourScrum in an hour
Scrum in an hour
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Scrum methodology in practice
Scrum methodology in practiceScrum methodology in practice
Scrum methodology in practice
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Overview: Agile Methodology and Scrum
Overview: Agile Methodology and ScrumOverview: Agile Methodology and Scrum
Overview: Agile Methodology and Scrum
 
The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 

Viewers also liked

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Pete Behrens
 
Agile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveAgile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveZaheer Abbas Contractor
 
Reprogramming Leadership for Agility
Reprogramming Leadership for AgilityReprogramming Leadership for Agility
Reprogramming Leadership for AgilityPete Behrens
 
Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Pete Behrens
 
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 REVOLUTION - How agile cooperation models substitute classical client/vendor... REVOLUTION - How agile cooperation models substitute classical client/vendor...
REVOLUTION - How agile cooperation models substitute classical client/vendor...Mirko Kleiner
 
Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Pete Behrens
 
Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Pete Behrens
 
VeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile PracticesVeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile Practicesapveriqual
 
Agile leadership in the enterprise
Agile leadership in the enterpriseAgile leadership in the enterprise
Agile leadership in the enterprisePete Behrens
 
Developing Agile Leadership
Developing Agile LeadershipDeveloping Agile Leadership
Developing Agile LeadershipPete Behrens
 
The Culture of Agility
The Culture of AgilityThe Culture of Agility
The Culture of AgilityPete Behrens
 
Measuring Agility: Top 5 Metrics And Myths
Measuring Agility: Top 5 Metrics And MythsMeasuring Agility: Top 5 Metrics And Myths
Measuring Agility: Top 5 Metrics And MythsPete Behrens
 
Coach Approach to Leadership - Conversations for Success
Coach Approach to Leadership - Conversations for SuccessCoach Approach to Leadership - Conversations for Success
Coach Approach to Leadership - Conversations for SuccessRay Lamb
 
Enterprise Agile Adoption - An Organizational Change Management Journey
Enterprise Agile Adoption - An Organizational Change Management JourneyEnterprise Agile Adoption - An Organizational Change Management Journey
Enterprise Agile Adoption - An Organizational Change Management JourneyZaheer Abbas Contractor
 

Viewers also liked (20)

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010
 
Agile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveAgile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A Perspective
 
Reprogramming Leadership for Agility
Reprogramming Leadership for AgilityReprogramming Leadership for Agility
Reprogramming Leadership for Agility
 
Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Leading Agility "Inside-Out"
Leading Agility "Inside-Out"
 
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 REVOLUTION - How agile cooperation models substitute classical client/vendor... REVOLUTION - How agile cooperation models substitute classical client/vendor...
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 
Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Death By Scrum Meeting 2009
Death By Scrum Meeting 2009
 
Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)
 
VeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile PracticesVeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile Practices
 
Agile leadership in the enterprise
Agile leadership in the enterpriseAgile leadership in the enterprise
Agile leadership in the enterprise
 
Developing Agile Leadership
Developing Agile LeadershipDeveloping Agile Leadership
Developing Agile Leadership
 
The Culture of Agility
The Culture of AgilityThe Culture of Agility
The Culture of Agility
 
Measuring Agility: Top 5 Metrics And Myths
Measuring Agility: Top 5 Metrics And MythsMeasuring Agility: Top 5 Metrics And Myths
Measuring Agility: Top 5 Metrics And Myths
 
Coach Approach to Leadership - Conversations for Success
Coach Approach to Leadership - Conversations for SuccessCoach Approach to Leadership - Conversations for Success
Coach Approach to Leadership - Conversations for Success
 
Enterprise Agile Adoption - An Organizational Change Management Journey
Enterprise Agile Adoption - An Organizational Change Management JourneyEnterprise Agile Adoption - An Organizational Change Management Journey
Enterprise Agile Adoption - An Organizational Change Management Journey
 

Similar to Agile Software Development Methodologies

ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp
 
Being Agile - Doing Scrum
Being Agile - Doing ScrumBeing Agile - Doing Scrum
Being Agile - Doing Scrumevdherberg
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
Towards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsTowards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsDmitriyViktorov
 
My Journey So Far
My Journey So FarMy Journey So Far
My Journey So Farskipangel
 
Alm Agile In Large Projects V2
Alm Agile In Large Projects V2Alm Agile In Large Projects V2
Alm Agile In Large Projects V2AllyWick
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development ProjectsMartina Šimičić
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Nowmtoppa
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile MethodologiesKenny Nguyen
 

Similar to Agile Software Development Methodologies (20)

Agile Methods Overview ]
Agile Methods Overview ]Agile Methods Overview ]
Agile Methods Overview ]
 
ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2ITCamp 2012 - Dan Nicola - Scrum v2
ITCamp 2012 - Dan Nicola - Scrum v2
 
Being Agile - Doing Scrum
Being Agile - Doing ScrumBeing Agile - Doing Scrum
Being Agile - Doing Scrum
 
Zen of Scrum
Zen of ScrumZen of Scrum
Zen of Scrum
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Xp methadology
Xp methadologyXp methadology
Xp methadology
 
Towards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature TeamsTowards Agile Scalability: From Component To Feature Teams
Towards Agile Scalability: From Component To Feature Teams
 
My Journey So Far
My Journey So FarMy Journey So Far
My Journey So Far
 
Iss 05
Iss 05Iss 05
Iss 05
 
Scrum wall images by tobias mayer
Scrum wall images by tobias mayerScrum wall images by tobias mayer
Scrum wall images by tobias mayer
 
Ch04
Ch04Ch04
Ch04
 
Alm Agile In Large Projects V2
Alm Agile In Large Projects V2Alm Agile In Large Projects V2
Alm Agile In Large Projects V2
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Now
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Agile - Monojit basu
Agile - Monojit basuAgile - Monojit basu
Agile - Monojit basu
 
Agile - Monojit Basu
Agile - Monojit BasuAgile - Monojit Basu
Agile - Monojit Basu
 

More from guy_davis

Adopting Scrum and Agile
Adopting Scrum and AgileAdopting Scrum and Agile
Adopting Scrum and Agileguy_davis
 
Pragmatic Programmer
Pragmatic ProgrammerPragmatic Programmer
Pragmatic Programmerguy_davis
 
Content Caching with Rails
Content Caching with RailsContent Caching with Rails
Content Caching with Railsguy_davis
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentguy_davis
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Javaguy_davis
 
Project Monitoring and Control
Project Monitoring and ControlProject Monitoring and Control
Project Monitoring and Controlguy_davis
 
The Human Side of Software Development
The Human Side of Software DevelopmentThe Human Side of Software Development
The Human Side of Software Developmentguy_davis
 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Patternguy_davis
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Planguy_davis
 
Unified Process
Unified ProcessUnified Process
Unified Processguy_davis
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
Quality Function Deployment
Quality Function DeploymentQuality Function Deployment
Quality Function Deploymentguy_davis
 

More from guy_davis (12)

Adopting Scrum and Agile
Adopting Scrum and AgileAdopting Scrum and Agile
Adopting Scrum and Agile
 
Pragmatic Programmer
Pragmatic ProgrammerPragmatic Programmer
Pragmatic Programmer
 
Content Caching with Rails
Content Caching with RailsContent Caching with Rails
Content Caching with Rails
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Project Monitoring and Control
Project Monitoring and ControlProject Monitoring and Control
Project Monitoring and Control
 
The Human Side of Software Development
The Human Side of Software DevelopmentThe Human Side of Software Development
The Human Side of Software Development
 
Adapter Design Pattern
Adapter Design PatternAdapter Design Pattern
Adapter Design Pattern
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Quality Function Deployment
Quality Function DeploymentQuality Function Deployment
Quality Function Deployment
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Agile Software Development Methodologies

  • 1. Agile Software Development Revenge of the Programmers? Guy Davis – Pason Systems 1 10/01/09
  • 2. Overview Agile Manifesto eXtreme Programming (XP) Scrum XBreed, XP@Scrum, Crystal, dX, FDD, ASD Agile Resources 2 10/01/09
  • 3. Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 3 10/01/09
  • 4. eXtreme Programming (XP) Core Values Project Variables Communication Cost Simplicity Scope Feedback Time Courage Quality 4 10/01/09
  • 5. Key Practices of XP 5 10/01/09
  • 6. XP Process 6 10/01/09
  • 7. XP Iteration 7 10/01/09
  • 8. XP Development 8 10/01/09
  • 9. XP Collective Code Ownership 9 10/01/09
  • 10. XP Planning 10 10/01/09
  • 11. XP Roles Programmer Customer Tester Tracker Coach Consultant Big Boss 11 10/01/09
  • 12. XP Limitations Good for consultants, custom software dev. What about other types of software dev.? Shrink-wrap software? Misson or life critical systems? Fixed price, fixed scope contracts? Scalability of the XP process to large teams? On-site customer possible for your project? Team must be co-located? Distributed teams? 12 10/01/09
  • 13. Scrum 13 10/01/09
  • 14. Scrum Roles Product Owner Solely controls the product backlog (prioritized) Arbitrates requests from all customers Does NOT control the sprint backlog Scrum Master Enforces the values, practices, and rules of Scrum Interface between developers and management Removes impediments for developers 14 10/01/09
  • 15. Scrum Team No traditional roles Cross- functional Self-organizing Size: 7 people ± 2 Has both authority and Scaling Scrum Projects responsibility Can follow any 15 10/01/09
  • 16. Sprint Planning Meeting 16 10/01/09
  • 17. Daily Scrum Each team member answers three questions: What have you done since the last scrum? What are you planning to do before the next scrum? What got in the way of doing your work? Goals of this short meeting: Identify impediments slowing progress Make decisions collectively as a team Track team progress during the sprint 17 10/01/09
  • 18. Sprint Burndown 18 10/01/09
  • 19. Sprint Review Meeting Demonstrate functionality added during sprint Team, product owner, and customers attend Product increment is assessed against sprint goal Discuss successes and failures from last sprint Short prep time for team (~2 hours; no M$ PP) 19 10/01/09
  • 20. Scrum Benefits/Drawbacks Benefits Empirical process control Socialization and knowledge transfer Team controls their own destiny Risk management Drawbacks Management not used to letting go of the reins Outcome dependent on the team (variable?) 20 10/01/09
  • 21. XP/Scrum Hybrids 21 10/01/09
  • 22. Crystal Light Methods Rank projects by # of people & error consequence Adapt your methodology to your project's need Use the least disciplined methodology that will still succeed 22 10/01/09
  • 23. dX: Hybrid between RUP & XP An agile RUP-dervived approach (oxymoron?) Inception: use-case cards, prototypes, velocity Elaboration: iterative, UML, refactor, test Construction: indistinguishable from elaboration Transition: early release, active feedback Helping drive sales of Rational's tools ($$$) 23 10/01/09
  • 24. Feature-Driven Development Deliver frequent, tangible working results A feature defines a task Group features into business-related sets Focus on delivering features every two weeks Track and report progress through feature progress Plan, build, and design by feature 24 10/01/09
  • 25. Adaptive Software Development Short iterations Deliverable-centric instead of task-centric 25 10/01/09
  • 26. Agile Resources Calgary Agile Methods User Group Monthly meetings at the U of C http://can.cpsc.ucalgary.ca/camug/ Books (tons of these on Agile topics) eXtreme Programming eXplained by Kent Beck Agile Soft. Dev. with SCRUM by Schwaber et al. Articles, discussion, information on the Web 26 10/01/09
  • 27. Milos Agile Project Tool 27 10/01/09
  • 28. References Beedle, Mike. XBreed web site (description page). 2002 Cohn, Mike. The Scrum Development Process. Mountain Goat Software. 2002 Cockburn, Alistair. Crystal Light Methods. Cutter IT Journal. 2001 Law, Amy and Keijin Huang. SENG 623: Scrum class presentation. 2002 Martin, Robert. Object Oriented Analysis and Design with Applications. 2001 Maurer, Frank. SENG 609.24: Agile Methods Class Slides. 2002 McBreen, Pete. SENG 609.33: Agile Testing Class Notes. 2002 McBreen, Pete. Questioning eXtreme Programming. 2002 Murthi, Sanjay. Scaling Agile Methods. New Architect Magazine. October 2002 Schwaber, Ken. XP@Scrum web site. 2002 Sliwa, Carol. XP, Scrum Join Forces. ComputerWorld Magazine. March 2002 Wells, Don. www.extremeprogramming.org web site. 2002 28 10/01/09

Editor's Notes

  1. Welcome to Tech Talks. Hoping to have participants present on interesting topics in software development. Goal: Further our programming practice as Software Engineers. Art, Craft, Science, Engineering question -> good topic :) “Revenge of the Programmers” : Phrase coined by Bertrand Meyer upon learing of Agile methodologies. What are programmers getting revenge against? Development Methodologies: 1) Lightweight: agile world 2) Heavyweight: RUP, CMM, MILSTD world 3) Ad-hoc: What's a methodology? 4) Tailored: Take the best of all worlds to suit your situation...
  2. Agile is a group of lightweight software development methodolgies. “Agile Alliance” created by representatives from various methodologies in 2001 on a ski trip in Utah. Fancy term for light weight. Includes: Extreme Programming: Beck (1996) Scrum: Sutherland, Schwaber, Beedle (1996) Crystal: Alistair Cockburn (1995) DX: Robert Martin (1998) Feature drvien design (FDD): Coad, Lefevbre, Deluca (1997) Adaptive Software Development (ASD): Peter Highsmith (1994) Dynamic systems development method: ??? (1992) Pragmatic Programming: Thomas, Hunt (1999)
  3. Not to say that things on the right are never done or are completely useless, just that agile processes have a preference for the items on the left. Basically about empowering the individual developer improves communication with customer improves time estimates through measurement of velocity improves testing (TDD, automated); better software quality attempts to reduce the pain caused by rapidly changing requirements no more death marches to meet arbitrary deadlines
  4. Communication: Most problems traced to miscommunication between team members. Simplicity: What's the simplest thing that could possibly work? Feedback: Rapid releases, automated unit testing Courage: Admit failure, to refactor, to pair program XP defines four project variables that affect the outcome of all software projects. Management can pin down any three of the variables, but not the fourth. Any software project were all four are dictated by management without developer feedback are likely to fail. Good example: Fred Brooks classic “Mythic Man Month” describing the a death march to release IBM OS/360, added more junior programmers
  5. Customer Satisfaction On-site customer: answer questions, define needs, prioritize features Small, frequent releases: early, constant feedback, easier to plan Software Quality Metaphor: Overall idea of the system, consistent naming scheme Testing: test first design; automated unit, regression, and acceptance tests Simple design: design for today, not for the future Refactoring: goal is to keep design simple Pair programming: peer review is good so do it all the time Project Management Planning game: determine user stories, priorities, release schedule Sustainable development: Never more than two weeks of OT in a row Collective code ownership: Keeps code clean, discourages “experts” Continous integration: avoids traditional big bang integration problems Coding standards: Easier for all developers to understand whole system
  6. User stories (requirements) from customer; input for acceptance tests Spikes: a throw-away test program that addresses major uncertainties Release planning: Overall project schedule meeting, based on user story estimates, move user story cards around on big table to set releases Iterations: plan each iteration just before entry; follows from release plan; consider current project velocity (total of story estimates completed in an iteration), generate acceptance tests Acceptance tests are black box system tests. Customer responsible for verifying correctness.
  7. Roughly 1-3 weeks long Initial planning meeting: Choose user stories to complete based on customer priority Handle failed acceptance tests from last iteration Estimates for stories must equal project velocity of previous iteration Break user stories down into programming tasks - developers choose and estimate their tasks (1-3 days of ideal time) - total estimates for tasks can't exceed project velocity (snow-plowing) All estimates are encouraged to be accurate, low-balling doesn't help May need to re-estimate all user stories and redo release plan every 3-5 iterations depending on requirements flux.
  8. Daily stand up meeting Short (no chairs) Communicate problems and solutions Promote team focus Encourages communication between whole team Replaces tedious meetings (can determine if private meetings are necessary, can remove need to even schedule official meetings) Nearly immediate heads-up if individual is overloaded Promotes collective understanding of system, sharing
  9. Any developer can add functionality, fix bugs, or refactor Reduces chance of one person becoming a bottle-neck - Move people around to promote cross-training Pair programming (proactive peer review) - One thinks tactically about method, other strategically about system Requires unit testing - drives design; test first design ensures the simplest solution is built - results in higher quality software, easier to refactor safely Requires continous integration - ensures unit tests are passing, catches problems fast! - only one pair integrates at a time (sequential integration) Allows constant refactoring to improve system (no more crusty code!) Class, Responsibilities, Collaboration (CRC) cards are used find simple solutions to complex problems; use cards in informal design meetings
  10. Don't plan with too much detail too far out. Set the right scope. Feedback is critical to ensure the project is on track. Most effective for responding to changing requirements and project conditions.
  11. These are not necessarily separate people; can wear multiple hats. Programmer: code, refactor, unit-test; strive for simplicity, communicate Customer: domain expert, able to make decisions, write user stories Tester: liase with customer to write, run, and report functional tests Tracker: track estimates and schedule, log defects, provide feedback Coach: responsible for process as a whole, steer the team (hands off) Consultant: XP doesn't create specialists, hire them to teach team Big Boss: courage, communication, occasionally oversight
  12. Consultants love it because it leads to higher customer satisfaction by involving customer throughout project. Same thing with custom software or in-house development. But shrink wrap software usually has diverse customer base Already do insane peer review & quality control -> space shuttle coders Nailing down all four project variables, no place for XP feedback Most experience indicates 20-30 is upper limit on team size - Servidium had 30+ , New Architect article two teams of 50+ total - Can you split up a big team into XP sub-teams? Issues? Anecdotal evidence indicates that XP requires an experienced group of coders; junior teams don't do as well with XP What is the affect on traditional architecture and design process? What is the affect on traditional quality assurance process? Currently research at the U of C on Distributed XP (Frank Mauer)
  13. Refers to scrum from rugby (team working to common goal) Originated in Japan in 1987 (Nonaka and Takeuchi) Mentioned in software context by Degrace and Stahl in 1990 Applied to software by Schwaber and Sutherland in mid-1990's Undefined (unpredictable, complex, dynamic) processes require different manage & control than defined (which CMM assumes) Concepts: Product Backlog: master list of all functionality (tasks and stories) - in order of priority with time estimates for each Sprint: an iteration (30 days) in which team has total freedom/responsibility to accomplish the goals Sprint Backlog: The portion of the Product Backlog the team selected for completion during the Sprint Tasks: Breakdown of items to complete to finish a sprint backlog item
  14. Note absence of traditional roles like programmer, tester, architect, etc. Leads to discussion of Scrum team in next slide.
  15. Like XP, Scrum uses cross-functional teams whose members have various strengths. All contribute. Like XP, requires a small team to enhance communication Inside sprint, team decides who will do which tasks, not dictated from management Important point: During a sprint, the team has full authority to make any decision to meet sprint goal (within org conventions and budget) Also have responsibility to meet the goal they have set for themselves. Scrum doesn't dictate engineering processes that team must use, could do XP, RUP, whatever as long as produce results. Use metascrums or “scrum of scrums” approach to scaling. Diagram shows 243 people in a number of scrum teams This approach has be scaled to over 800 people by Jeff Sutherland.
  16. Really two separate meetings... First between team and product owner (and other observers): Product owner presents high priority items from product backlog With input from all, the team selects the backlog it can do in next sprint Identify a “sprint goal”: a short theme for the sprint (like XP's metaphor) Team publicly commits to completing backlog in coming sprint Second just the team and scrum master (product owner can observe): As a whole the team creates a Sprint Backlog of tasks based on the Product Backlog items committed to. Tasks should 4-16 hours of “ideal work” to accomplish (estimates) Team self-organizes to assign the tasks to each other Can modify sprint backlog throughout the sprint
  17. Why daily? Brooks: “How does a project get to be a year late? A day at a time.” Short (~15 minute) meeting held each morning at same time (stand-up?) Only “pigs” can speak or ask questions, “chickens” just observe - Joke: A chicken asks pig to start a restaurant called “Ham 'n Eggs”. Pig says “No thanks. I'd be commited, but you'd only be involved!” Decisions: team has full authority to make any decision required to convert product backlog into product increment. Any items requiring further discussion should fork off follow-up meetings of just those involved. Scrum master plays role of meeting facilitator Create peer pressure to accomplish what you commit to...
  18. Main project metric is hours remaining to complete in a sprint. This provides a good measure of team progress. If team finds itself overloaded in a sprint, it can call a meeting with the Product Owner to reduce that amount or scope of product backlog selected (like XP's snow-plowing) A sprint can be abnormally terminated: Management can decide sprint goal is no longer necessary Team can cancel sprint if they face major roadblock or sustained outside pressure to modify sprint goal from external sources
  19. A Sprint Review Meeting should not become a distraction or significant detour for the team; rather, it should be a natural result of the Sprint.
  20. Empirical process control: better suited to complexities inherent in software development (more agile than CMM for example) Team controls their destiny: team sinks or swims together, have full authority and responsiblity -> allows good teams to be very productive Socialization and knowledge transfer: team develops strong ties, open environment and scrum meeting lead to good knowledge transfer, pecking order in team changes minute to minute based on knowledge/expertise Risk management: reduces risks of poor estimation, low customer satisfaction, not meeting commitments, not resolving issues, contanstly changing requirements Management: requires management sponsorship and buy-in Result varies between teams -> assumes you have good people who can work more productively (always hire the best you can get)
  21. XP and Scrum are complementary: XP is an engineering methodology (propeller heads) Scrum is a project management methodology (PHBs) XP@Scrum Ken Schwaber Applied by TransCanada Pipelines on their development projects - 300 people working on three large projects Scrum manages project while XP ensures high quality XBreed Mike Beedle Evolved from supporting multiple projects which resused components Can bridge gap caused by splitting up XP teams?
  22. Alistair Cockburn Hired as a consultant to IBM in '90s to determine best methodology: - found successful teams apologizing for not following the process - found failed teams thinking they didn't apply process correctly Devised a family of Agile Methodologies for different projects Reliance on people, communication, and frequent delivery of running code. The methodology for 2-6 person projects is Crystal Clear, for 6-20 person projects is Crystal Yellow, for 20-40 person projects is Crystal Orange, then Red, Magenta, Blue, etc.
  23. Does more in the way of documentation (particularly UML) as done by Peter Coad of TogetherSoft.
  24. Three non-linear, overlapping phases in ASD. Highsmith views planning as a paradox in an adaptive environment. (Draws heavily from chaos theory for his work)
  25. Calgary is hot-bed of Agile development right now both in industry and at the U of C. Next presentation: November 21 (6 -7 pm ) Agile Methods and Design: is software a big enough town for both of them? Martin Fowler (ThoughtWorks guru)
  26. Tracks: User stories Iterations Project velocity Developer tasks