SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Fundamentals of XPFundamentals of XP
Himanshu Gupta
Sr. Software Consultant
Knoldus Software LLP
Himanshu Gupta
Sr. Software Consultant
Knoldus Software LLP
XP – eXtreme ProgrammingXP – eXtreme Programming
● Lightweight
● Efficient
● Low-risk
● Flexible
● Predictable
● Scientific
● Fun way of programming
● Lightweight
● Efficient
● Low-risk
● Flexible
● Predictable
● Scientific
● Fun way of programming
DifferenceDifference
● Short Cycles
● Incremental planning approach
● Able to create flexible development schedules
● Rely on
● Automated tests
● Oral Communication
● Evolutionary design process
● Close collaboration of programmers
● Short Cycles
● Incremental planning approach
● Able to create flexible development schedules
● Rely on
● Automated tests
● Oral Communication
● Evolutionary design process
● Close collaboration of programmers
Problems & SolutionsProblems & Solutions
Problems
● Schedule Slips
● Project Canceled
● System goes sour
● Defect rate
● Business misunderstood
● Business changes
● False feature rich
● Staff turnover
Problems
● Schedule Slips
● Project Canceled
● System goes sour
● Defect rate
● Business misunderstood
● Business changes
● False feature rich
● Staff turnover
Solutions
● Short cycles
● MBS (Most Business Sense)
● Automated Tests
● Acceptance Tests
● Oral communication
● Short cycles
● Prioritizing tasks
● Individual ownership
Solutions
● Short cycles
● MBS (Most Business Sense)
● Automated Tests
● Acceptance Tests
● Oral communication
● Short cycles
● Prioritizing tasks
● Individual ownership
Day-to-day programming proceeds from a task clearly
connected to a feature the customer wants, to tests, to
implementation, to design, and through to integration. A
little of each of the activities of software development are
packed into each episode.
Day-to-day programming proceeds from a task clearly
connected to a feature the customer wants, to tests, to
implementation, to design, and through to integration. A
little of each of the activities of software development are
packed into each episode.
An EpisodeAn Episode
Four VariablesFour Variables
● Cost
● Time
● Quality
● Scope
● Cost
● Time
● Quality
● Scope
Cost of ChangeCost of Change
The cost of change may not rise dramatically over time
src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
Learning to DriveLearning to Drive
"Driving is not about getting the car going in the right
direction. Driving is about constantly paying attention,
making a little correction this way, a
little correction that way."
"Driving is not about getting the car going in the right
direction. Driving is about constantly paying attention,
making a little correction this way, a
little correction that way."
Four ValuesFour Values
● Communication
● Simplicity
● Feedback
● Courage
● Communication
● Simplicity
● Feedback
● Courage
* A value, that lies below the surface of the other these four is Respect.* A value, that lies below the surface of the other these four is Respect.
Basic PrinciplesBasic Principles
● Rapid feedback
● Assume simplicity
● Incremental change
● Embracing change
● Quality work
● Rapid feedback
● Assume simplicity
● Incremental change
● Embracing change
● Quality work
Fundamental PrinciplesFundamental Principles
Basic PrinciplesBasic Principles
● Teach learning
● Small initial investment
● Play to win
● Concrete experiments
● Open, honest communication
● Work with people's instincts, not against them
● Accepted responsibility
● Local adaptation
● Travel light
● Honest measurement
● Teach learning
● Small initial investment
● Play to win
● Concrete experiments
● Open, honest communication
● Work with people's instincts, not against them
● Accepted responsibility
● Local adaptation
● Travel light
● Honest measurement
Central PrinciplesCentral Principles
Back to BasicsBack to Basics
● Coding
● Testing
● Listening
● Designing
● Coding
● Testing
● Listening
● Designing
We code because if we don't code, we haven't done anything. We test
because if we don't test, we don't know when we are done coding. We
listen because if we don't listen we don't know what to code or what to
test. And we design so we can keep coding and testing and listening
indefinitely.
A Quick OverviewA Quick Overview
● The Planning Game
● Small Releases
● Metaphor
● Simple Design
● Testing
● Refactoring
● Pair Programming
● Collective Ownership
● Continuous Integration
● 40 Hour Week
● On-site Customer
● Coding Standards
● The Planning Game
● Small Releases
● Metaphor
● Simple Design
● Testing
● Refactoring
● Pair Programming
● Collective Ownership
● Continuous Integration
● 40 Hour Week
● On-site Customer
● Coding Standards
Practices Support each otherPractices Support each other
How could this Work ?How could this Work ?
src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
Management StrategyManagement Strategy
● Metrics
● Coaching
● Tracking
● Intervention
● Metrics
● Coaching
● Tracking
● Intervention
Facilities StrategyFacilities Strategy
src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
Splitting Business and
Technical Responsibility
Splitting Business and
Technical Responsibility
The choice between selecting a Ferrari and a Minivan is made
on the basis of:
● Cost – Ferrari($200,000) & Minivan($40,000)
● Requirement -
● Should be able to carry five people.
● Should be able to run at 200km/h.
The choice between selecting a Ferrari and a Minivan is made
on the basis of:
● Cost – Ferrari($200,000) & Minivan($40,000)
● Requirement -
● Should be able to carry five people.
● Should be able to run at 200km/h.
Planning StrategyPlanning Strategy
● The Goal
● The Strategy
● The Pieces
● The Players
● The Moves
● Iteration Planning
● Exploration Phase
● Commitment Phase
● Steering Phase
● Planning in a Week
● The Goal
● The Strategy
● The Pieces
● The Players
● The Moves
● Iteration Planning
● Exploration Phase
● Commitment Phase
● Steering Phase
● Planning in a Week
Development StrategyDevelopment Strategy
● Continuous Integration
Learn/Test/Code/Release
● Collective Ownership
Removes Complex Code from Project
● Pair Programming
● Continuous Integration
Learn/Test/Code/Release
● Collective Ownership
Removes Complex Code from Project
● Pair Programming
src: https://www.google.co.in/imghp?hl=en&tab=wi&ei=C2aDVvfcLYWgugTKs6_4Dg&ved=0EKouCBQoAQsrc: https://www.google.co.in/imghp?hl=en&tab=wi&ei=C2aDVvfcLYWgugTKs6_4Dg&ved=0EKouCBQoAQ
Design StrategyDesign Strategy
We should design for today's problems today, and tomorrow's
problems tomorrow
We should design for today's problems today, and tomorrow's
problems tomorrow
src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
Testing StrategyTesting Strategy
An outline that describes the testing approach of the Software
Development Cycle
- Wikipedia
An outline that describes the testing approach of the Software
Development Cycle
- Wikipedia
Adopting XPAdopting XP
How to adopt XP ?
1. Pick your worst problem.
2. Solve it the XP way.
3. When it's no longer your worst problem, repeat.
How to adopt XP ?
1. Pick your worst problem.
2. Solve it the XP way.
3. When it's no longer your worst problem, repeat.
Retrofitting XPRetrofitting XP
● Start with Testing
● Change Design
● Do Planning on regular basis
● Include everyone in Management
● Don't leave Development
● Start with Testing
● Change Design
● Do Planning on regular basis
● Include everyone in Management
● Don't leave Development
Lifecycle of an Ideal XP
Project
Lifecycle of an Ideal XP
Project
● Exploration
● Planning
● Iterations to First Release
● Productionizing
● Maintenance
● Death
● Exploration
● Planning
● Iterations to First Release
● Productionizing
● Maintenance
● Death
Roles for PeopleRoles for People
● Programmer
● Customer
● Tester
● Tracker
● Coach
● Consultant
● Big Boss
● Programmer
● Customer
● Tester
● Tracker
● Coach
● Consultant
● Big Boss
20-80 Rule20-80 Rule
80% of the benefit comes from 20% of the work.
XP makes use of this rule itself, by putting the most
valuable 20% of functionality into production, do
the most valuable 20% of the design
80% of the benefit comes from 20% of the work.
XP makes use of this rule itself, by putting the most
valuable 20% of functionality into production, do
the most valuable 20% of the design
What Makes XP Hard ?What Makes XP Hard ?
By adopting XP as our development process, we are accepting
responsibility for being aware and modifying it when there is
a problem.
By adopting XP as our development process, we are accepting
responsibility for being aware and modifying it when there is
a problem.
When You Shouldn't Try XP ?When You Shouldn't Try XP ?
● Complete Analysis of Design
● Too much Documentation
● Long Working Hours
● Large Team
● Expensive Technology
● Long gaps in Feedback
● Complete Analysis of Design
● Too much Documentation
● Long Working Hours
● Large Team
● Expensive Technology
● Long gaps in Feedback
Questions & Option[A]Questions & Option[A]
Thank youThank you
ReferencesReferences
● Extreme Programming Explained, Kent Beck
● http://www.extremeprogramming.org/
● Extreme Programming Explained, Kent Beck
● http://www.extremeprogramming.org/

