SlideShare a Scribd company logo
Chapter 3 Agile software development
1
Chapter 3 – Agile Software
Development
Topics covered
Chapter 3 Agile software development
2
 Agile Development
 Extreme Programming (XP) Methodology
 Pair Programming
Rapid software development
Chapter 3 Agile software development
3
 Rapid development and delivery is now often the
most important requirement for software systems
 Businesses operate in a fast –changing requirement and it is
practically impossible to produce a set of stable software
requirements
 Software has to evolve quickly to reflect changing business needs.
 Rapid software development
 Specification, design and implementation are inter-leaved
 System is developed as a series of versions with stakeholders
involved in version evaluation
 User interfaces are often developed using an IDE and graphical
toolset.
What is Agile Development?
Chapter 3 Agile software development
4
 Agile is an emerging software development
methodology
 Programming-centric
 Few rules and practices
 Easy to follow
 Eliminate much of modeling and documentation
tasks – saves time
 Emphasize simple, iterative application development
Agile methods
Chapter 3 Agile software development
5
 Dissatisfaction with the overheads involved in software
design methods of the 1980s and 1990s led to the creation
of agile methods. These methods:
 Focus on the code rather than the design
 Are based on an iterative approach to software development
 Are intended to deliver working software quickly and evolve
quickly to meet changing requirements.
 The aim of agile methods is to reduce overheads in the
software process (e.g. by limiting documentation) and to be
able to respond quickly to changing requirements without
excessive rework.
Agile manifesto
Chapter 3 Agile software development
6
 We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
 Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
 That is, while there is value in the items on the right,
we value the items on the left more.
The principles of agile methods
Chapter 3 Agile software development
7
Principle Description
Customer involvement Customers should be closely involved throughout the
development process. Their role is provide and prioritize new
system requirements and to evaluate the iterations of the
system.
Incremental delivery The software is developed in increments with the customer
specifying the requirements to be included in each increment.
People not process The skills of the development team should be recognized and
exploited. Team members should be left to develop their own
ways of working without prescriptive processes.
Embrace change Expect the system requirements to change and so design the
system to accommodate these changes.
Maintain simplicity Focus on simplicity in both the software being developed and
in the development process. Wherever possible, actively work
to eliminate complexity from the system.
Extreme Programming
Chapter 3 Agile software development
8
 Perhaps the best-known and most widely used agile
method.
 Extreme Programming (XP) takes an ‘extreme’
approach to iterative development.
 New versions may be built several times per day;
 Increments are delivered to customers every 2 weeks;
 All tests must be run for every build and the build is only
accepted if tests run successfully.
Extreme Programming (cont.)
Chapter 3 Agile software development
9
 Extreme Programming is founded on four core
values:
 Communication
 Simplicity
 Feedback
 Courage
 Developers must provide rapid feedback to the end
users on a continuous basis
 XP requires developers to follow the KISS principle
Extreme Programming (cont.)
Chapter 3 Agile software development
10
 Developers must make incremental changes to grow
the system – must embrace change
 Developers must have a quality first mentality
 Three key principles used by XP to create successful
systems:
 Continuous testing
 Coding performed by pairs of developers
 Close interactions with end users
Extreme Programming (cont.)
Chapter 3 Agile software development
11
 XP project begins with user stories that describe
what the system needs to do
 Programmers code in small, simple modules and test
to meet those needs
 Users are required to be available to clear up
questions and issues
 Standards are very important to minimize confusion
 XP projects deliver results sooner than even the RAD
approaches
Problems with XP
Chapter 3 Agile software development
12
 For large projects, applying XP is not easy
 XP is only recommended for small groups of developers—no
more than 10 developers
 Project members need to work well and co-operate as part of a
team
 XP requires a great deal of discipline – otherwise projects will
become unfocused and chaotic
 Maintaining large systems built with XP is difficult – lack of
analysis and design documentation, only code documentation
 On-site customer availability not always possible
