SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Back to Basics Series
                        Topics
                        Intro to agile methodologies
                        Basic agile practices for the

Basic Agile Practices   development team
                        Basic agile practices for the project team

Thomas Sarlandie        Intended audience
                        Development teams and their
2013 03 27              counterpart in any company
Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
Agile development is not
about doing sport in the
         office




                   Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
Agile development is not
                                                                                                              It is about finding a better
about doing sport in the
                                                                                                                  way to work together
         office




                   Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
http://AgileManifesto.org
Agile Software Development today

 SCRUM
   Focuses on project management (team and work organization) and on
   planning. (Strategic level)
 Extreme Programming
   Practices to improve efficiency of development teams. (Tactical level)
Basic Agile Practices
 for the development team
Pair Programming
 Two brains much better than one ...
 Two developers working together on the same code
 One driver, one observer - Switch every 15’


 Much better concentration
 Training - Sharing best practices
 Collective code ownership

                                                              Photo by rafa-alves - CC-BY-SA
                                                    http://www.flickr.com/photos/rafaelmob/4669642298/
Collective Code Ownership
                                                   #include <stdio.h>

 No-one ‘owns’ a particular module or piece of     char *msg = "Hello Worldn";
 code
                                                   int main(int argc, char **argv)
 Every one can comment or commit in any            {
 piece of the code                                   while (*msg)
                                                     {
 Every one is responsible for the quality of the       putchar(*msg);
                                                       msg++;
 code
                                                     }
                                                   }
Refactoring
 Start by writing the simplest code for the task at hand
 Then when you need to extend it, refactor to make sure it
 remains clean, clear and concise


 Can be as simple as:
    Renaming classes when their role changes
    Making sure the same concepts have the same name
    everywhere
    Remove useless code and Factor duplicate code
Test Driven Development

 Write test first, then the code


 Improves the design of the code
 Future proof
 Better than a lot of documentation


                                      http://www.javacodegeeks.com/2012/05/test-driven-development-win-win.html
Continuous Integration

 Automates the build process of your code
 Email the team when a test or build fails
 Provides up-to-date “snapshots” of the code


 Improves collaboration
 Reduces time spent on tedious tasks
Basic Agile Practices
 for the entire team
Standup Meeting
Every morning, members of a project meet for
a standup meeting
Says what she did yesterday
What she will do today
What are the potential problems


Improves communication in the team greatly
Keeps people focused and coordinated
Helps avoid wasted time
                                                       Photo by Alexander Ljung - CC-BY-SA-NC
                                               http://www.flickr.com/photos/alexanderljung/3041180268/
Kanban (aka Post-it board)
 Three columns on the wall: Todo, In Progress, Done
 One post-it for each specific task (not feature - task)
 Updated in “real-time”
 Define “Done”


 Visible progress
 Avoid wasting time on not important tasks
 Forces everyone to thing about the tasks
 Trust-me: Post-its are much better than any software...             Photo by @Stephen - CC-BY-NC
                                                           http://www.flickr.com/photos/hdbizblog/4296189727/
Time-boxing - Sprint
 Define time boxes for your development: sprint
                                                             1
 Define what you would like to do in that sprint and do
 not change it once started
                                                             2
 Release a working product at the end of each sprint


 Gives some stability to the team and allows the client to   3
 change priorities
 Gain experience on how much can be done in one
 sprint
Backlog
A list of all the Use Cases that need to be
developed
Estimated with a Complexity
Prioritized by the Product Owner
Feeds new sprints


Oriented towards the user (use-cases)
Enables Release Planning

                                              Copyright 2005 - Mountain Goat Software
Retrospective
 At the end of each sprint, the team takes some time to
 think about what went well, what needs improvement,
 the ideas that came up and questions
 Vote for the 3 most important things
 Take one action to improve/maintain each voted item


 Continuous improvement
Retrospective
 At the end of each sprint, the team takes some time to
 think about what went well, what needs improvement,
 the ideas that came up and questions
 Vote for the 3 most important things
 Take one action to improve/maintain each voted item


 Continuous improvement
Retrospective
 At the end of each sprint, the team takes some time to
 think about what went well, what needs improvement,
 the ideas that came up and questions
 Vote for the 3 most important things
 Take one action to improve/maintain each voted item


 Continuous improvement
