SlideShare a Scribd company logo
1 of 21
Download to read offline
Chapter-3: Agile Development
Abdus Sattar
Senior Lecturer
Department of Computer Science and Engineering
Daffodil International University
Email: abdus.cse@diu.edu.bd
What is “Agility”?
Ability to move quickly and easily.
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 or Soft …
Rapid, incremental delivery of software 2
An Agile Process
3
An agile process characterized in a manner
that addressed three assumptions about the
majority of software:-
 It is difficult to predict in advance which software
requirements will persist and which will change.
 For many types of software design and construction are
enclosed.
 Analysis, design, construction and testing are not as
predictable.
12 Agility Principles
4
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive
advantage.
3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily
throughout the project.
5. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the job
done.
6. The most efficient and effective method of conveying information
to and within a development team is face–to–face conversation.
12 Agility Principles(Cont..)
5
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a
constant pace indefinitely.
9. Continuous attention to technical excellence and good design
enhances agility.
10. Simplicity – the art of maximizing the amount of work not
done – is essential.
11. The best architectures, requirements, and designs emerge
from self–organizing teams.
12. At regular intervals, the team reflects on how to become
more effective, then tunes and adjusts its behavior
accordingly.
Human Factors
6
• The process models use 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:
• Competence.
• Common focus.
• Collaboration.
• Decision-making ability.
• Fuzzy problem-solving ability.
• Mutual trust and respect.
• Self-organization.
Extreme Programming(XP)
7
 XP uses an object oriented approach.
 XP encompasses a set of rules and practice that
occur within the context of four framework
activities.
 XP Planning
 XP Design
 XP Coding
 XP Testing
Extreme Programming(XP)
8
Extreme Programming(XP)
9
There are four basic activities that XP proposes for software development
process :
1. XP Planning :
- The planning activity begins with the creating of a set of stories that describe required
features and functionally for software to be built.
- Each stories is written by the customer and placed on an index card.
- The customer assign a value to the story on the overall business value of the feature
or function.
- ¨Members of the XP team the access each story and assign a cost measured in
development week to it.
2. XP Design:
- XP design follows the KIS-Keep it simple principle.
- A simple design is always preferred over a more complex representation.
- The design provides implementation giddiness for a story as it is written nothing less,
nothing more.
- The XP team conducts the design exercise using a process and the CRC cards are the
only design work product produced as the part of XP process.
- XP recommends the immediate creating of an operational prototype of that portion of
the design called spike solution.
Extreme Programming(XP)
10
3. XP Coding :
- XP recommends that after stories are developed and preliminary design is done, the
team should not move to code, but rather develop a series of unit test.
- Once the code is complete, it can be unit tested immediately, thereby providing
instaneous feedback to the developers.
- During the coding activity is pair programming.
- XP recommends that two people work together at one computer work station to create
code for a story. This provides a mechanism for real time problem solving and real
time quality assurance.
4. XP Testing:
- The creation of unit test before coding commence is a key element of the XP
approach.
- The unit test that are created should be implemented using a framework the enable
them to be automated.
- Integration and validation testing of the system can occur a daily basis.
- XP acceptance test, also called customer test are specified by the customer and focus
on overall system.
Other Agile Process Models
11
Adaptive Software Development (ASD)
Scrum
Dynamic Systems Development Method (DSDM)
Crystal
Feature Drive Development (FDD)
Lean Software Development (LSD)
Agile Modeling (AM)
Agile Unified Process (AUP)
Adaptive Software Development(ASD)
12
 Originally proposed by Jim Highsmith
 ASD technique proposed for building complex
software and system.
 ASD focus on human collaboration and team-self-
organization.
 ASD incorporates three phases:-
 Speculation
 Collaboration
 Learning
Adaptive Software Development
13
ASD Three Phases
14
1. Speculation:
- During speculation , the project is initiated and adapted cycle planning is
conducted.
- Adapting cycle planning uses project initiation – information the customers
mission statement, project constraints and basic requirements to define the set of
release cycle.
2. Collaboration
- The collaboration approach is requiring theme in all agile methods, but
collaboration is not easy.
- It is not simply communicate, although communicate is a part of it.
- It is nota rejection individualism, because individual creativity plays on
important role in collaboration thinking.
- People working together must trust one another to:-
- Criticize without animosity
- Assist without resentment.
- Work as hard of harder as they do.
- Have the skill set to contribute to the work at hard
- Communicate problem
Adaptive Software Development
15
3. Learning
- ASD teams learns three ways:-
- Focus Group:
- The customer or end user provide feedback on software increments that
are being delivered.
- Formal technical review:
- ASD team members review the software components that are develop,
improving quality and learning as they proceed.
- Postmaster
- The ASD team becomes introspective , addressing its own performance
and process.
Dynamic Systems Development
(DSD) Method
16
 The Dynamic System Development method (DSDM) is an