Testing in XP
Chapter 3 Agile software development
13
 Testing is central to XP and XP has developed an
approach where the program is tested after every
change has been made.
 XP testing features:
 Test-first development.
 User involvement in test development and validation.
 Automated test harnesses are used to run all component tests
each time that a new release is built.
Test-first development
Chapter 3 Agile software development
14
 Writing tests before code clarifies the requirements
to be implemented.
 Tests are written as programs rather than data so
that they can be executed automatically. The test
includes a check that it has executed correctly.
 Usually relies on a testing framework such as Junit.
 All previous and new tests are run automatically
when new functionality is added, thus checking that
the new functionality has not introduced errors.
Pair programming
Chapter 3 Agile software development
15
 In XP, programmers work in pairs, sitting together to
develop code.
 This helps develop common ownership of code and spreads
knowledge across the team.
 It serves as an informal review process as each line of code
is looked at by more than 1 person.
 It encourages refactoring as the whole team can benefit
from this.
 Measurements suggest that development productivity with
pair programming is similar to that of two people working
independently.
Pair programming (cont.)
Chapter 3 Agile software development
16
 In pair programming, programmers sit together at
the same workstation to develop the software.
 Pairs are created dynamically so that all team
members work with each other during the
development process.
 The sharing of knowledge that happens during pair
programming is very important as it reduces the
overall risks to a project when team members leave.
 Pair programming is not necessarily inefficient and
there is evidence that a pair working together is more
efficient than 2 programmers working separately.
Advantages of pair programming
Chapter 3 Agile software development
17
 It supports the idea of collective ownership and
responsibility for the system.
 Individuals are not held responsible for problems with the
code. Instead, the team has collective responsibility for
resolving these problems.
 It acts as an informal review process because each
line of code is looked at by at least two people.
 It helps support refactoring, which is a process of
software improvement.
 Where pair programming and collective ownership are used,
others benefit immediately from the refactoring so they are
likely to support the process.
References
 Cornell University, USA
http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html
 Picture collect from: Ivan Marsic, Rutgers
University
 Ian Sommerville, Software Engineering, 9th
edition, Pearson, 2011
 Roger s. pressman, Software Engineering a
practitioners approach, 7th ed
19
Chapter 3 Agile software development

More Related Content

What's hot

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
Ahsan Rahim
 
Chapter 5 Agile Software development
Chapter 5 Agile Software developmentChapter 5 Agile Software development
Chapter 5 Agile Software development
Didarul Amin
 
Software Quality assurance Introduction & Software process models
Software Quality assurance Introduction & Software process modelsSoftware Quality assurance Introduction & Software process models
Software Quality assurance Introduction & Software process models
JesminBinti
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
Vashira Ravipanich
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
Jon McNestrie
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Shankar Dahal
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
Masoud Kalali
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
Mohamed Abdelrahman
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
ijseajournal
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
Damian T. Gordon
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)
dcsunu
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile ME
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
Aniruddha Chakrabarti
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
Srinivasan Hariharan
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Sibel Kuzgun AKIN
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Computaris
 

What's hot (19)

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Chapter 5 Agile Software development
Chapter 5 Agile Software developmentChapter 5 Agile Software development
Chapter 5 Agile Software development
 
Software Quality assurance Introduction & Software process models
Software Quality assurance Introduction & Software process modelsSoftware Quality assurance Introduction & Software process models
Software Quality assurance Introduction & Software process models
 
Resource1 spm
Resource1 spmResource1 spm
Resource1 spm
 
Agile Software Development with XP
Agile Software Development with XPAgile Software Development with XP
Agile Software Development with XP
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
extreme programming
extreme programmingextreme programming
extreme programming
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 

Viewers also liked

Understanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational DatabasesUnderstanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational Databases
Ashis Kumar Chanda
 
Idea v9 product profile
Idea v9 product profileIdea v9 product profile
Idea v9 product profile
AuditWare Systems Ltd.
 
