0% found this document useful (0 votes)
87 views23 pages

Week 2-Agile

The document discusses agile software development methods including the Agile Manifesto, extreme programming (XP), and Scrum. It describes the principles of agile development and some criticisms of the traditional waterfall model. Specific practices of XP like pair programming and test-driven development are covered. The roles, ceremonies and artifacts of Scrum like sprints, product backlog and daily standups are also explained.

Uploaded by

shahzadktk133
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views23 pages

Week 2-Agile

The document discusses agile software development methods including the Agile Manifesto, extreme programming (XP), and Scrum. It describes the principles of agile development and some criticisms of the traditional waterfall model. Specific practices of XP like pair programming and test-driven development are covered. The roles, ceremonies and artifacts of Scrum like sprints, product backlog and daily standups are also explained.

Uploaded by

shahzadktk133
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

10/10/2023

EC-360
SOFTWARE ENGINEERING

Week 2
Agile Software Development
Ref: Chapter 3 Software Engineering 9th Ed, by Roger Pressman

Dr Farooque Azam

Today’s Week: Agenda

• Recap
• Agile Manifesto
• Agile Development
• Agile Development Models
• Extreme Programming (XP)
• Scrum
• Jira

1
10/10/2023

RECAP – WEEK 1

Classical
Waterfall
Model

EC-360 Software Engineering 4

2
10/10/2023

Shortcomings of the Classical Waterfall


Model
• The classical waterfall model is an idealistic one since it
assumes that no development error is ever committed by
the engineers during any of the life cycle phases.
• However, in practical development environments, the
engineers do commit a large number of errors in almost
every phase of the life cycle.
• Once a defect is detected, the engineers need to go back
to the phase where the defect had occurred and redo
some of the work.
• To minimise the errors, sometimes we use prototype
approach.

EC-360 Software Engineering 5

Situation where classical waterfall model


is Suitable
• Well-Defined Requirements: When the project has clear, stable,
and well-documented requirements from the beginning, without
expecting significant changes

• Low to Moderate Complexity: For projects that are relatively


straightforward and not overly complex in terms of functionality and
architecture

• Small to Medium-Sized Projects: often appropriate for smaller


to medium-sized projects with limited scope and a manageable team
size

• Client's Preference: Client desires a traditional and linear


approach due organizational policies.

EC-360 Software Engineering 6

3
10/10/2023

AGILE DEVELOPMENT

The Manifesto for


Agile Software Development

In 2001, (“Agile Alliance”) signed the “Manifesto for Agile Software


Development.” as follows: -
while there is value in the items on the right, we value the items
on the left more: -
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan

Kent Beck et al
https://agilemanifesto.org/

4
10/10/2023

Introduction
Agile Software Development

• Agile Software Development is a set of principles and


practices for software development that prioritizes
flexibility, collaboration, and customer satisfaction.
• It aims to deliver valuable software incrementally and
iteratively while adapting to changing requirements and
feedback throughout the project's lifecycle.
• Agile methodologies promote a more customer-centric,
collaborative, and adaptive approach to software
development

Agility and the Cost of Change

10

5
10/10/2023

When Not to Use Agile

1. Your customer requires neat documentation of each


development cycle
2. Your customer requires approvals at each stage of
development
3. Your customer wants you to use the traditional methodology
and doesn’t want to hear about Agile
4. Your software house does not invest in spreading Agile
practices among the developers, testers, and management.

https://hygger.io/blog/when-not-to-use-
agile/#:~:text=Agile%20methods%20allow%20you%20to,not%20using%20Agile%20
development%20methods.

11

Agile Approaches

1. There are several Agile approaches and frameworks that


organizations can choose from, depending on their specific
needs and preferences: -
2. We will see two of most influential approaches: -
• Extreme Programming (XP)
• Scrum

12

6
10/10/2023

EXTREME PROGRAMMING
(XP)

13

Extreme Programming (XP)

• The most widely used agile process (IN PAST), originally


proposed by Kent Beck

• Extreme Programming uses an object-oriented approach


as its preferred development paradigm

• Includes a set of rules and practices that occur within the


context of four framework activities: planning, design,
coding, and testing.

14

7
10/10/2023

