SlideShare a Scribd company logo
1 of 41
Software Engineering (CSC205)
gg
BSCS/BS(SE)-III
Lecture 5-6
Topics
• Process Models
• RUP
• Agile Models
2
The Unified Process (UP)
3
inception
elaboration
UP Phases
4
UPWork Products
5
Agile development
• Program specification, design and implementation are inter-leaved
• The system is developed as a series of versions or increments with
stakeholders involved in version specification and evaluation
• Frequent delivery of new versions for evaluation
• Extensive tool support (e.g. automated testing tools) used to support
development.
• Minimal documentation – focus on working code
6
Plan-driven and agile development
7
Common Fears for Developers
• The project will produce the wrong product.
• The project will produce a product of inferior quality.
• The project will be late.
• We’ll have to work 80 hour/ week.
• We’ll have to break commitments.
8
Plan-driven and agile development
• Plan-driven development
• A plan-driven approach to software engineering is based around
separate development stages with the outputs to be produced at
each of these stages planned in advance.
• Not necessarily waterfall model – plan-driven, incremental
development is possible
• Iteration occurs within activities.
• Agile development
• Specification, design, implementation and testing are inter-leaved
and the outputs from the development process are decided through
a process of negotiation during the software development process.
9
Agile methods
10
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:
• 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.
11
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.
12
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.
13
Agility and the Cost of Change
14
Agile Principles
1. Our highest priority is to satisfy the client
through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in
development. Agile processes harness change
for the client'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.
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.
15
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:
• Competence.
• Common focus.
• Collaboration.
• Decision-making ability.
• Fuzzy problem-solving ability.
• Mutual trust and respect.
• Self-organization.
16
Example: Extreme Programming (XP)
17
Extreme programming practices
18
Principle or
practice
Description
Incremental
planning
Requirements are recorded on story cards and the
stories to be included in a release are determined by
the time available and their relative priority. The
developers break these stories into development
‘Tasks’. See Figures 3.5 and 3.6.
Small releases The minimal useful set of functionality that provides
business value is developed first. Releases of the
system are frequent and incrementally add functionality
to the first release.
Simple design Enough design is carried out to meet the current
requirements and no more.
Test-first
development
An automated unit test framework is used to write tests
for a new piece of functionality before that functionality
itself is implemented.
Refactoring All developers are expected to refactor the code
continuously as soon as possible code improvements
are found. This keeps the code simple and
maintainable.
Extreme programming practices
19
Pair programming Developers work in pairs, checking each other’s work
and providing the support to always do a good job.
Collective
ownership
The pairs of developers work on all areas of the system,
so that no islands of expertise develop and all the
developers take responsibility for all of the code.
Anyone can change anything.
Continuous
integration
As soon as the work on a task is complete, it is
integrated into the whole system. After any such
integration, all the unit tests in the system must pass.
Sustainable pace Large amounts of overtime are not considered
acceptable as the net effect is often to reduce code
quality and medium term productivity
On-site customer A representative of the end-user of the system (the
customer) should be available full time for the use of the
XP team. In an extreme programming process, the
customer is a member of the development team and is
responsible for bringing system requirements to the
team for implementation.
User stories for requirements
• In XP, a customer or user is part of the XP team and is
responsible for making decisions on requirements.
• User requirements are expressed as user stories or
scenarios.
• These are written on cards and the development team
break them down into implementation tasks.These tasks
are the basis of schedule and cost estimates.
• The customer chooses the stories for inclusion in the next
release based on their priorities and the schedule
estimates.
20
A ‘prescribing medication’ story
21
Examples of task cards for prescribing
medication
22
Scrum
• Scrum is an agile method that focuses on managing
iterative development rather than specific agile practices.
• There are three phases in Scrum.
• The initial phase is an outline planning phase where you
establish the general objectives for the project and design the
software architecture.
• This is followed by a series of sprint cycles, where each cycle
develops an increment of the system.
• The project closure phase wraps up the project, completes
required documentation such as system help frames and user
manuals and assesses the lessons learned from the project.
23
When Scrum can be applied?
• Complex Projects.
• Project with changing requirements.
• Project with changing environment and
conditions.
• Project with uncertainties.
• Project where all analysis (requirements,
schedules, resource allocation) can not be
done at the start (or at least not accurately).
24
Scrum Process … Outline
• Start with Vision of what you want to achieve.
• Come up with Core Requirements and priorities (Bare Minimum but good
enough to get started) – Product Backlog
• Team selects the requirements that it can implement in the first iteration
(Planning Meeting)
• Team defines tasks for completing requirements (Sprint Backlog)
• Team goes in 30-Day Development Cycle (Sprint)
• Team meets daily to sync up on progress (Daily Scrum)
• Team goes through the complete process (design, development, testing,
documentation) to complete an increment of functionality.
• At the end of 30 day sprint, Team demonstrates completed functionality to
bosses and stakeholders (Sprint Review)
• Team analyses its Sprint performance (Sprint Retrospective)
• Requirements are prioritized, redefined.
• Team goes through the process again (Sprint 2, Sprint 3, …, Release)
25
A Complete View
Scrum Process – Another Angle
The Committed People
• There are 3 roles of the people who have committed themselves to the
success of Scrum and are ultimately responsible for it.
• Product Owner
• Responsible for defining requirements of the project and their
priorities.
• The Team
• The Cross-Functional Team that works on the Requirements defined
and in the priority as given by the Product Owner. The Team is what
carries out the Sprint.
• Scrum Master
• Member of Team that drives the Scrum. He guides the team and
makes sure that Scrum is implemented.
Scrum Master …
• Responsible for running the Scrum.
• Plays the role of a facilitator, guider, trainer, motivator,
impediment remover.
• Scrum Master is NOT exactly Project Manager.
• Should know more about the Scrum process than others.
• Should be very clear on the philosophy behind Scrum
principles.
• Responsible for improving the overall working
environment and conditions for the team.
• Makes sure that the team is not obstructed in any way
during the Sprint.
• Ensures Scrum principles are followed.
29
Sprint Review
• Conducted at the end of Sprint
• Team demonstrates completed functionality
in Sprint to Product Owner and Stakeholders
• It’s the ‘inspection and adaptation’ part
• Management can identify risks and
opportunities
• Product Owner and others can reprioritize the
Product Backlog after this ‘feedback’
Sprint Review Rules
• Team should not spend more than 1 hour
to prepare
• Only ‘done’ functionality is presented
• Sprint Review involves team presenting
functionality, answering questions and
discussion
• Everyone gives their feedback
• Scrum Master schedules and conducts the
meeting
Sprint Retrospective
• Conducted after Sprint Review by the Team
• They evaluate the just concluded Sprint
• They discuss what went wrong, what went
right and what needs to be changed and
improved
• The objective is to ensure that the next Sprint
goes better than the current Sprint
Scrum Process - Meetings
Daily Scrum Meeting
Daily Scrum – Rules
• Chickens can attend – but cannot interfere
• Every Team members answers 3 questions:
• What has he done since last meeting?
• What he plans to do between now and next
meeting?
• What impedes his work progress?
• There should be no digressing beyond these 3
questions
Scrum of Scrums …
Scrum benefits
• The product is broken down into a set of manageable and
understandable chunks.
• Unstable requirements do not hold up progress.
• The whole team have visibility of everything and consequently team
communication is improved.
• Customers see on-time delivery of increments and gain feedback on
how the product works.
• Trust between customers and developers is established and a
positive culture is created in which everyone expects the project to
succeed.
37
Other Agile Processes
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Crystal
• Feature Driven Development
• Agile Modeling (AM)
38
Model Selection
39
“…But we must try to understand it if we are to solve it.”
Fred Brooks, 1975
Exercise
• List down key attributes/characteristics that help in
selecting a process model or differentiating them.
40
References
1. Software Engineering, Sommerville, I., Chapter 2 & 3,
10th Edition (2016), Pearson.
2. Software Engineering: A Practitioner’s Approach,
Pressman, R.S. & Maxim B., Chapter 2 & 3, 8th Edition
(2015), McGraw-Hill.
41

