SlideShare a Scribd company logo
B. Computer Sci. (SE) (Hons.)

CSEB233: Fundamentals of
Software Engineering
Agile Development
Objectives

• Discuss
•
•

the concept of agility and agile software
development issues
Explain the Extreme Programming approach to
agile development
Describe other agile process models
The Manifesto for Agile Software
Development

•
•

―We are uncovering better ways of developing software
by doing it and helping others do it
Through this work we have come to value:
o
o
o

•

o

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.‖
Kent Beck et al
Agile Development
Concept and Issues
What is “Agility”?

• Effective (rapid and adaptive) response to change
• Effective communication among all stakeholders
• Drawing the customer onto the team
• Organizing a team so that it is in control of the work
performed
Yielding …
• Rapid, incremental delivery of software
Agility and the Cost of Change
An Agile Process

• Is
•
•
•
•

driven by customer descriptions of what is
required (scenarios)
Recognizes that plans are short-lived
Develops software iteratively with a heavy emphasis
on construction activities
Delivers multiple ‗software increments‘
Adapts as changes occur
Agility Principles

•
•

Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software
Welcome changing requirements, even late in
development.
o

•
•

Agile processes harness change for the customer's
competitive advantage

Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the
shorter timescale
Business people and developers must work together
daily throughout the project
Agility Principles

•

Build projects around motivated individuals.
o

•
•
•

Give them the environment and support they need, and trust
them to get the job done

The most efficient and effective method of conveying
information to and within a development team is faceto-face conversation
Working software is the primary measure of progress.
Agile processes promote sustainable development
o

The sponsors, developers, and users should be able to
maintain a constant pace indefinitely
Agility Principles

• Continuous
•
•

•

attention to technical excellence and
good design enhances agility
Simplicity – the art of maximizing the amount of
work not done – is essential
The best architectures, requirements, and designs
emerge from self-organizing teams
At regular intervals, the team reflects on how to
become more effective, then tunes and adjusts its
behavior accordingly
Human Factors

•
•

The process molds to the needs of the people and
team, not the other way around
Key traits must exist among the people on an agile
team and the team itself:
o
o
o
o

o
o
o

Competence
Common focus
Collaboration
Decision-making ability
Fuzzy problem-solving ability
Mutual trust and respect
Self-organization
Agile Development
Extreme Programming
Extreme Programming (XP)

• The
•

most widely used agile process, originally
proposed by Kent Beck
XP Planning
Begins with the creation of ―user stories‖
o Agile team assesses each story and assigns a cost
o Stories are grouped to for a deliverable increment
o A commitment is made on delivery date
o After the first increment ―project velocity‖ is used to help
define subsequent delivery dates for other increments
o
Extreme Programming (XP)
• XP Design
o
o

o

o

Follows the KISS principle
Encourage the use of CRC
cards (see Chapter 8)
For
difficult
design
problems,
suggests
the
creation of ―spike solutions‖—
a design prototype
Encourages ―refactoring‖—an
iterative refinement of the
internal program design

• XP Coding
o

o

Recommends the construction
of a unit test for a store before
coding commences
Encourages ―pair
programming‖

• XP Testing
o

o

All unit tests are executed
daily
―Acceptance tests‖ are defined
by the customer and excuted
to assess customer visible
functionality
Extreme Programming (XP)
sim p le d esig n
CRC c ar d s

sp ik e so lut io ns
p r o t o t y p es

user st o r ies
v alues
ac c ep t anc e t est c r it er ia
it er at io n p lan

r ef ac t o r ing

p air
p r o g r am m ing

Release
so f t w a r e in cr e m e n t
p r o j e ct v e lo cit y co m p u t e d

unit t est
c o nt inuo us int eg r at io n

ac c ep t anc e t est ing
Agile Development
Other Agile Process Models
Adaptive Software Development

• Originally proposed by Jim Highsmith
• ASD‘s distinguishing features

Mission-driven planning
o Component-based focus
o Uses ―time-boxing‖ (See Chapter 24)
o Explicit consideration of risks
o Emphasizes collaboration for requirements gathering
o Emphasizes ―learning‖ throughout the process
o
Adaptive Software Development
ad ap t iv e c y c le p lanning

Req uir em ent s g at her ing

uses m issio n st at em ent

JA D

pro jec t c o nst raint s

m ini- sp ec s

b asic requirem ent s

t im e- b o x ed r elease p lan

Release
so f t w a r e in cr e m e n t
a d j u st m e n t s f o r su b se q u e n t cy cle s

