SlideShare ist ein Scribd-Unternehmen logo
1 von 26
1 Extreme Programming How Agile Practices can make the difference AniruddhaChakrabarti Sr. Solution Architect
2 Agenda Agile Methodology Agile Manifesto & Agile Philosophy Different Agile methodologies Extreme Programming/XP Brief History of XP XP Values, Principles and Practices Core XP Values XP Principles Different XP Practices
3 Agile Methodology Definition of Agile: Characterized by quickness, lightness, and ease of movement; nimble.  Mentally quick or alert: an agile mind. Agile Methodology promotes:  Project management process that encourages frequent inspection and adaptation;  Leadership philosophy that encourages team work, self-organization and accountability;  Set of engineering best practices that allow for rapid delivery of high-quality software;  Business approach that aligns development with customer needs and company goals.
4 Agile Philosophy: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactionsoverprocesses and tools Working softwareovercomprehensive documentation Customer collaborationover contract negotiation Responding to changeoverfollowing a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck 	      	   Mike Beedle 	       Arie van Bennekum 	Alistair Cockburn Ward Cunningham         Martin Fowler 	       James Grenning 		Jim Highsmith Andrew Hunt 	   Ron Jeffries 	       Jon Kern 		Brian Marick Robert C. Martin 	   Steve Mellor 	       Ken Schwaber 		Jeff Sutherland Dave Thomas www.AgileManifesto.org, http://AgileManifesto.org/history.html
5 Agile Philosophy Individuals and interactions over processes and tools Software without documentation is a disaster. Code is not the ideal medium for communicating the rationale and structure of a system However, too much documentation is worse than too little. Huge software documents take a great deal of time to produce, and even more time to keep in sync with the code. Working software over comprehensive documentation Software without documentation is a disaster. Code is not the ideal medium for communicating the rationale and structure of a system However, too much documentation is worse than too little. Huge software documents take a great deal of time to produce, and even more time to keep in sync with the code. Customer collaboration over contract negotiation Responding to change over following a plan
6 Different Agile Methodologies Extreme Programming / XP (Kent Beck, Ward Cunningham, Martin Fowler, Ron Jeffries) Scrum (Ken Schwaber, Jeff Sutherland) Crystal (Alistair Cockburn) DSDM Lean Software Development Feature Driven Development / FDD (Peter Coad) XBreed Adaptive Software Development / ASD (Jim Highsmith)
7 What is Extreme Programming (XP) XP is actually a deliberate and disciplined approach to software development. Discipline of software development based on Values of simplicity, communication, feedback, and courage.  Works by -  Bringing the whole team together in the presence of simple practices Enough feedback to enable the team to see where they are and to tune the practices to their unique situation.  Proven at companies like Bayerische Landesbank, Credit Swiss Life, DaimlerChrysler, First Union National Bank, Ford Motor Company and UBS. Empowers developers to confidently respond to changing customer requirements, even late in life cycle.
8 Agile & XP: A bit of History Agile software development evolved in mid-90s as part of a reaction against "heavyweight" methods. Initially they were called "lightweight methods”. In 2001, prominent members of the community met at Snowbird, Utah, and adopted the name "agile methods". Root of XP lies in Smalltalk community Early 90s: Kent Beck and Ward Cunningham came up with an approach to software development that made every thing simple and more efficient. Mar 96: Kent started Chrysler Comprehensive Compensation/C3) at DaimlerChrysler using new concepts in software development. The result was Extreme Programming (XP) methodology.
9 XP Values, Principles & Practices ,[object Object],Values Practices Principles ,[object Object]
Short Release
Continuous Integration
Simple Design
Pair Programming
…
Communication
Simplicity
Feedback
…
Humanity
Improvement
Quality
Accepted Responsibility
…,[object Object]
11 Basic Fundamental Principles Rapid Feedback Assume Simplicity Make Incremental Change Embracing Change Quality Work www.AgileManifesto.org/principles.html http://en.csharp-online.net/Introducing_XP%E2%80%94Fifteen_XP_Principles
12 Further Principles Teach Learning  Make a Small Initial Investment  Play to Win – do what is required to succeed   Concrete Experiments – use proper reports  Open, honest Communication  Work with people's instincts - not against them  Accepted Responsibility  Local Adaptation / Accept as Necessary Travel Light Honest Measurement
13 XP Practices (Rules) ,[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software DevelopmentLife Cycle Engineering
 
Agile Scrum software methodology
Agile Scrum software methodologyAgile Scrum software methodology
Agile Scrum software methodologyAbdullah Raza
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Scrum Agile Methodlogy
Scrum Agile MethodlogyScrum Agile Methodlogy
Scrum Agile MethodlogyBahaa Farouk
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesBalaji Sathram
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training ProcessClarion Marketing
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentationgihanlsw
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Scrum 101
Scrum 101Scrum 101
Scrum 101beLithe
 
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 OverviewStewart Rogers
 

Was ist angesagt? (20)

Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile Scrum software methodology
Agile Scrum software methodologyAgile Scrum software methodology
Agile Scrum software methodology
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Scrum 101
Scrum 101 Scrum 101
Scrum 101
 
Agile Methodology ppt
Agile Methodology pptAgile Methodology ppt
Agile Methodology ppt
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Scrum Agile Methodlogy
Scrum Agile MethodlogyScrum Agile Methodlogy
Scrum Agile Methodlogy
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training Process
 
Scrum for Beginners
Scrum for BeginnersScrum for Beginners
Scrum for Beginners
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 
Scrum
ScrumScrum
Scrum
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Scrum 101
Scrum 101Scrum 101
Scrum 101
 
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
 

Ähnlich wie Agile Practices - eXtreme Programming

An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek Winter
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDDSuman Guha
 
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
 
Software Development in the Brave New world
Software Development in the Brave New worldSoftware Development in the Brave New world
Software Development in the Brave New worldDavid Leip
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Vinit Kumar Singh
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programmingJean Pаoli
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentAmr E. Mohamed
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwarezeelp3114
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, VarbergFredrik Wendt
 

Ähnlich wie Agile Practices - eXtreme Programming (20)

An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDD
 
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
 
Software Development in the Brave New world
Software Development in the Brave New worldSoftware Development in the Brave New world
Software Development in the Brave New world
 
3685807
36858073685807
3685807
 
Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !Extreme programming - a quick and agile overview !
Extreme programming - a quick and agile overview !
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programming
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, Varberg
 

Mehr von Aniruddha Chakrabarti

Thomas Cook and Accenture expand relationship with 10 year technology consult...
Thomas Cook and Accenture expand relationship with 10 year technology consult...Thomas Cook and Accenture expand relationship with 10 year technology consult...
Thomas Cook and Accenture expand relationship with 10 year technology consult...Aniruddha Chakrabarti
 
NLP using JavaScript Natural Library
NLP using JavaScript Natural LibraryNLP using JavaScript Natural Library
NLP using JavaScript Natural LibraryAniruddha Chakrabarti
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageAniruddha Chakrabarti
 
Amazon alexa - building custom skills
Amazon alexa - building custom skillsAmazon alexa - building custom skills
Amazon alexa - building custom skillsAniruddha Chakrabarti
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsAniruddha Chakrabarti
 
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...Aniruddha Chakrabarti
 
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)Aniruddha Chakrabarti
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsAniruddha Chakrabarti
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTAniruddha Chakrabarti
 