Practices to take home today
 Pair Programming
 Collective Code Ownership
 Refactoring
                             and agile values:
 Test Driven Development       Continuous Improvement
 Kanban                        Communication
 Standup Meeting               Courage
 Time-boxing - Sprint
 Backlog
 Retrospective
Thank you!

                       Refactoring: Improving the design of
                       existing code (Martin Fowler)
                       Let’s Play TDD Development (youtube)


                       Scrum and XP from the trenches
www.sarfata.org        Scrum Guide
@sarfata
thomas@sarlandie.net

Contenu connexe

Tendances

What is the purpose of Sprint planning meeting in Agile?
What is the purpose of Sprint planning meeting in Agile?What is the purpose of Sprint planning meeting in Agile?
What is the purpose of Sprint planning meeting in Agile?Mario Lucero
 
Introduction to scrum
Introduction to scrumIntroduction to scrum
Introduction to scrumSunny Poswal
 
Scrum guide presentation (Scrum Guide in easy to read PPT format)
Scrum guide presentation (Scrum Guide in easy to read PPT format)Scrum guide presentation (Scrum Guide in easy to read PPT format)
Scrum guide presentation (Scrum Guide in easy to read PPT format)Aloke Bhattacharya
 
Lightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To ScrumLightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To Scrumjoshua.mcadams
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentalsDeniz Gungor
 
Short introduction to Agile Scrum
Short introduction to Agile ScrumShort introduction to Agile Scrum
Short introduction to Agile ScrumNishan Bose
 
Sprint Review and Planning Template
Sprint Review and Planning TemplateSprint Review and Planning Template
Sprint Review and Planning TemplateMike Lally
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum IntroductionJames Brett
 
Scrum - A Short Tour
Scrum - A Short TourScrum - A Short Tour
Scrum - A Short TourVineet Patni
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 MinutesSerge Rehem
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018pmengal
 

Tendances (18)

Scrum
ScrumScrum
Scrum
 
What is the purpose of Sprint planning meeting in Agile?
What is the purpose of Sprint planning meeting in Agile?What is the purpose of Sprint planning meeting in Agile?
What is the purpose of Sprint planning meeting in Agile?
 
Introduction to scrum
Introduction to scrumIntroduction to scrum
Introduction to scrum
 
Scrum ppt
Scrum pptScrum ppt
Scrum ppt
 
Scrum guide presentation (Scrum Guide in easy to read PPT format)
Scrum guide presentation (Scrum Guide in easy to read PPT format)Scrum guide presentation (Scrum Guide in easy to read PPT format)
Scrum guide presentation (Scrum Guide in easy to read PPT format)
 
Lightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To ScrumLightning Talk: An Introduction To Scrum
Lightning Talk: An Introduction To Scrum
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
 
Short introduction to Agile Scrum
Short introduction to Agile ScrumShort introduction to Agile Scrum
Short introduction to Agile Scrum
 
Sprint Review and Planning Template
Sprint Review and Planning TemplateSprint Review and Planning Template
Sprint Review and Planning Template
 
Scrum in a nutshell
Scrum in a nutshellScrum in a nutshell
Scrum in a nutshell
 
Scrum team and efficiency
Scrum team and efficiencyScrum team and efficiency
Scrum team and efficiency
 
Scrum Master Handbook
Scrum Master HandbookScrum Master Handbook
Scrum Master Handbook
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum Introduction
 
Scrum - A Short Tour
Scrum - A Short TourScrum - A Short Tour
Scrum - A Short Tour
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
 
SCRUM – Agile Methodology
SCRUM – Agile MethodologySCRUM – Agile Methodology
SCRUM – Agile Methodology
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 

En vedette

Agile benefits and basics
Agile benefits and basicsAgile benefits and basics
Agile benefits and basicsTom Henricksen
 
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...EBG Consulting, Inc.
 
Intro to Agile Requirements: User Stories, Backlogs and Beyond
Intro to Agile Requirements: User Stories, Backlogs and BeyondIntro to Agile Requirements: User Stories, Backlogs and Beyond
Intro to Agile Requirements: User Stories, Backlogs and BeyondEBG Consulting, Inc.
 