Nearshoring 4 25 12
Nearshoring 4 25 12Nearshoring 4 25 12
Nearshoring 4 25 12John Martino
 
MVC
MVCMVC
L’eutanasia
L’eutanasiaL’eutanasia
L’eutanasia
Laura Franchini
 
Lien en luca(appaloosa)
Lien en luca(appaloosa)Lien en luca(appaloosa)
Lien en luca(appaloosa)leerling5
 
DevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service ProviderDevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service Provider
Nasir Uddin Shamim
 
"That Thing... - Lara Croft" Documentary Analysis
"That Thing... - Lara Croft" Documentary Analysis"That Thing... - Lara Croft" Documentary Analysis
"That Thing... - Lara Croft" Documentary Analysisdb04803167
 
Quis2013 slideshare
Quis2013 slideshareQuis2013 slideshare
Quis2013 slideshare
Geert Poels
 
Documentaries
DocumentariesDocumentaries
Documentaries
db04803167
 
Gokhan butunler portfolio
Gokhan butunler portfolioGokhan butunler portfolio
Gokhan butunler portfolio
Gökhan Bütünler
 
Slide6 rp ranc_operasi
Slide6 rp ranc_operasiSlide6 rp ranc_operasi
Slide6 rp ranc_operasiZunnur Zamzam
 
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Cook County Commissioner Bridget Gainer
 
Representation
RepresentationRepresentation
Representation
Jazz Michele Pasaribu
 

Viewers also liked (20)

Understanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational DatabasesUnderstanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational Databases
 
Idea v9 product profile
Idea v9 product profileIdea v9 product profile
Idea v9 product profile
 
K-Pop Bands
K-Pop BandsK-Pop Bands
K-Pop Bands
 
Nearshoring 4 25 12
Nearshoring 4 25 12Nearshoring 4 25 12
Nearshoring 4 25 12
 
MVC
MVCMVC
MVC
 
L’eutanasia
L’eutanasiaL’eutanasia
L’eutanasia
 
Fotosintesis
FotosintesisFotosintesis
Fotosintesis
 
County Pension Committee Meeting: December 4, 2012
County Pension Committee Meeting: December 4, 2012County Pension Committee Meeting: December 4, 2012
County Pension Committee Meeting: December 4, 2012
 
Cam
CamCam
Cam
 
Lien en luca(appaloosa)
Lien en luca(appaloosa)Lien en luca(appaloosa)
Lien en luca(appaloosa)
 
Informatica
InformaticaInformatica
Informatica
 
DevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service ProviderDevsTeam Services | A Trusted Internet Marketing Service Provider
DevsTeam Services | A Trusted Internet Marketing Service Provider
 
"That Thing... - Lara Croft" Documentary Analysis
"That Thing... - Lara Croft" Documentary Analysis"That Thing... - Lara Croft" Documentary Analysis
"That Thing... - Lara Croft" Documentary Analysis
 
Quis2013 slideshare
Quis2013 slideshareQuis2013 slideshare
Quis2013 slideshare
 
LIMC 01: SPEECHES
LIMC 01: SPEECHESLIMC 01: SPEECHES
LIMC 01: SPEECHES
 
Documentaries
DocumentariesDocumentaries
Documentaries
 
Gokhan butunler portfolio
Gokhan butunler portfolioGokhan butunler portfolio
Gokhan butunler portfolio
 
Slide6 rp ranc_operasi
Slide6 rp ranc_operasiSlide6 rp ranc_operasi
Slide6 rp ranc_operasi
 
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
Commissioner Bridget Gainer: 2010 Citizens' Guide - Uptown Health Needs Asses...
 
Representation
RepresentationRepresentation
Representation
 

Similar to 03. Agile Development

Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
Noor Ul Hudda Memon
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
02LabiqaIslam
 
03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptx
ALI2H
 
Ch3
Ch3Ch3
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
Ahmed Alageed
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptx
FarHana74914
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpoint
johncalebtan
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
DanWooster1
 