Mehr von Aniruddha Chakrabarti (20)

Pinecone Vector Database.pdf
Pinecone Vector Database.pdfPinecone Vector Database.pdf
Pinecone Vector Database.pdf
 
Mphasis-Annual-Report-2018.pdf
Mphasis-Annual-Report-2018.pdfMphasis-Annual-Report-2018.pdf
Mphasis-Annual-Report-2018.pdf
 
Thomas Cook and Accenture expand relationship with 10 year technology consult...
Thomas Cook and Accenture expand relationship with 10 year technology consult...Thomas Cook and Accenture expand relationship with 10 year technology consult...
Thomas Cook and Accenture expand relationship with 10 year technology consult...
 
NLP using JavaScript Natural Library
NLP using JavaScript Natural LibraryNLP using JavaScript Natural Library
NLP using JavaScript Natural Library
 
Dart programming language
Dart programming languageDart programming language
Dart programming language
 
Third era of computing
Third era of computingThird era of computing
Third era of computing
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
Amazon alexa - building custom skills
Amazon alexa - building custom skillsAmazon alexa - building custom skills
Amazon alexa - building custom skills
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflows
 
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
 
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)
Using Swift for all Apple platforms (iOS, watchOS, tvOS and OS X)
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows PlatformsFuture of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
 