c o m p o nent s im p lem ent ed / t est ed
f o c us g r o up s f o r f eed b ac k
f o r m al t ec hnic al r ev iew s
p o st m o r t em s
Dynamic Systems Development Method
•
•

Promoted by the DSDM Consortium (www.dsdm.org)
DSDM‘s distinguishing features
o
o

Similar in most respects to XP and/or ASD
Nine guiding principles
• Active user involvement is imperative.
• DSDM teams must be empowered to make decisions.
• The focus is on frequent delivery of products.
• Fitness for business purpose is the essential criterion for acceptance of
deliverables.
• Iterative and incremental development is necessary to converge on an
accurate business solution.
• All changes during development are reversible.
• Requirements are baselined at a high level
• Testing is integrated throughout the life-cycle.
Dynamic Systems Development Method

DSDM Life Cycle (with permission of the DSDM consortium)
Scrum

•
•

Originally proposed by Schwaber and Beedle
Scrum‘s distinguishing features
o
o

o

o

o

Development work is partitioned into ―packets‖
Testing and documentation are on-going as the product is
constructed
Work occurs in ―sprints‖ and is derived from a ―backlog‖ of
existing requirements
Meetings are very short and sometimes conducted without
chairs
―demos‖ are delivered to the customer with the time-box
allocated
Scrum
Crystal

• Proposed by Cockburn and Highsmith
• Crystal‘s distinguishing features

Actually a family of process models that allow
―maneuverability‖ based on problem characteristics
o Face-to-face communication is emphasized
o Suggests the use of ―reflection workshops‖ to review the
work habits of the team
o
Feature Driven Development

• Originally proposed by Peter Coad et al
• FDD‘s distinguishing features

Emphasis is on defining ―features‖
• a feature ―is a client-valued function that can be
implemented in two weeks or less.‖
o Uses a feature template
• <action> the <result> <by | for | of | to> a(n) <object>
o A features list is created and ―plan by feature‖ is
conducted
o Design and construction merge in FDD
o
Feature Driven Development

Reprinted with permission of Peter Coad
Agile Modeling

• Originally proposed by Scott Ambler
• Suggests a set of agile modeling principles

Model with a purpose
o Use multiple models
o Travel light
o Content is more important than representation
o Know the models and the tools you use to create them
o Adapt locally
o
THE END
Copyright © 2013
Mohd. Sharifuddin Ahmad, PhD

College of Information Technology

More Related Content

What's hot

Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
Software Park Thailand
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
Life Cycle Engineering
 
Project to Product roadmap
Project to Product roadmapProject to Product roadmap
Project to Product roadmap
Periasamy Girirajan
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Naresh Jain
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
Muthu Natarajan
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto Values
Nikolai F.
 
Agile software development
Agile software development Agile software development
Agile software development
saurabh goel
 
Agile Manifesto
Agile ManifestoAgile Manifesto
Agile Manifesto
Mark Mansour
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Syed Zaid Irshad
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
Mohit Kumar
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
Lean India Summit
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Devasis Roy
 
Agile
AgileAgile
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
Nicolas Casel
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environmentsunil1993
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
Deny Prasetia
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAdrianCuza
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
Davis Thomas
 
Software Modernisation: a strategic approach
Software Modernisation: a strategic approachSoftware Modernisation: a strategic approach
Software Modernisation: a strategic approach
Sandro Mancuso
 

What's hot (20)

Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Project to Product roadmap
Project to Product roadmapProject to Product roadmap
Project to Product roadmap
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto Values
 
Agile software development
Agile software development Agile software development
Agile software development
 
Agile Manifesto
Agile ManifestoAgile Manifesto
Agile Manifesto
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile
AgileAgile
Agile
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
 
Applying both of waterfall and iterative development
Applying both of waterfall and iterative developmentApplying both of waterfall and iterative development
Applying both of waterfall and iterative development
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
 
Software Modernisation: a strategic approach
Software Modernisation: a strategic approachSoftware Modernisation: a strategic approach
Software Modernisation: a strategic approach
 

Viewers also liked

Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Sinaporn (Pam) Suebvisai
 
ThoughtWorks Approach 2009
ThoughtWorks Approach 2009ThoughtWorks Approach 2009
ThoughtWorks Approach 2009
ThoughtWorks Studios
 
Agile in Medical Software Development
Agile in Medical Software DevelopmentAgile in Medical Software Development
Agile in Medical Software Development
Bernhard Kappe
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
guy_davis
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
Ahsan Rahim
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 