Weitere ähnliche Inhalte

Was ist angesagt?

Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-modelAli MasudianPour
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme ProgrammingJoe Drumgoole
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAgile Lietuva
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesJon McNestrie
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XPVashira Ravipanich
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)dcsunu
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityRon Quartel
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides pptMr SMAK
 

Was ist angesagt? (20)

Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-model
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
extreme programming
extreme programmingextreme programming
extreme programming
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Scrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper ProductivityScrum Plus Extreme Programming (XP) for Hyper Productivity
Scrum Plus Extreme Programming (XP) for Hyper Productivity
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
 

Ähnlich wie Extreme Programming

Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Devops is not about Tooling
Devops is not about ToolingDevops is not about Tooling
Devops is not about ToolingKris Buytaert
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsMarcello Duarte
 
Devops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedKris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
Devops its not about the tooling
Devops its not about the toolingDevops its not about the tooling
Devops its not about the toolingBram Vogelaar
 
Development Doesn't Stop at the Last Commit
Development Doesn't Stop at the Last CommitDevelopment Doesn't Stop at the Last Commit
Development Doesn't Stop at the Last CommitKris Buytaert
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the toolingBram Vogelaar
 
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...DevOpsDays Tel Aviv
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove Kris Buytaert
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
The Agile PMP - Pillar Technology
The Agile PMP - Pillar TechnologyThe Agile PMP - Pillar Technology
The Agile PMP - Pillar TechnologyMike Cottmeyer
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoEqunix Business Solutions
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back togetherKris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Software development myths that block your career
Software development myths that block your careerSoftware development myths that block your career
Software development myths that block your careerPiotr Horzycki
 