Lecture - 24-25.pptx
Lecture - 24-25.pptxLecture - 24-25.pptx
Lecture - 24-25.pptx
FarHana74914
 
agile.ppt
agile.pptagile.ppt
agile.ppt
ssusercf1a23
 
agile.ppt
agile.pptagile.ppt
agile.ppt
VinayKumarNagu
 
agile.ppt
agile.pptagile.ppt
agile.ppt
janani603976
 
Scrun Safe Ppt.pptx
Scrun Safe Ppt.pptxScrun Safe Ppt.pptx
Scrun Safe Ppt.pptx
EstadeLegalconsultan
 
Ch3 - Agile SW Dev
Ch3 - Agile SW DevCh3 - Agile SW Dev
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
ch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdf
abdallhelkahlout1
 
LU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxLU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptx
TAISEEREISA
 
Agile software process
Agile software processAgile software process
Agile software process
Jennifer Polack
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptx
TangZhiSiang
 

Similar to 03. Agile Development (20)

Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
 
03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptx
 
Ch3
Ch3Ch3
Ch3
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptx
 
Agile - Software - Development Powerpoint
Agile - Software - Development PowerpointAgile - Software - Development Powerpoint
Agile - Software - Development Powerpoint
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
Lecture - 24-25.pptx
Lecture - 24-25.pptxLecture - 24-25.pptx
Lecture - 24-25.pptx
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
Scrun Safe Ppt.pptx
Scrun Safe Ppt.pptxScrun Safe Ppt.pptx
Scrun Safe Ppt.pptx
 
Agile
AgileAgile
Agile
 
agile.ppt
agile.pptagile.ppt
agile.ppt
 
Ch3 - Agile SW Dev
Ch3 - Agile SW DevCh3 - Agile SW Dev
Ch3 - Agile SW Dev
 
ch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdfch3-150102101842-conversion-gate02.pdf
ch3-150102101842-conversion-gate02.pdf
 
LU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptxLU 3 Agile SW Dev.pptx
LU 3 Agile SW Dev.pptx
 
Agile software process
Agile software processAgile software process
Agile software process
 
SE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptxSE-Lecture 4 - Agile Software Development.pptx
SE-Lecture 4 - Agile Software Development.pptx
 

More from Ashis Kumar Chanda

Word 2 vector
Word 2 vectorWord 2 vector
Word 2 vector
Ashis Kumar Chanda
 
Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...
Ashis Kumar Chanda
 
Full resolution image compression with recurrent neural networks
Full resolution image compression with  recurrent neural networksFull resolution image compression with  recurrent neural networks
Full resolution image compression with recurrent neural networks
Ashis Kumar Chanda
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Ashis Kumar Chanda
 
Risk Management
Risk ManagementRisk Management
Risk Management
Ashis Kumar Chanda
 
Project Management
Project ManagementProject Management
Project Management
Ashis Kumar Chanda
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ashis Kumar Chanda
 
4. UML
4. UML4. UML
2. Software process
2. Software process2. Software process
2. Software process
Ashis Kumar Chanda
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
Ashis Kumar Chanda
 
Periodic pattern mining
Periodic pattern miningPeriodic pattern mining
Periodic pattern mining
Ashis Kumar Chanda
 
FPPM algorithm
FPPM algorithmFPPM algorithm
FPPM algorithm
Ashis Kumar Chanda
 
Secure software design
Secure software designSecure software design
Secure software design
Ashis Kumar Chanda
 
Sequential logic circuit optimization
Sequential logic circuit optimizationSequential logic circuit optimization
Sequential logic circuit optimization
Ashis Kumar Chanda
 
Introduction to CS
Introduction to CSIntroduction to CS
Introduction to CS
Ashis Kumar Chanda
 
CloudBus
CloudBusCloudBus
Linear Machine Decision Tree
Linear Machine Decision TreeLinear Machine Decision Tree
Linear Machine Decision Tree
Ashis Kumar Chanda
 