agile software development approach that provides a
framework for building and maintain system which meet tight
time constraints through the use of incremental prototyping in
a controlled project environment.
 The DSDM life cycle defines, three iterative cycle precede by
two additional life cycle.
 Feasibility study
 Business study
 Functional model iteration
 Design and iteration
 Implementation
DSDM Iterative life cycle
17
 Feasibility study
 Established the basic business requirements and constraints associated with
the applicants to be built.
 Business study
 Establishes the functional information requirements that will allow the
applicants to provide business value.
 Functional model iteration
 Produce a set of incremental prototype that demonstrate functionality for the
customer.
 Design and iteration
 Revisits prototype built during the functional model iteration to ensure that
each has been engineered in a manner.
 Implementation
 Places the latest software increment into the operational environment.
 It should be noted that-
 The increment may not be 100 percent complete
 Changes may be requested as the increment is put into place.
Scrum Agile Process
18
Scrum is an agile software development method that was
conceived by Jeff Sutherland and his development team in the
early 1990s.
In recent years, further development on the Scrum methods
has been performed by Schwaber and Beedle
Scrum principles are consistent with the agile manifesto and
are used to guide development activities within a process that
incorporates the following framework activities: requirements,
analysis, design, evolution, and delivery.
Scrum Agile Process
19
Fig: Scrum Process Flow
Scrum Agile Principles
20
 Small working teams are organized to maximize
communication, minimize overload and maximize sharing
tacit, informal knowledge.
 The process must be adaptable to both technical and
business changes – to ensure the best possible product is
produced.
 The process yields frequent software increment that can be
inspected, adjusted, tested , documented and built on.
 Development work and people who perform it are
partitioned into clean low coupling partitions or packets.
 Constant testing and documentation is preferred as the
product is built.
 The scrum process provides the ability to declare a
product done whenever required.
21
References:
1. Software Engineering A practitioner’s
Approach
by Roger S. Pressman, 7th edition, McGraw Hill, 2010.
2. Software Engineering by Ian Sommerville,
9th edition, Addison-Wesley, 2011

More Related Content

What's hot

Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Slideshare
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
guru3188
 

What's hot (20)

Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
software engineering
software engineeringsoftware engineering
software engineering
 
Ch15 software reliability
Ch15 software reliabilityCh15 software reliability
Ch15 software reliability
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methods
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 

Similar to 4. ch 3-agile process

Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
zeelp3114
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
Zeeshan Masood S
 

Similar to 4. ch 3-agile process (20)

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)
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Unit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of softwareUnit_1_Agile development.pdf about the script of software
Unit_1_Agile development.pdf about the script of software
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overview
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
Unit2
Unit2Unit2
Unit2
 
Agile development
Agile developmentAgile development
Agile development
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 

More from Delowar hossain (8)

Software model
Software modelSoftware model
Software model
 
Cse 333-assignment-software engineering
Cse 333-assignment-software engineeringCse 333-assignment-software engineering
Cse 333-assignment-software engineering
 
Assignment
AssignmentAssignment
Assignment
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
1. ch 1-introduction
1. ch 1-introduction1. ch 1-introduction
1. ch 1-introduction
 
Chapter 8 memory-updated
Chapter 8 memory-updatedChapter 8 memory-updated
Chapter 8 memory-updated
 

Recently uploaded

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 