Ähnlich wie Extreme Programming (20)

Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Devops is not about Tooling
Devops is not about ToolingDevops is not about Tooling
Devops is not about Tooling
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Pair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical thingsPair Programming, TDD and other impractical things
Pair Programming, TDD and other impractical things
 
Devops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributed
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Getting agile
Getting agileGetting agile
Getting agile
 
Devops its not about the tooling
Devops its not about the toolingDevops its not about the tooling
Devops its not about the tooling
 
Development Doesn't Stop at the Last Commit
Development Doesn't Stop at the Last CommitDevelopment Doesn't Stop at the Last Commit
Development Doesn't Stop at the Last Commit
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the tooling
 
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org -  Dev...
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
The Agile PMP - Pillar Technology
The Agile PMP - Pillar TechnologyThe Agile PMP - Pillar Technology
The Agile PMP - Pillar Technology
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back together
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
Software development myths that block your career
Software development myths that block your careerSoftware development myths that block your career
Software development myths that block your career
 

Mehr von Knoldus Inc.

Authentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxAuthentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxKnoldus Inc.
 
OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)Knoldus Inc.
 
Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxKnoldus Inc.
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingKnoldus Inc.
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionKnoldus Inc.
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxKnoldus Inc.
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptxKnoldus Inc.
 
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfGraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfKnoldus Inc.
 
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxNuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxKnoldus Inc.
 
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingData Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingKnoldus Inc.
 