CoAP - Web Protocol for IoT
CoAP - Web Protocol for IoTCoAP - Web Protocol for IoT
CoAP - Web Protocol for IoT
 
Groovy Programming Language
Groovy Programming LanguageGroovy Programming Language
Groovy Programming Language
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
 
Level DB - Quick Cheat Sheet
Level DB - Quick Cheat SheetLevel DB - Quick Cheat Sheet
Level DB - Quick Cheat Sheet
 
Lisp
LispLisp
Lisp
 
Overview of CoffeeScript
Overview of CoffeeScriptOverview of CoffeeScript
Overview of CoffeeScript
 
memcached Distributed Cache
memcached Distributed Cachememcached Distributed Cache
memcached Distributed Cache
 
Redis and it's data types
Redis and it's data typesRedis and it's data types
Redis and it's data types
 

Kürzlich hochgeladen

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
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
 
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
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Kürzlich hochgeladen (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
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
 
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
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

Agile Practices - eXtreme Programming

  • 1. 1 Extreme Programming How Agile Practices can make the difference AniruddhaChakrabarti Sr. Solution Architect
  • 2. 2 Agenda Agile Methodology Agile Manifesto & Agile Philosophy Different Agile methodologies Extreme Programming/XP Brief History of XP XP Values, Principles and Practices Core XP Values XP Principles Different XP Practices
  • 3. 3 Agile Methodology Definition of Agile: Characterized by quickness, lightness, and ease of movement; nimble. Mentally quick or alert: an agile mind. Agile Methodology promotes: Project management process that encourages frequent inspection and adaptation; Leadership philosophy that encourages team work, self-organization and accountability; Set of engineering best practices that allow for rapid delivery of high-quality software; Business approach that aligns development with customer needs and company goals.
  • 4. 4 Agile Philosophy: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactionsoverprocesses and tools Working softwareovercomprehensive documentation Customer collaborationover contract negotiation Responding to changeoverfollowing a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas www.AgileManifesto.org, http://AgileManifesto.org/history.html
  • 5. 5 Agile Philosophy Individuals and interactions over processes and tools Software without documentation is a disaster. Code is not the ideal medium for communicating the rationale and structure of a system However, too much documentation is worse than too little. Huge software documents take a great deal of time to produce, and even more time to keep in sync with the code. Working software over comprehensive documentation Software without documentation is a disaster. Code is not the ideal medium for communicating the rationale and structure of a system However, too much documentation is worse than too little. Huge software documents take a great deal of time to produce, and even more time to keep in sync with the code. Customer collaboration over contract negotiation Responding to change over following a plan
  • 6. 6 Different Agile Methodologies Extreme Programming / XP (Kent Beck, Ward Cunningham, Martin Fowler, Ron Jeffries) Scrum (Ken Schwaber, Jeff Sutherland) Crystal (Alistair Cockburn) DSDM Lean Software Development Feature Driven Development / FDD (Peter Coad) XBreed Adaptive Software Development / ASD (Jim Highsmith)
  • 7. 7 What is Extreme Programming (XP) XP is actually a deliberate and disciplined approach to software development. Discipline of software development based on Values of simplicity, communication, feedback, and courage. Works by - Bringing the whole team together in the presence of simple practices Enough feedback to enable the team to see where they are and to tune the practices to their unique situation. Proven at companies like Bayerische Landesbank, Credit Swiss Life, DaimlerChrysler, First Union National Bank, Ford Motor Company and UBS. Empowers developers to confidently respond to changing customer requirements, even late in life cycle.
  • 8. 8 Agile & XP: A bit of History Agile software development evolved in mid-90s as part of a reaction against "heavyweight" methods. Initially they were called "lightweight methods”. In 2001, prominent members of the community met at Snowbird, Utah, and adopted the name "agile methods". Root of XP lies in Smalltalk community Early 90s: Kent Beck and Ward Cunningham came up with an approach to software development that made every thing simple and more efficient. Mar 96: Kent started Chrysler Comprehensive Compensation/C3) at DaimlerChrysler using new concepts in software development. The result was Extreme Programming (XP) methodology.
  • 9.
  • 14.
  • 18.
  • 23.
  • 24. 11 Basic Fundamental Principles Rapid Feedback Assume Simplicity Make Incremental Change Embracing Change Quality Work www.AgileManifesto.org/principles.html http://en.csharp-online.net/Introducing_XP%E2%80%94Fifteen_XP_Principles
  • 25. 12 Further Principles Teach Learning Make a Small Initial Investment Play to Win – do what is required to succeed Concrete Experiments – use proper reports Open, honest Communication Work with people's instincts - not against them Accepted Responsibility Local Adaptation / Accept as Necessary Travel Light Honest Measurement
  • 26.
  • 31. 14 XP Practices: Planning User Stories Functionalities of the system are described using stories, short descriptions of customer-visible functionalities Planning Game/Release Planning Small & Short Releases Every release should be as small as possible, containing the most valuable business requirements. It is far better to plan a month or two at a time than six months or a year at a time Iterative Development Daily Standup meeting
  • 32.
  • 33. Software development is always an evolving dialog between the possible and the desirable.
  • 35. Scope
  • 43.
  • 44. 17 Daily Standup Meeting (Cont’d) Everyone answers three questions – What did I accomplish yesterday? What will I do today? What obstacles are impeding my progress? Focus on the Backlog Same Place, Same Time Who attends the daily stand-up? – All Hands Time-box the meeting Last Arrival Speaks First
  • 45. 18 XP Practices: Designing Simple Design (avoid YAGNI) System Metaphor CRC Cards: Class, Responsibility, Collaborator Spike Solutions No functionality is added early Design Improvement / Refactoring Related Article: Is Design Dead? – Martin Fowler
  • 46. 19 Simple Design Misconception about XP: XP advices to avoid design Truth: XP advices Avoid too much Up Front Design / extra design at early phase, as requirement is not clear – Evolutionary Approach Simple and elegant design Runs all the tests. Has no duplicated logic. Be wary of hidden duplication like parallel class hierarchies. States every intention important to the programmers. Has the fewest possible classes and methods. Avoid over design Avoid design that would not be required: YAGNI
  • 47. 20 CRC Cards Used to identify Classes, Responsibilities and Collaborations between objects. Created from index cards with these info - Class name Its Super and Sub classes (if applicable) Responsibilities of the class. Names of other classes with which the class will collaborate to fulfill its responsibilities. Author Related Article: http://c2.com/doc/oopsla89/paper.html Using CRC cards – Alistair Cockburn http://www.extremeprogramming.org/rules/crccards.html
  • 48. 21 XP Practices: Coding/Release Onsite Customer: Customer is always available Coding Standards Test Driven Development (TDD): code unit tests first Pair Programming Continuous Integration (CI) Ten-minute build Daily Deployment Collective Code Ownership Sustainable Pace: 40-hour week
  • 49. 22 Continuous Integration (CI) Maintain a single source repository Automate the build Make your build self-testing Everyone commits every day Every commit should build the mainline on an Integration machine Keep the build fast Test in a clone of the production environment Make it easy for anyone to get the latest executable Everyone can see what's happening Automate deployment Related Article: Continuous Integration – Martin Fowler
  • 50. Steps to do for CI with a Source Control 23 Dev begins by taking a copy of current integrated source onto local dev machine: Check out from Source Control Dev makes the necessary changes - It consist of both altering the code, and also adding or changing automated tests. Dev carries out an automated build on dev machine - takes source code in working copy, compiles and runs the automated tests. Update working copy with changes in Source Control and rebuild. If other’s changes clash with dev’s changes dev will fix this and repeat until he can build a working copy that is properly synchronized with the mainline. Once dev have made his own build of a properly synchronized working copy he can finally commit changes into the mainline Build again, but this time on an integration machine based on the mainline code. Only when this build succeeds can we say that my changes are done
  • 51. 24 XP Practices: Testing All code should have Unit Tests All code must pass all unit tests before it can be released. When a bug is found tests are created. Unit Tests and Acceptance tests are run often and the score is published.
  • 52. 25 XP Practices: Team & Human Seat together Whole team approach Informative workspace Energized Work Pair Programming Team Continuity
  • 53. 26 Resources Extreme Programming Explained: Embrace Change – Kent Beck (Ver 1 and 2) Apress Pro .NET 2.0 Extreme Programming ebook Refactoring: Improving the Design of Existing Code - Matrin Fowler, Kent Beck … Agile Project Management with Scrum - Ken Schwaber  www.ExtremeProgramming.org www.AgileManifesto.org http://www.xprogramming.com