Top 10 Benefits Of Agile Methodology
Top 10 Benefits Of Agile MethodologyTop 10 Benefits Of Agile Methodology
Top 10 Benefits Of Agile Methodologyekipaco
 
10 Tips for Creating Great User Stories
10 Tips for Creating Great User Stories10 Tips for Creating Great User Stories
10 Tips for Creating Great User StoriesRoman Pichler
 
Become a Great Product Manager
Become a Great Product ManagerBecome a Great Product Manager
Become a Great Product ManagerRoman Pichler
 
Product Strategy and Product Success
Product Strategy and Product SuccessProduct Strategy and Product Success
Product Strategy and Product SuccessRoman Pichler
 
Intro To Agile Requirements(Agile2016 Bootcamp)
Intro To Agile Requirements(Agile2016 Bootcamp)Intro To Agile Requirements(Agile2016 Bootcamp)
Intro To Agile Requirements(Agile2016 Bootcamp)EBG Consulting, Inc.
 

En vedette (10)

Agile benefits and basics
Agile benefits and basicsAgile benefits and basics
Agile benefits and basics
 
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...
Power Up Your Agile Planning and Analysis: Deliver Value Via Structured Conve...
 
Intro to Agile Requirements: User Stories, Backlogs and Beyond
Intro to Agile Requirements: User Stories, Backlogs and BeyondIntro to Agile Requirements: User Stories, Backlogs and Beyond
Intro to Agile Requirements: User Stories, Backlogs and Beyond
 
Agile Basics
Agile BasicsAgile Basics
Agile Basics
 
Top 10 Benefits Of Agile Methodology
Top 10 Benefits Of Agile MethodologyTop 10 Benefits Of Agile Methodology
Top 10 Benefits Of Agile Methodology
 
10 Tips for Creating Great User Stories
10 Tips for Creating Great User Stories10 Tips for Creating Great User Stories
10 Tips for Creating Great User Stories
 
UX and Scrum
UX and ScrumUX and Scrum
UX and Scrum
 
Become a Great Product Manager
Become a Great Product ManagerBecome a Great Product Manager
Become a Great Product Manager
 
Product Strategy and Product Success
Product Strategy and Product SuccessProduct Strategy and Product Success
Product Strategy and Product Success
 
Intro To Agile Requirements(Agile2016 Bootcamp)
Intro To Agile Requirements(Agile2016 Bootcamp)Intro To Agile Requirements(Agile2016 Bootcamp)
Intro To Agile Requirements(Agile2016 Bootcamp)
 

Similaire à Back To Basics: Agile Practices

Agile Development with Scrum.pptx
Agile Development with Scrum.pptxAgile Development with Scrum.pptx
Agile Development with Scrum.pptxzuma14
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrummsorin
 
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...varty
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrumscottycn
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To ScrumErwin Verweij
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminarSSW
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrummbalas2
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesJérôme Kehrli
 
Desenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumDesenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumGuilherme Chapiewski
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1Jorge Boria
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewDUONG Trong Tan
 
Chapter 2 Time boxing &amp; agile models
Chapter 2   Time boxing &amp; agile modelsChapter 2   Time boxing &amp; agile models
Chapter 2 Time boxing &amp; agile modelsGolda Margret Sheeba J
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 

Similaire à Back To Basics: Agile Practices (20)

Agile Development with Scrum.pptx
Agile Development with Scrum.pptxAgile Development with Scrum.pptx
Agile Development with Scrum.pptx
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrum
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrum
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminar
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrum
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Desenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumDesenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e Scrum
 
Agile
AgileAgile
Agile
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Chapter 2 Time boxing &amp; agile models
Chapter 2   Time boxing &amp; agile modelsChapter 2   Time boxing &amp; agile models
Chapter 2 Time boxing &amp; agile models
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Scrum in One Day
Scrum in One DayScrum in One Day
Scrum in One Day
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 