More Related Content

Similar to Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz

Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वोAgile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
MnyMehr
 

Similar to Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz (20)

Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
Agile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptxAgile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptx
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptx
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Agile
AgileAgile
Agile
 
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वोAgile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
Agile - Basics.pptxjvjplhxitstistidara तिहोचपवपज्वो
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
Unit -1.ppt
Unit -1.pptUnit -1.ppt
Unit -1.ppt
 
agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.ppt
 
Agile Development Process
Agile Development ProcessAgile Development Process
Agile Development Process
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Process models
Process modelsProcess models
Process models
 
Intro to Agile
Intro to AgileIntro to Agile
Intro to Agile
 
Chapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxChapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptx
 
Agile mODEL
Agile mODELAgile mODEL
Agile mODEL
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
3-SE Agility and Process-2.pptx
3-SE Agility and Process-2.pptx3-SE Agility and Process-2.pptx
3-SE Agility and Process-2.pptx
 

More from AhmadSajjad34 (12)

Electronic (digital) dice.pptx
Electronic (digital) dice.pptxElectronic (digital) dice.pptx
Electronic (digital) dice.pptx
 
intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
PPT SLIDE FINAL change.pptx
PPT SLIDE FINAL change.pptxPPT SLIDE FINAL change.pptx
PPT SLIDE FINAL change.pptx
 