K8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesK8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesKnoldus Inc.
 
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptxIntroduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptxKnoldus Inc.
 
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxKnoldus Inc.
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxKnoldus Inc.
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxKnoldus Inc.
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxKnoldus Inc.
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationKnoldus Inc.
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationKnoldus Inc.
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIsKnoldus Inc.
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II PresentationKnoldus Inc.
 

Mehr von Knoldus Inc. (20)

Authentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxAuthentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptx
 
OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)
 
Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
 
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfGraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
 
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxNuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
 
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingData Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
 
K8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesK8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose Kubernetes
 
Introduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptxIntroduction to Circle Ci Presentation.pptx
Introduction to Circle Ci Presentation.pptx
 
Robusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptxRobusta -Tool Presentation (DevOps).pptx
Robusta -Tool Presentation (DevOps).pptx
 
Optimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptxOptimizing Kubernetes using GOLDILOCKS.pptx
Optimizing Kubernetes using GOLDILOCKS.pptx
 
Azure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptxAzure Function App Exception Handling.pptx
Azure Function App Exception Handling.pptx
 
CQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptxCQRS Design Pattern Presentation (Java).pptx
CQRS Design Pattern Presentation (Java).pptx
 
ETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake PresentationETL Observability: Azure to Snowflake Presentation
ETL Observability: Azure to Snowflake Presentation
 
Scripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics PresentationScripting with K6 - Beyond the Basics Presentation
Scripting with K6 - Beyond the Basics Presentation
 
Getting started with dotnet core Web APIs
Getting started with dotnet core Web APIsGetting started with dotnet core Web APIs
Getting started with dotnet core Web APIs
 
Introduction To Rust part II Presentation
Introduction To Rust part II PresentationIntroduction To Rust part II Presentation
Introduction To Rust part II Presentation
 

Kürzlich hochgeladen

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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
 
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
 

Kürzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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 ...
 
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
 