Logical Operations on BDD
Logical Operations on BDDLogical Operations on BDD
Logical Operations on BDD
Ashis Kumar Chanda
 
Frequent Pattern growth algorithm
Frequent Pattern growth algorithmFrequent Pattern growth algorithm
Frequent Pattern growth algorithm
Ashis Kumar Chanda
 

More from Ashis Kumar Chanda (20)

Word 2 vector
Word 2 vectorWord 2 vector
Word 2 vector
 
Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...
 
Full resolution image compression with recurrent neural networks
Full resolution image compression with  recurrent neural networksFull resolution image compression with  recurrent neural networks
Full resolution image compression with recurrent neural networks
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Project Management
Project ManagementProject Management
Project Management
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
4. UML
4. UML4. UML
4. UML
 
2. Software process
2. Software process2. Software process
2. Software process
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
 
Periodic pattern mining
Periodic pattern miningPeriodic pattern mining
Periodic pattern mining
 
FPPM algorithm
FPPM algorithmFPPM algorithm
FPPM algorithm
 
Secure software design
Secure software designSecure software design
Secure software design
 
Sequential logic circuit optimization
Sequential logic circuit optimizationSequential logic circuit optimization
Sequential logic circuit optimization
 
Introduction to CS
Introduction to CSIntroduction to CS
Introduction to CS
 
Iterative deepening search
Iterative deepening searchIterative deepening search
Iterative deepening search
 
CloudBus
CloudBusCloudBus
CloudBus
 
Linear Machine Decision Tree
Linear Machine Decision TreeLinear Machine Decision Tree
Linear Machine Decision Tree
 
Logical Operations on BDD
Logical Operations on BDDLogical Operations on BDD
Logical Operations on BDD
 
Frequent Pattern growth algorithm
Frequent Pattern growth algorithmFrequent Pattern growth algorithm
Frequent Pattern growth algorithm
 

Recently uploaded

H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 

Recently uploaded (20)

H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 