corruptioninpakistan-140415103313-phpapp01.pptx
corruptioninpakistan-140415103313-phpapp01.pptxcorruptioninpakistan-140415103313-phpapp01.pptx
corruptioninpakistan-140415103313-phpapp01.pptx
 
public_speaking.ppt
public_speaking.pptpublic_speaking.ppt
public_speaking.ppt
 
PPT SLIDE FINAL.pptx
PPT SLIDE FINAL.pptxPPT SLIDE FINAL.pptx
PPT SLIDE FINAL.pptx
 
presentationonmatrix-160801150449 (1).pptx
presentationonmatrix-160801150449 (1).pptxpresentationonmatrix-160801150449 (1).pptx
presentationonmatrix-160801150449 (1).pptx
 
ahmad ppt discreet.pptx
ahmad ppt discreet.pptxahmad ppt discreet.pptx
ahmad ppt discreet.pptx
 
PPT SLIDE FINAL 2.pptx
PPT SLIDE FINAL 2.pptxPPT SLIDE FINAL 2.pptx
PPT SLIDE FINAL 2.pptx
 
Economy Of Pakistan (2).pptx
Economy Of Pakistan (2).pptxEconomy Of Pakistan (2).pptx
Economy Of Pakistan (2).pptx
 
public_speaking.ppt
public_speaking.pptpublic_speaking.ppt
public_speaking.ppt
 
3_Side_Event_presentation_Alun_Jones.ppt
3_Side_Event_presentation_Alun_Jones.ppt3_Side_Event_presentation_Alun_Jones.ppt
3_Side_Event_presentation_Alun_Jones.ppt
 

Recently uploaded

Obat Penggugur Kandungan Aman Bagi Ibu Menyusui 087776558899
Obat Penggugur Kandungan Aman Bagi Ibu Menyusui  087776558899Obat Penggugur Kandungan Aman Bagi Ibu Menyusui  087776558899
Obat Penggugur Kandungan Aman Bagi Ibu Menyusui 087776558899
Cara Menggugurkan Kandungan 087776558899
 
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get CytotecAbortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Recently uploaded (20)

Pitch-deck CopyFinancial and MemberForex.ppsx
Pitch-deck CopyFinancial and MemberForex.ppsxPitch-deck CopyFinancial and MemberForex.ppsx
Pitch-deck CopyFinancial and MemberForex.ppsx
 