Extreme Programming

  • 1. Fundamentals of XPFundamentals of XP Himanshu Gupta Sr. Software Consultant Knoldus Software LLP Himanshu Gupta Sr. Software Consultant Knoldus Software LLP
  • 2. XP – eXtreme ProgrammingXP – eXtreme Programming ● Lightweight ● Efficient ● Low-risk ● Flexible ● Predictable ● Scientific ● Fun way of programming ● Lightweight ● Efficient ● Low-risk ● Flexible ● Predictable ● Scientific ● Fun way of programming
  • 3. DifferenceDifference ● Short Cycles ● Incremental planning approach ● Able to create flexible development schedules ● Rely on ● Automated tests ● Oral Communication ● Evolutionary design process ● Close collaboration of programmers ● Short Cycles ● Incremental planning approach ● Able to create flexible development schedules ● Rely on ● Automated tests ● Oral Communication ● Evolutionary design process ● Close collaboration of programmers
  • 4. Problems & SolutionsProblems & Solutions Problems ● Schedule Slips ● Project Canceled ● System goes sour ● Defect rate ● Business misunderstood ● Business changes ● False feature rich ● Staff turnover Problems ● Schedule Slips ● Project Canceled ● System goes sour ● Defect rate ● Business misunderstood ● Business changes ● False feature rich ● Staff turnover Solutions ● Short cycles ● MBS (Most Business Sense) ● Automated Tests ● Acceptance Tests ● Oral communication ● Short cycles ● Prioritizing tasks ● Individual ownership Solutions ● Short cycles ● MBS (Most Business Sense) ● Automated Tests ● Acceptance Tests ● Oral communication ● Short cycles ● Prioritizing tasks ● Individual ownership
  • 5. Day-to-day programming proceeds from a task clearly connected to a feature the customer wants, to tests, to implementation, to design, and through to integration. A little of each of the activities of software development are packed into each episode. Day-to-day programming proceeds from a task clearly connected to a feature the customer wants, to tests, to implementation, to design, and through to integration. A little of each of the activities of software development are packed into each episode. An EpisodeAn Episode
  • 6. Four VariablesFour Variables ● Cost ● Time ● Quality ● Scope ● Cost ● Time ● Quality ● Scope
  • 7. Cost of ChangeCost of Change The cost of change may not rise dramatically over time src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
  • 8. Learning to DriveLearning to Drive "Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way." "Driving is not about getting the car going in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way."
  • 9. Four ValuesFour Values ● Communication ● Simplicity ● Feedback ● Courage ● Communication ● Simplicity ● Feedback ● Courage * A value, that lies below the surface of the other these four is Respect.* A value, that lies below the surface of the other these four is Respect.
  • 10. Basic PrinciplesBasic Principles ● Rapid feedback ● Assume simplicity ● Incremental change ● Embracing change ● Quality work ● Rapid feedback ● Assume simplicity ● Incremental change ● Embracing change ● Quality work Fundamental PrinciplesFundamental Principles
  • 11. Basic PrinciplesBasic Principles ● Teach learning ● Small initial investment ● Play to win ● Concrete experiments ● Open, honest communication ● Work with people's instincts, not against them ● Accepted responsibility ● Local adaptation ● Travel light ● Honest measurement ● Teach learning ● Small initial investment ● Play to win ● Concrete experiments ● Open, honest communication ● Work with people's instincts, not against them ● Accepted responsibility ● Local adaptation ● Travel light ● Honest measurement Central PrinciplesCentral Principles
  • 12. Back to BasicsBack to Basics ● Coding ● Testing ● Listening ● Designing ● Coding ● Testing ● Listening ● Designing We code because if we don't code, we haven't done anything. We test because if we don't test, we don't know when we are done coding. We listen because if we don't listen we don't know what to code or what to test. And we design so we can keep coding and testing and listening indefinitely.
  • 13. A Quick OverviewA Quick Overview ● The Planning Game ● Small Releases ● Metaphor ● Simple Design ● Testing ● Refactoring ● Pair Programming ● Collective Ownership ● Continuous Integration ● 40 Hour Week ● On-site Customer ● Coding Standards ● The Planning Game ● Small Releases ● Metaphor ● Simple Design ● Testing ● Refactoring ● Pair Programming ● Collective Ownership ● Continuous Integration ● 40 Hour Week ● On-site Customer ● Coding Standards
  • 14. Practices Support each otherPractices Support each other How could this Work ?How could this Work ? src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
  • 15. Management StrategyManagement Strategy ● Metrics ● Coaching ● Tracking ● Intervention ● Metrics ● Coaching ● Tracking ● Intervention
  • 16. Facilities StrategyFacilities Strategy src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
  • 17. Splitting Business and Technical Responsibility Splitting Business and Technical Responsibility The choice between selecting a Ferrari and a Minivan is made on the basis of: ● Cost – Ferrari($200,000) & Minivan($40,000) ● Requirement - ● Should be able to carry five people. ● Should be able to run at 200km/h. The choice between selecting a Ferrari and a Minivan is made on the basis of: ● Cost – Ferrari($200,000) & Minivan($40,000) ● Requirement - ● Should be able to carry five people. ● Should be able to run at 200km/h.
  • 18. Planning StrategyPlanning Strategy ● The Goal ● The Strategy ● The Pieces ● The Players ● The Moves ● Iteration Planning ● Exploration Phase ● Commitment Phase ● Steering Phase ● Planning in a Week ● The Goal ● The Strategy ● The Pieces ● The Players ● The Moves ● Iteration Planning ● Exploration Phase ● Commitment Phase ● Steering Phase ● Planning in a Week
  • 19. Development StrategyDevelopment Strategy ● Continuous Integration Learn/Test/Code/Release ● Collective Ownership Removes Complex Code from Project ● Pair Programming ● Continuous Integration Learn/Test/Code/Release ● Collective Ownership Removes Complex Code from Project ● Pair Programming src: https://www.google.co.in/imghp?hl=en&tab=wi&ei=C2aDVvfcLYWgugTKs6_4Dg&ved=0EKouCBQoAQsrc: https://www.google.co.in/imghp?hl=en&tab=wi&ei=C2aDVvfcLYWgugTKs6_4Dg&ved=0EKouCBQoAQ
  • 20. Design StrategyDesign Strategy We should design for today's problems today, and tomorrow's problems tomorrow We should design for today's problems today, and tomorrow's problems tomorrow src: Extreme Programming Explained by Kent Beck, First Editionsrc: Extreme Programming Explained by Kent Beck, First Edition
  • 21. Testing StrategyTesting Strategy An outline that describes the testing approach of the Software Development Cycle - Wikipedia An outline that describes the testing approach of the Software Development Cycle - Wikipedia
  • 22. Adopting XPAdopting XP How to adopt XP ? 1. Pick your worst problem. 2. Solve it the XP way. 3. When it's no longer your worst problem, repeat. How to adopt XP ? 1. Pick your worst problem. 2. Solve it the XP way. 3. When it's no longer your worst problem, repeat.
  • 23. Retrofitting XPRetrofitting XP ● Start with Testing ● Change Design ● Do Planning on regular basis ● Include everyone in Management ● Don't leave Development ● Start with Testing ● Change Design ● Do Planning on regular basis ● Include everyone in Management ● Don't leave Development
  • 24. Lifecycle of an Ideal XP Project Lifecycle of an Ideal XP Project ● Exploration ● Planning ● Iterations to First Release ● Productionizing ● Maintenance ● Death ● Exploration ● Planning ● Iterations to First Release ● Productionizing ● Maintenance ● Death
  • 25. Roles for PeopleRoles for People ● Programmer ● Customer ● Tester ● Tracker ● Coach ● Consultant ● Big Boss ● Programmer ● Customer ● Tester ● Tracker ● Coach ● Consultant ● Big Boss
  • 26. 20-80 Rule20-80 Rule 80% of the benefit comes from 20% of the work. XP makes use of this rule itself, by putting the most valuable 20% of functionality into production, do the most valuable 20% of the design 80% of the benefit comes from 20% of the work. XP makes use of this rule itself, by putting the most valuable 20% of functionality into production, do the most valuable 20% of the design
  • 27. What Makes XP Hard ?What Makes XP Hard ? By adopting XP as our development process, we are accepting responsibility for being aware and modifying it when there is a problem. By adopting XP as our development process, we are accepting responsibility for being aware and modifying it when there is a problem.
  • 28. When You Shouldn't Try XP ?When You Shouldn't Try XP ? ● Complete Analysis of Design ● Too much Documentation ● Long Working Hours ● Large Team ● Expensive Technology ● Long gaps in Feedback ● Complete Analysis of Design ● Too much Documentation ● Long Working Hours ● Large Team ● Expensive Technology ● Long gaps in Feedback
  • 31. ReferencesReferences ● Extreme Programming Explained, Kent Beck ● http://www.extremeprogramming.org/ ● Extreme Programming Explained, Kent Beck ● http://www.extremeprogramming.org/

Hinweis der Redaktion

  1. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  2. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  3. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  4. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  5. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  6. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  7. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  8. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  9. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  10. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  11. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  12. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  13. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  14. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  15. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  16. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  17. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  18. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  19. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  20. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  21. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  22. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  23. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  24. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  25. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  26. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  27. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  28. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application
  29. Why javascript, why we are bothering to do javascript. beacuse as you know its typical to do web development without javascript. ITs the only language, that's basically supported web browser. So at some point you need javascript code. ITs scripting language, not designed to scale large rich web application