03. Agile Development

  • 1. Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development
  • 2. Topics covered Chapter 3 Agile software development 2  Agile Development  Extreme Programming (XP) Methodology  Pair Programming
  • 3. Rapid software development Chapter 3 Agile software development 3  Rapid development and delivery is now often the most important requirement for software systems  Businesses operate in a fast –changing requirement and it is practically impossible to produce a set of stable software requirements  Software has to evolve quickly to reflect changing business needs.  Rapid software development  Specification, design and implementation are inter-leaved  System is developed as a series of versions with stakeholders involved in version evaluation  User interfaces are often developed using an IDE and graphical toolset.
  • 4. What is Agile Development? Chapter 3 Agile software development 4  Agile is an emerging software development methodology  Programming-centric  Few rules and practices  Easy to follow  Eliminate much of modeling and documentation tasks – saves time  Emphasize simple, iterative application development
  • 5. Agile methods Chapter 3 Agile software development 5  Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods:  Focus on the code rather than the design  Are based on an iterative approach to software development  Are intended to deliver working software quickly and evolve quickly to meet changing requirements.  The aim of agile methods is to reduce overheads in the software process (e.g. by limiting documentation) and to be able to respond quickly to changing requirements without excessive rework.
  • 6. Agile manifesto Chapter 3 Agile software development 6  We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:  Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  That is, while there is value in the items on the right, we value the items on the left more.
  • 7. The principles of agile methods Chapter 3 Agile software development 7 Principle Description Customer involvement Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. Incremental delivery The software is developed in increments with the customer specifying the requirements to be included in each increment. People not process The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes. Embrace change Expect the system requirements to change and so design the system to accommodate these changes. Maintain simplicity Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system.
  • 8. Extreme Programming Chapter 3 Agile software development 8  Perhaps the best-known and most widely used agile method.  Extreme Programming (XP) takes an ‘extreme’ approach to iterative development.  New versions may be built several times per day;  Increments are delivered to customers every 2 weeks;  All tests must be run for every build and the build is only accepted if tests run successfully.
  • 9. Extreme Programming (cont.) Chapter 3 Agile software development 9  Extreme Programming is founded on four core values:  Communication  Simplicity  Feedback  Courage  Developers must provide rapid feedback to the end users on a continuous basis  XP requires developers to follow the KISS principle
  • 10. Extreme Programming (cont.) Chapter 3 Agile software development 10  Developers must make incremental changes to grow the system – must embrace change  Developers must have a quality first mentality  Three key principles used by XP to create successful systems:  Continuous testing  Coding performed by pairs of developers  Close interactions with end users
  • 11. Extreme Programming (cont.) Chapter 3 Agile software development 11  XP project begins with user stories that describe what the system needs to do  Programmers code in small, simple modules and test to meet those needs  Users are required to be available to clear up questions and issues  Standards are very important to minimize confusion  XP projects deliver results sooner than even the RAD approaches
  • 12. Problems with XP Chapter 3 Agile software development 12  For large projects, applying XP is not easy  XP is only recommended for small groups of developers—no more than 10 developers  Project members need to work well and co-operate as part of a team  XP requires a great deal of discipline – otherwise projects will become unfocused and chaotic  Maintaining large systems built with XP is difficult – lack of analysis and design documentation, only code documentation  On-site customer availability not always possible
  • 13. Testing in XP Chapter 3 Agile software development 13  Testing is central to XP and XP has developed an approach where the program is tested after every change has been made.  XP testing features:  Test-first development.  User involvement in test development and validation.  Automated test harnesses are used to run all component tests each time that a new release is built.
  • 14. Test-first development Chapter 3 Agile software development 14  Writing tests before code clarifies the requirements to be implemented.  Tests are written as programs rather than data so that they can be executed automatically. The test includes a check that it has executed correctly.  Usually relies on a testing framework such as Junit.  All previous and new tests are run automatically when new functionality is added, thus checking that the new functionality has not introduced errors.
  • 15. Pair programming Chapter 3 Agile software development 15  In XP, programmers work in pairs, sitting together to develop code.  This helps develop common ownership of code and spreads knowledge across the team.  It serves as an informal review process as each line of code is looked at by more than 1 person.  It encourages refactoring as the whole team can benefit from this.  Measurements suggest that development productivity with pair programming is similar to that of two people working independently.
  • 16. Pair programming (cont.) Chapter 3 Agile software development 16  In pair programming, programmers sit together at the same workstation to develop the software.  Pairs are created dynamically so that all team members work with each other during the development process.  The sharing of knowledge that happens during pair programming is very important as it reduces the overall risks to a project when team members leave.  Pair programming is not necessarily inefficient and there is evidence that a pair working together is more efficient than 2 programmers working separately.
  • 17. Advantages of pair programming Chapter 3 Agile software development 17  It supports the idea of collective ownership and responsibility for the system.  Individuals are not held responsible for problems with the code. Instead, the team has collective responsibility for resolving these problems.  It acts as an informal review process because each line of code is looked at by at least two people.  It helps support refactoring, which is a process of software improvement.  Where pair programming and collective ownership are used, others benefit immediately from the refactoring so they are likely to support the process.
  • 18. References  Cornell University, USA http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html  Picture collect from: Ivan Marsic, Rutgers University  Ian Sommerville, Software Engineering, 9th edition, Pearson, 2011  Roger s. pressman, Software Engineering a practitioners approach, 7th ed
  • 19. 19 Chapter 3 Agile software development

Editor's Notes

  1. Quick / alert team
  2. Windows XP = experience. But here XP = Extreme Programming
  3. Suppose, a Skeleton code/framework of forum based web. Then all forum based webpage order will follow this framework
  4. communication between software engineers and other stakeholders simplicity: XP restricts developers to design only for immediate need KISS = keep it simple & stupid (simple code in stupid way, not smart) Earn = X*45% + ( (X/y *.034)^1/2 ) )% 4 Write this code in separate lines
  5. RAD = Rapid action development