Viewers also liked (8)

Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
ThoughtWorks Approach 2009
ThoughtWorks Approach 2009ThoughtWorks Approach 2009
ThoughtWorks Approach 2009
 
Agile in Medical Software Development
Agile in Medical Software DevelopmentAgile in Medical Software Development
Agile in Medical Software Development
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Similar to 03 fse agiledevelopment

An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Sky
girabrent
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
livgeni
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
Vibrant Technologies & Computers
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
Amna Ch
 
Owasp summit slides day 2
Owasp summit slides day 2Owasp summit slides day 2
Owasp summit slides day 2
Dinis Cruz
 
Agile tutorial
Agile tutorialAgile tutorial
Agile tutorial
Chen-Tien Tsai
 
Scrum Intro for E-works
Scrum Intro for E-worksScrum Intro for E-works
Scrum Intro for E-worksNora Papazyan
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
NitinManne
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
ShudipPal
 
5 Whys of Scrum
5 Whys of Scrum5 Whys of Scrum
5 Whys of Scrum
Dave Sharrock
 
Lect7
Lect7Lect7
Lect7
Lect7Lect7
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
Fahad Alshareef
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
SwapnikaReddy6
 

Similar to 03 fse agiledevelopment (20)

An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Sky
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Owasp summit slides day 2
Owasp summit slides day 2Owasp summit slides day 2
Owasp summit slides day 2
 
Agile tutorial
Agile tutorialAgile tutorial
Agile tutorial
 
Scrum Intro for E-works
Scrum Intro for E-worksScrum Intro for E-works
Scrum Intro for E-works
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
5 Whys of Scrum
5 Whys of Scrum5 Whys of Scrum
5 Whys of Scrum
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
 

More from Mohesh Chandran

09 fse qualitymanagement
09 fse qualitymanagement09 fse qualitymanagement
09 fse qualitymanagementMohesh Chandran
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh Chandran
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineeringMohesh Chandran
 

More from Mohesh Chandran (8)

09 fse qualitymanagement
09 fse qualitymanagement09 fse qualitymanagement
09 fse qualitymanagement
 
08 fse verification
08 fse verification08 fse verification
08 fse verification
 
06 fse design
06 fse design06 fse design
06 fse design
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
02 fse processmodels
02 fse processmodels02 fse processmodels
02 fse processmodels
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
 
07 fse implementation
07 fse implementation07 fse implementation
07 fse implementation
 

Recently uploaded

Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 

Recently uploaded (20)

Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 