劳伦森大学毕业证
劳伦森大学毕业证劳伦森大学毕业证
劳伦森大学毕业证
 
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
 
Obat Penggugur Kandungan Aman Bagi Ibu Menyusui 087776558899
Obat Penggugur Kandungan Aman Bagi Ibu Menyusui  087776558899Obat Penggugur Kandungan Aman Bagi Ibu Menyusui  087776558899
Obat Penggugur Kandungan Aman Bagi Ibu Menyusui 087776558899
 
uk-no 1 kala ilam expert specialist in uk and qatar kala ilam expert speciali...
uk-no 1 kala ilam expert specialist in uk and qatar kala ilam expert speciali...uk-no 1 kala ilam expert specialist in uk and qatar kala ilam expert speciali...
uk-no 1 kala ilam expert specialist in uk and qatar kala ilam expert speciali...
 
Shrambal_Distributors_Newsletter_May-2024.pdf
Shrambal_Distributors_Newsletter_May-2024.pdfShrambal_Distributors_Newsletter_May-2024.pdf
Shrambal_Distributors_Newsletter_May-2024.pdf
 
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize ThemSignificant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
 
Pension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfPension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdf
 
Retail sector trends for 2024 | European Business Review
Retail sector trends for 2024  | European Business ReviewRetail sector trends for 2024  | European Business Review
Retail sector trends for 2024 | European Business Review
 
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
Famous Kala Jadu, Black magic expert in Faisalabad and Kala ilam specialist i...
 
20240514-Calibre-Q1-2024-Conference-Call-Presentation.pdf
20240514-Calibre-Q1-2024-Conference-Call-Presentation.pdf20240514-Calibre-Q1-2024-Conference-Call-Presentation.pdf
20240514-Calibre-Q1-2024-Conference-Call-Presentation.pdf
 
asli amil baba bengali black magic kala jadu expert in uk usa canada france c...
asli amil baba bengali black magic kala jadu expert in uk usa canada france c...asli amil baba bengali black magic kala jadu expert in uk usa canada france c...
asli amil baba bengali black magic kala jadu expert in uk usa canada france c...
 
DIGITAL COMMERCE SHAPE VIETNAMESE SHOPPING HABIT IN 4.0 INDUSTRY
DIGITAL COMMERCE SHAPE VIETNAMESE SHOPPING HABIT IN 4.0 INDUSTRYDIGITAL COMMERCE SHAPE VIETNAMESE SHOPPING HABIT IN 4.0 INDUSTRY
DIGITAL COMMERCE SHAPE VIETNAMESE SHOPPING HABIT IN 4.0 INDUSTRY
 
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get CytotecAbortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
Abortion pills in Dammam Saudi Arabia | +966572737505 |Get Cytotec
 
Strategic Resources May 2024 Corporate Presentation
Strategic Resources May 2024 Corporate PresentationStrategic Resources May 2024 Corporate Presentation
Strategic Resources May 2024 Corporate Presentation
 
Q1 2024 Conference Call Presentation vF.pdf
Q1 2024 Conference Call Presentation vF.pdfQ1 2024 Conference Call Presentation vF.pdf
Q1 2024 Conference Call Presentation vF.pdf
 
cost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptxcost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptx
 
Solution Manual For Financial Statement Analysis, 13th Edition By Charles H. ...
Solution Manual For Financial Statement Analysis, 13th Edition By Charles H. ...Solution Manual For Financial Statement Analysis, 13th Edition By Charles H. ...
Solution Manual For Financial Statement Analysis, 13th Edition By Charles H. ...
 
Current scenario of Energy Retail utilities market in UK
Current scenario of Energy Retail utilities market in UKCurrent scenario of Energy Retail utilities market in UK
Current scenario of Energy Retail utilities market in UK
 