Dernier

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Back To Basics: Agile Practices

  • 1. Back to Basics Series Topics Intro to agile methodologies Basic agile practices for the Basic Agile Practices development team Basic agile practices for the project team Thomas Sarlandie Intended audience Development teams and their 2013 03 27 counterpart in any company
  • 2. Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
  • 3. Agile development is not about doing sport in the office Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
  • 4. Agile development is not It is about finding a better about doing sport in the way to work together office Image by RelaxingMusic - Used under a CC-BY license: http://www.flickr.com/photos/83905817@N08/7676582338/
  • 6. Agile Software Development today SCRUM Focuses on project management (team and work organization) and on planning. (Strategic level) Extreme Programming Practices to improve efficiency of development teams. (Tactical level)
  • 7. Basic Agile Practices for the development team
  • 8. Pair Programming Two brains much better than one ... Two developers working together on the same code One driver, one observer - Switch every 15’ Much better concentration Training - Sharing best practices Collective code ownership Photo by rafa-alves - CC-BY-SA http://www.flickr.com/photos/rafaelmob/4669642298/
  • 9. Collective Code Ownership #include <stdio.h> No-one ‘owns’ a particular module or piece of char *msg = "Hello Worldn"; code int main(int argc, char **argv) Every one can comment or commit in any { piece of the code while (*msg) { Every one is responsible for the quality of the putchar(*msg); msg++; code } }
  • 10. Refactoring Start by writing the simplest code for the task at hand Then when you need to extend it, refactor to make sure it remains clean, clear and concise Can be as simple as: Renaming classes when their role changes Making sure the same concepts have the same name everywhere Remove useless code and Factor duplicate code
  • 11. Test Driven Development Write test first, then the code Improves the design of the code Future proof Better than a lot of documentation http://www.javacodegeeks.com/2012/05/test-driven-development-win-win.html
  • 12. Continuous Integration Automates the build process of your code Email the team when a test or build fails Provides up-to-date “snapshots” of the code Improves collaboration Reduces time spent on tedious tasks
  • 13. Basic Agile Practices for the entire team
  • 14. Standup Meeting Every morning, members of a project meet for a standup meeting Says what she did yesterday What she will do today What are the potential problems Improves communication in the team greatly Keeps people focused and coordinated Helps avoid wasted time Photo by Alexander Ljung - CC-BY-SA-NC http://www.flickr.com/photos/alexanderljung/3041180268/
  • 15. Kanban (aka Post-it board) Three columns on the wall: Todo, In Progress, Done One post-it for each specific task (not feature - task) Updated in “real-time” Define “Done” Visible progress Avoid wasting time on not important tasks Forces everyone to thing about the tasks Trust-me: Post-its are much better than any software... Photo by @Stephen - CC-BY-NC http://www.flickr.com/photos/hdbizblog/4296189727/
  • 16. Time-boxing - Sprint Define time boxes for your development: sprint 1 Define what you would like to do in that sprint and do not change it once started 2 Release a working product at the end of each sprint Gives some stability to the team and allows the client to 3 change priorities Gain experience on how much can be done in one sprint
  • 17. Backlog A list of all the Use Cases that need to be developed Estimated with a Complexity Prioritized by the Product Owner Feeds new sprints Oriented towards the user (use-cases) Enables Release Planning Copyright 2005 - Mountain Goat Software
  • 18. Retrospective At the end of each sprint, the team takes some time to think about what went well, what needs improvement, the ideas that came up and questions Vote for the 3 most important things Take one action to improve/maintain each voted item Continuous improvement
  • 19. Retrospective At the end of each sprint, the team takes some time to think about what went well, what needs improvement, the ideas that came up and questions Vote for the 3 most important things Take one action to improve/maintain each voted item Continuous improvement
  • 20. Retrospective At the end of each sprint, the team takes some time to think about what went well, what needs improvement, the ideas that came up and questions Vote for the 3 most important things Take one action to improve/maintain each voted item Continuous improvement
  • 21. Practices to take home today Pair Programming Collective Code Ownership Refactoring and agile values: Test Driven Development Continuous Improvement Kanban Communication Standup Meeting Courage Time-boxing - Sprint Backlog Retrospective
  • 22. Thank you! Refactoring: Improving the design of existing code (Martin Fowler) Let’s Play TDD Development (youtube) Scrum and XP from the trenches www.sarfata.org Scrum Guide @sarfata thomas@sarlandie.net