03 fse agiledevelopment

  • 1. B. Computer Sci. (SE) (Hons.) CSEB233: Fundamentals of Software Engineering Agile Development
  • 2. Objectives • Discuss • • the concept of agility and agile software development issues Explain the Extreme Programming approach to agile development Describe other agile process models
  • 3. The Manifesto for Agile Software Development • • ―We are uncovering better ways of developing software by doing it and helping others do it Through this work we have come to value: o o o • o 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.‖ Kent Beck et al
  • 5. What is “Agility”? • Effective (rapid and adaptive) response to change • Effective communication among all stakeholders • Drawing the customer onto the team • Organizing a team so that it is in control of the work performed Yielding … • Rapid, incremental delivery of software
  • 6. Agility and the Cost of Change
  • 7. An Agile Process • Is • • • • driven by customer descriptions of what is required (scenarios) Recognizes that plans are short-lived Develops software iteratively with a heavy emphasis on construction activities Delivers multiple ‗software increments‘ Adapts as changes occur
  • 8. Agility Principles • • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. o • • Agile processes harness change for the customer's competitive advantage Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Business people and developers must work together daily throughout the project
  • 9. Agility Principles • Build projects around motivated individuals. o • • • Give them the environment and support they need, and trust them to get the job done The most efficient and effective method of conveying information to and within a development team is faceto-face conversation Working software is the primary measure of progress. Agile processes promote sustainable development o The sponsors, developers, and users should be able to maintain a constant pace indefinitely
  • 10. Agility Principles • Continuous • • • attention to technical excellence and good design enhances agility Simplicity – the art of maximizing the amount of work not done – is essential The best architectures, requirements, and designs emerge from self-organizing teams At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
  • 11. Human Factors • • The process molds to the needs of the people and team, not the other way around Key traits must exist among the people on an agile team and the team itself: o o o o o o o Competence Common focus Collaboration Decision-making ability Fuzzy problem-solving ability Mutual trust and respect Self-organization
  • 13. Extreme Programming (XP) • The • most widely used agile process, originally proposed by Kent Beck XP Planning Begins with the creation of ―user stories‖ o Agile team assesses each story and assigns a cost o Stories are grouped to for a deliverable increment o A commitment is made on delivery date o After the first increment ―project velocity‖ is used to help define subsequent delivery dates for other increments o
  • 14. Extreme Programming (XP) • XP Design o o o o Follows the KISS principle Encourage the use of CRC cards (see Chapter 8) For difficult design problems, suggests the creation of ―spike solutions‖— a design prototype Encourages ―refactoring‖—an iterative refinement of the internal program design • XP Coding o o Recommends the construction of a unit test for a store before coding commences Encourages ―pair programming‖ • XP Testing o o All unit tests are executed daily ―Acceptance tests‖ are defined by the customer and excuted to assess customer visible functionality
  • 15. Extreme Programming (XP) sim p le d esig n CRC c ar d s sp ik e so lut io ns p r o t o t y p es user st o r ies v alues ac c ep t anc e t est c r it er ia it er at io n p lan r ef ac t o r ing p air p r o g r am m ing Release so f t w a r e in cr e m e n t p r o j e ct v e lo cit y co m p u t e d unit t est c o nt inuo us int eg r at io n ac c ep t anc e t est ing
  • 17. Adaptive Software Development • Originally proposed by Jim Highsmith • ASD‘s distinguishing features Mission-driven planning o Component-based focus o Uses ―time-boxing‖ (See Chapter 24) o Explicit consideration of risks o Emphasizes collaboration for requirements gathering o Emphasizes ―learning‖ throughout the process o
  • 18. Adaptive Software Development ad ap t iv e c y c le p lanning Req uir em ent s g at her ing uses m issio n st at em ent JA D pro jec t c o nst raint s m ini- sp ec s b asic requirem ent s t im e- b o x ed r elease p lan Release so f t w a r e in cr e m e n t a d j u st m e n t s f o r su b se q u e n t cy cle s c o m p o nent s im p lem ent ed / t est ed f o c us g r o up s f o r f eed b ac k f o r m al t ec hnic al r ev iew s p o st m o r t em s
  • 19. Dynamic Systems Development Method • • Promoted by the DSDM Consortium (www.dsdm.org) DSDM‘s distinguishing features o o Similar in most respects to XP and/or ASD Nine guiding principles • Active user involvement is imperative. • DSDM teams must be empowered to make decisions. • The focus is on frequent delivery of products. • Fitness for business purpose is the essential criterion for acceptance of deliverables. • Iterative and incremental development is necessary to converge on an accurate business solution. • All changes during development are reversible. • Requirements are baselined at a high level • Testing is integrated throughout the life-cycle.
  • 20. Dynamic Systems Development Method DSDM Life Cycle (with permission of the DSDM consortium)
  • 21. Scrum • • Originally proposed by Schwaber and Beedle Scrum‘s distinguishing features o o o o o Development work is partitioned into ―packets‖ Testing and documentation are on-going as the product is constructed Work occurs in ―sprints‖ and is derived from a ―backlog‖ of existing requirements Meetings are very short and sometimes conducted without chairs ―demos‖ are delivered to the customer with the time-box allocated
  • 22. Scrum
  • 23. Crystal • Proposed by Cockburn and Highsmith • Crystal‘s distinguishing features Actually a family of process models that allow ―maneuverability‖ based on problem characteristics o Face-to-face communication is emphasized o Suggests the use of ―reflection workshops‖ to review the work habits of the team o
  • 24. Feature Driven Development • Originally proposed by Peter Coad et al • FDD‘s distinguishing features Emphasis is on defining ―features‖ • a feature ―is a client-valued function that can be implemented in two weeks or less.‖ o Uses a feature template • <action> the <result> <by | for | of | to> a(n) <object> o A features list is created and ―plan by feature‖ is conducted o Design and construction merge in FDD o
  • 25. Feature Driven Development Reprinted with permission of Peter Coad
  • 26. Agile Modeling • Originally proposed by Scott Ambler • Suggests a set of agile modeling principles Model with a purpose o Use multiple models o Travel light o Content is more important than representation o Know the models and the tools you use to create them o Adapt locally o
  • 27. THE END Copyright © 2013 Mohd. Sharifuddin Ahmad, PhD College of Information Technology