Webinar on E-Invoicing for Fintech Belgium
Webinar on E-Invoicing for Fintech BelgiumWebinar on E-Invoicing for Fintech Belgium
Webinar on E-Invoicing for Fintech Belgium
 

Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz

  • 2. Topics • Process Models • RUP • Agile Models 2
  • 3. The Unified Process (UP) 3 inception elaboration
  • 6. Agile development • Program specification, design and implementation are inter-leaved • The system is developed as a series of versions or increments with stakeholders involved in version specification and evaluation • Frequent delivery of new versions for evaluation • Extensive tool support (e.g. automated testing tools) used to support development. • Minimal documentation – focus on working code 6
  • 7. Plan-driven and agile development 7
  • 8. Common Fears for Developers • The project will produce the wrong product. • The project will produce a product of inferior quality. • The project will be late. • We’ll have to work 80 hour/ week. • We’ll have to break commitments. 8
  • 9. Plan-driven and agile development • Plan-driven development • A plan-driven approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance. • Not necessarily waterfall model – plan-driven, incremental development is possible • Iteration occurs within activities. • Agile development • Specification, design, implementation and testing are inter-leaved and the outputs from the development process are decided through a process of negotiation during the software development process. 9
  • 11. 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: • 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. 11
  • 12. 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. 12
  • 13. 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. 13
  • 14. Agility and the Cost of Change 14
  • 15. Agile Principles 1. Our highest priority is to satisfy the client through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the client'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. 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. 15
  • 16. 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: • Competence. • Common focus. • Collaboration. • Decision-making ability. • Fuzzy problem-solving ability. • Mutual trust and respect. • Self-organization. 16
  • 18. Extreme programming practices 18 Principle or practice Description Incremental planning Requirements are recorded on story cards and the stories to be included in a release are determined by the time available and their relative priority. The developers break these stories into development ‘Tasks’. See Figures 3.5 and 3.6. Small releases The minimal useful set of functionality that provides business value is developed first. Releases of the system are frequent and incrementally add functionality to the first release. Simple design Enough design is carried out to meet the current requirements and no more. Test-first development An automated unit test framework is used to write tests for a new piece of functionality before that functionality itself is implemented. Refactoring All developers are expected to refactor the code continuously as soon as possible code improvements are found. This keeps the code simple and maintainable.
  • 19. Extreme programming practices 19 Pair programming Developers work in pairs, checking each other’s work and providing the support to always do a good job. Collective ownership The pairs of developers work on all areas of the system, so that no islands of expertise develop and all the developers take responsibility for all of the code. Anyone can change anything. Continuous integration As soon as the work on a task is complete, it is integrated into the whole system. After any such integration, all the unit tests in the system must pass. Sustainable pace Large amounts of overtime are not considered acceptable as the net effect is often to reduce code quality and medium term productivity On-site customer A representative of the end-user of the system (the customer) should be available full time for the use of the XP team. In an extreme programming process, the customer is a member of the development team and is responsible for bringing system requirements to the team for implementation.
  • 20. User stories for requirements • In XP, a customer or user is part of the XP team and is responsible for making decisions on requirements. • User requirements are expressed as user stories or scenarios. • These are written on cards and the development team break them down into implementation tasks.These tasks are the basis of schedule and cost estimates. • The customer chooses the stories for inclusion in the next release based on their priorities and the schedule estimates. 20
  • 22. Examples of task cards for prescribing medication 22
  • 23. Scrum • Scrum is an agile method that focuses on managing iterative development rather than specific agile practices. • There are three phases in Scrum. • The initial phase is an outline planning phase where you establish the general objectives for the project and design the software architecture. • This is followed by a series of sprint cycles, where each cycle develops an increment of the system. • The project closure phase wraps up the project, completes required documentation such as system help frames and user manuals and assesses the lessons learned from the project. 23
  • 24. When Scrum can be applied? • Complex Projects. • Project with changing requirements. • Project with changing environment and conditions. • Project with uncertainties. • Project where all analysis (requirements, schedules, resource allocation) can not be done at the start (or at least not accurately). 24
  • 25. Scrum Process … Outline • Start with Vision of what you want to achieve. • Come up with Core Requirements and priorities (Bare Minimum but good enough to get started) – Product Backlog • Team selects the requirements that it can implement in the first iteration (Planning Meeting) • Team defines tasks for completing requirements (Sprint Backlog) • Team goes in 30-Day Development Cycle (Sprint) • Team meets daily to sync up on progress (Daily Scrum) • Team goes through the complete process (design, development, testing, documentation) to complete an increment of functionality. • At the end of 30 day sprint, Team demonstrates completed functionality to bosses and stakeholders (Sprint Review) • Team analyses its Sprint performance (Sprint Retrospective) • Requirements are prioritized, redefined. • Team goes through the process again (Sprint 2, Sprint 3, …, Release) 25
  • 27. Scrum Process – Another Angle
  • 28. The Committed People • There are 3 roles of the people who have committed themselves to the success of Scrum and are ultimately responsible for it. • Product Owner • Responsible for defining requirements of the project and their priorities. • The Team • The Cross-Functional Team that works on the Requirements defined and in the priority as given by the Product Owner. The Team is what carries out the Sprint. • Scrum Master • Member of Team that drives the Scrum. He guides the team and makes sure that Scrum is implemented.
  • 29. Scrum Master … • Responsible for running the Scrum. • Plays the role of a facilitator, guider, trainer, motivator, impediment remover. • Scrum Master is NOT exactly Project Manager. • Should know more about the Scrum process than others. • Should be very clear on the philosophy behind Scrum principles. • Responsible for improving the overall working environment and conditions for the team. • Makes sure that the team is not obstructed in any way during the Sprint. • Ensures Scrum principles are followed. 29
  • 30. Sprint Review • Conducted at the end of Sprint • Team demonstrates completed functionality in Sprint to Product Owner and Stakeholders • It’s the ‘inspection and adaptation’ part • Management can identify risks and opportunities • Product Owner and others can reprioritize the Product Backlog after this ‘feedback’
  • 31. Sprint Review Rules • Team should not spend more than 1 hour to prepare • Only ‘done’ functionality is presented • Sprint Review involves team presenting functionality, answering questions and discussion • Everyone gives their feedback • Scrum Master schedules and conducts the meeting
  • 32. Sprint Retrospective • Conducted after Sprint Review by the Team • They evaluate the just concluded Sprint • They discuss what went wrong, what went right and what needs to be changed and improved • The objective is to ensure that the next Sprint goes better than the current Sprint
  • 33. Scrum Process - Meetings
  • 35. Daily Scrum – Rules • Chickens can attend – but cannot interfere • Every Team members answers 3 questions: • What has he done since last meeting? • What he plans to do between now and next meeting? • What impedes his work progress? • There should be no digressing beyond these 3 questions
  • 37. Scrum benefits • The product is broken down into a set of manageable and understandable chunks. • Unstable requirements do not hold up progress. • The whole team have visibility of everything and consequently team communication is improved. • Customers see on-time delivery of increments and gain feedback on how the product works. • Trust between customers and developers is established and a positive culture is created in which everyone expects the project to succeed. 37
  • 38. Other Agile Processes • Adaptive Software Development (ASD) • Dynamic Systems Development Method (DSDM) • Crystal • Feature Driven Development • Agile Modeling (AM) 38
  • 39. Model Selection 39 “…But we must try to understand it if we are to solve it.” Fred Brooks, 1975
  • 40. Exercise • List down key attributes/characteristics that help in selecting a process model or differentiating them. 40
  • 41. References 1. Software Engineering, Sommerville, I., Chapter 2 & 3, 10th Edition (2016), Pearson. 2. Software Engineering: A Practitioner’s Approach, Pressman, R.S. & Maxim B., Chapter 2 & 3, 8th Edition (2015), McGraw-Hill. 41