4. ch 3-agile process

  • 1. Chapter-3: Agile Development Abdus Sattar Senior Lecturer Department of Computer Science and Engineering Daffodil International University Email: abdus.cse@diu.edu.bd
  • 2. What is “Agility”? Ability to move quickly and easily. 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 or Soft … Rapid, incremental delivery of software 2
  • 3. An Agile Process 3 An agile process characterized in a manner that addressed three assumptions about the majority of software:-  It is difficult to predict in advance which software requirements will persist and which will change.  For many types of software design and construction are enclosed.  Analysis, design, construction and testing are not as predictable.
  • 4. 12 Agility Principles 4 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face–to–face conversation.
  • 5. 12 Agility Principles(Cont..) 5 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity – the art of maximizing the amount of work not done – is essential. 11. The best architectures, requirements, and designs emerge from self–organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 6. Human Factors 6 • The process models use 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: • Competence. • Common focus. • Collaboration. • Decision-making ability. • Fuzzy problem-solving ability. • Mutual trust and respect. • Self-organization.
  • 7. Extreme Programming(XP) 7  XP uses an object oriented approach.  XP encompasses a set of rules and practice that occur within the context of four framework activities.  XP Planning  XP Design  XP Coding  XP Testing
  • 9. Extreme Programming(XP) 9 There are four basic activities that XP proposes for software development process : 1. XP Planning : - The planning activity begins with the creating of a set of stories that describe required features and functionally for software to be built. - Each stories is written by the customer and placed on an index card. - The customer assign a value to the story on the overall business value of the feature or function. - ¨Members of the XP team the access each story and assign a cost measured in development week to it. 2. XP Design: - XP design follows the KIS-Keep it simple principle. - A simple design is always preferred over a more complex representation. - The design provides implementation giddiness for a story as it is written nothing less, nothing more. - The XP team conducts the design exercise using a process and the CRC cards are the only design work product produced as the part of XP process. - XP recommends the immediate creating of an operational prototype of that portion of the design called spike solution.
  • 10. Extreme Programming(XP) 10 3. XP Coding : - XP recommends that after stories are developed and preliminary design is done, the team should not move to code, but rather develop a series of unit test. - Once the code is complete, it can be unit tested immediately, thereby providing instaneous feedback to the developers. - During the coding activity is pair programming. - XP recommends that two people work together at one computer work station to create code for a story. This provides a mechanism for real time problem solving and real time quality assurance. 4. XP Testing: - The creation of unit test before coding commence is a key element of the XP approach. - The unit test that are created should be implemented using a framework the enable them to be automated. - Integration and validation testing of the system can occur a daily basis. - XP acceptance test, also called customer test are specified by the customer and focus on overall system.
  • 11. Other Agile Process Models 11 Adaptive Software Development (ASD) Scrum Dynamic Systems Development Method (DSDM) Crystal Feature Drive Development (FDD) Lean Software Development (LSD) Agile Modeling (AM) Agile Unified Process (AUP)
  • 12. Adaptive Software Development(ASD) 12  Originally proposed by Jim Highsmith  ASD technique proposed for building complex software and system.  ASD focus on human collaboration and team-self- organization.  ASD incorporates three phases:-  Speculation  Collaboration  Learning
  • 14. ASD Three Phases 14 1. Speculation: - During speculation , the project is initiated and adapted cycle planning is conducted. - Adapting cycle planning uses project initiation – information the customers mission statement, project constraints and basic requirements to define the set of release cycle. 2. Collaboration - The collaboration approach is requiring theme in all agile methods, but collaboration is not easy. - It is not simply communicate, although communicate is a part of it. - It is nota rejection individualism, because individual creativity plays on important role in collaboration thinking. - People working together must trust one another to:- - Criticize without animosity - Assist without resentment. - Work as hard of harder as they do. - Have the skill set to contribute to the work at hard - Communicate problem
  • 15. Adaptive Software Development 15 3. Learning - ASD teams learns three ways:- - Focus Group: - The customer or end user provide feedback on software increments that are being delivered. - Formal technical review: - ASD team members review the software components that are develop, improving quality and learning as they proceed. - Postmaster - The ASD team becomes introspective , addressing its own performance and process.
  • 16. Dynamic Systems Development (DSD) Method 16  The Dynamic System Development method (DSDM) is an agile software development approach that provides a framework for building and maintain system which meet tight time constraints through the use of incremental prototyping in a controlled project environment.  The DSDM life cycle defines, three iterative cycle precede by two additional life cycle.  Feasibility study  Business study  Functional model iteration  Design and iteration  Implementation
  • 17. DSDM Iterative life cycle 17  Feasibility study  Established the basic business requirements and constraints associated with the applicants to be built.  Business study  Establishes the functional information requirements that will allow the applicants to provide business value.  Functional model iteration  Produce a set of incremental prototype that demonstrate functionality for the customer.  Design and iteration  Revisits prototype built during the functional model iteration to ensure that each has been engineered in a manner.  Implementation  Places the latest software increment into the operational environment.  It should be noted that-  The increment may not be 100 percent complete  Changes may be requested as the increment is put into place.
  • 18. Scrum Agile Process 18 Scrum is an agile software development method that was conceived by Jeff Sutherland and his development team in the early 1990s. In recent years, further development on the Scrum methods has been performed by Schwaber and Beedle Scrum principles are consistent with the agile manifesto and are used to guide development activities within a process that incorporates the following framework activities: requirements, analysis, design, evolution, and delivery.
  • 19. Scrum Agile Process 19 Fig: Scrum Process Flow
  • 20. Scrum Agile Principles 20  Small working teams are organized to maximize communication, minimize overload and maximize sharing tacit, informal knowledge.  The process must be adaptable to both technical and business changes – to ensure the best possible product is produced.  The process yields frequent software increment that can be inspected, adjusted, tested , documented and built on.  Development work and people who perform it are partitioned into clean low coupling partitions or packets.  Constant testing and documentation is preferred as the product is built.  The scrum process provides the ability to declare a product done whenever required.
  • 21. 21 References: 1. Software Engineering A practitioner’s Approach by Roger S. Pressman, 7th edition, McGraw Hill, 2010. 2. Software Engineering by Ian Sommerville, 9th edition, Addison-Wesley, 2011