Extreme Programming (XP)

15

13 XP Practices

(Source: https://condor.depaul.edu/mwright1/se450/lectures/class-02-008.html )

16

8
10/10/2023

13 XP Practices

1. Whole Team (onsite customer) 7.Pair Programming


2. Planning Game 8.Collective Code Ownership
3. Small Releases 9.Continuous Integration
4. Common Metaphor 10.Sustainable Pace (40-Hr)
5. Simple Design 12.Coding Standards
6. Test-driven Development 13.Customer Tests
7. Refactoring

(Source: https://condor.depaul.edu/mwright1/se450/lectures/class-02-008.html )

17

Tutorial: https://www.tutorialspoint.com/scrum/index.htm

SCRUM

18

9
10/10/2023

Extreme Programming (XP)

19

SCRUM

20

10
10/10/2023

Scrum

• Originally proposed by Schwaber and Beedle

• Scrum—distinguishing features
– Work occurs in “sprints” and is derived from a
“backlog” of existing requirements

– Meetings are very short

21

Scrum at a Glance

24 hours
Daily Scrum
Meeting

Backlog tasks 30 days


expanded
Sprint Backlog by team

Potentially Shippable
Product Backlog Product Increment
As prioritized by Product Owner
Source: Adapted from Agile Software
Development with Scrum by Ken
Schwaber and Mike Beedle.

22

11
10/10/2023

Do Little of Everything Regularly


Requirements Design Code Test

Rather than doing all of one


thing at a time...
...Scrum teams do a little of
everything all the time

23

Scrum Framework
Roles
•Product owner
•Scrum Master
•Team Ceremonies
•Sprint planning
•Daily scrum meeting
•Sprint review
•Sprint retrospective
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
24

12
10/10/2023

Scrum Roles
– Product Owner
• Possibly a Product Manager or Project Sponsor
• Decides features, release date, prioritization, $$$

– Scrum Master
• Typically, a Project Manager or Team Leader
• Responsible for sanctioning Scrum values and practices
• Remove obstacles / politics, keeps everyone productive

– Project Team
• 5-10 members;
• Cross-functional: QA, Programmers, UI Designers, etc.
• Membership should change only between sprints

25

Sprint Planning Meeting


Team
Sprint planning meeting
capacity
Sprint prioritization
Product • Analyze/evaluate product Sprint
backlog backlog goal
• Select sprint goal
Business
conditions Sprint planning
• Decide how to achieve sprint goal
Current • Create sprint backlog (tasks) from Sprint
product product backlog items (user
stories / features) backlog
• Estimate sprint backlog in time
Technology units or story points

26

13
10/10/2023

Daily Scrum Meeting


• Parameters
– Daily, ~15 minutes, Stand-up
• Not for problem solving
– Only team members, Scrum Master, product owner, can talk
– Helps avoid other unnecessary meetings

• Three questions answered by each team member:


1. What did you do yesterday?
2. What will you do today?
3. What obstacles are in your way?

27

The Sprint Review


• After completion of Sprint
• Team presents what it accomplished during the
sprint
• Typically takes the form of a demo of new
features or underlying architecture
• Informal
– No slides
• Whole team participates

28

14
10/10/2023

The Sprint Retrospective


• Team discusses results of last sprint
• The retrospective includes three main
questions/points for discussion:
– What went well during the sprint cycle?
– What went wrong during the sprint cycle?
– What could we do differently to improve?
• Process improvements are made at the end of
every sprint. This ensures that the project team
is always improving the way it works.

29

Scrum's Artefacts
• Scrum has remarkably few artefacts
– Product Backlog
– Sprint Backlog
– Burndown Charts, and other monitoring Charts, etc

• Can be managed using just an Excel spreadsheet


– More advanced / complicated tools exist:
– JIRA is one popular option: -
– https://www.atlassian.com/software/jira
• Jira Tutorial for Beginners: Jira Project Management
– https://youtu.be/nHuhojfjeUY?si=Aa6ybjbqiNCSRjtJ

30

15
10/10/2023

Product Backlog
• The requirements
• A list of all desired work on project
• Ideally expressed as a list of user
stories along with "story points", such
that each item has value to users or
customers of the product
• Why we use story points (relative
estimation)? What is Team Velocity?
This is the
• Teams starting out with story points
product backlog
use an exercise called planning
poker. See: -
See more on Story Points here:
https://www.atlassian.com/agile/project- – https://www.youtube.com/watch?v=TxSzo
3lwwWQ
management/estimation
• Prioritized by the product owner
• Reprioritized at start of each sprint

31

User Stories
• Instead of Traditional Requirements, Agile
project owners do "user stories"
– Who (user role) – Is this a customer, employee,
admin, etc.?
– What (goal) – What functionality must be
achieved/developed?
– Why (reason) – Why does user want to accomplish
this goal?

As a [user role], I want to [goal], so I can [reason].

32

16
10/10/2023

User Stories - Example

• Example:
– "As a user, I want to log in, so I can access subscriber
content.“
– https://www.atlassian.com/agile/project-management/user-stories

• Story points: Rating of effort needed to implement this


story
– common scales: 1-10, shirt sizes (XS, S, M, L, XL),
etc.
– https://www.atlassian.com/agile/project-management/estimation

33

Story Points

• Story points are a relative estimation method.


• This means that we estimate the effort required to
complete a task by comparing it to other tasks that we
have already completed.
• This makes story points more accurate than time
estimation because we are less likely to be influenced by
factors such as complexity and experience.
• Estimate how many story points the team can complete
in a sprint and use this information to plan the sprint

34

17
10/10/2023

Team Velocity
• To calculate team velocity from story points for a sprint, you
can follow these steps:
– Add up the total number of story points completed by the team in the sprint.
– Divide the total number of story points completed by the number of days in
the sprint.
• For example, let's say that a team completes 20 story
points in a 2-week sprint. The team's velocity would be 10
story points per week.
• Here is the mathematical formula for calculating team
velocity:
– Velocity = Total story points completed / Number of days in the sprint
• It provides estimate how much work the team can complete in
future sprints

35

Sample Product Backlog

Set by product
owner

36

18
10/10/2023

Sample Sprint Backlog


• The Sprint Backlog is a subset of the Product Backlog, consisting of
the highest-priority user stories or tasks selected for a specific sprint.
• It is the work to be completing during the upcoming sprint
• The Sprint Backlog is created collaboratively during the Sprint
Planning meeting

37

Sprint backlog Monitoring


During the spring the progress is monitored and maintained during
daily scrum meeting. You can do it in JIRA Scrum Board.

38

19
10/10/2023

Sprint Burndown Chart

• A display of what work has been completed


and what is left to complete
– one for each developer or work item
– updated every day
– (make best guess about hours/points completed each
day)

39

Burndown Chart

40

20
10/10/2023

Burndown Example – JIRA


Graphical View

41

Burndown Example – JIRA


Tabular View

42

21
10/10/2023

Burndown Example 1
No work being performed
Sprint 1 Burndown
60

50

40
Hours remaining

30

20

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Days
15 16in17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Sprint

43

Burndown Example 2

Work being performed, but not fast enough


Sprint 1 Burndown
49
48
47
46
Hours remaining

45
44
43
42
41
40
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Days
15 16in17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Sprint

44

22
10/10/2023

Burndown Example 3

Work being performed, but too fast!


Sprint 1 Burndown
60

50

40
Hours remaining

30

20

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Days in Sprint

45

END Week 2
• Homework
– Explore concepts: Story Point? And Team Velocity?
– Jira Tutorial for Beginners: Jira Project Management
• https://youtu.be/nHuhojfjeUY?si=Aa6ybjbqiNCSRjtJ
– Scrum Project vs Kanban Project in 6 minutes - JIRA Tutorial
• https://www.youtube.com/watch?v=3hHrHA3GaUA&t=76s
– The Power of Jira and Confluence: An Introduction
• https://www.youtube.com/watch?v=B43noLXB_UU
– Tutorial: How to use Bitbucket in Jira Cloud
• https://www.youtube.com/watch?v=9nkjCsS4KUU
– Learn scrum with Jira Software
• https://www.atlassian.com/agile/tutorials/how-to-do-scrum-with-jira-software

46

23

You might also like