SlideShare a Scribd company logo
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/

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

More from Knoldus Inc.

Using InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterUsing InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterKnoldus Inc.
 
Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Knoldus Inc.
 
Stakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationStakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationKnoldus Inc.
 
Introduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationIntroduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationKnoldus Inc.
 
Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Knoldus Inc.
 
Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Knoldus Inc.
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the BadKnoldus Inc.
 
Integrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationIntegrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationKnoldus Inc.
 
State Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxState Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxKnoldus 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.
 

More from Knoldus Inc. (20)

Using InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterUsing InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in Jmeter
 
Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)
 
Stakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationStakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) Presentation
 
Introduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationIntroduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) Presentation
 
Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)
 
Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
 
Integrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationIntegrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test Automation
 
State Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxState Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptx
 
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
 

Recently uploaded

AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 

Recently uploaded (20)

AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 

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/

Editor's Notes

  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