software engineering · 2017-05-31 · scrum in 100 words •scrum is an agile process that allows...

39
SOFTWARE ENGINEERING COURSE CODE:CS-326 29 th May, 2017 30 th May, 2017

Upload: others

Post on 15-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SOFTWARE ENGINEERINGCOURSE CODE:CS-326

29th May, 201730th May, 2017

Page 2: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

Scrum in 100 words

• Scrum is an agile process that allows us to focus on delivering thehighest business value in the shortest time.

• It allows us to rapidly and repeatedly inspect actual workingsoftware (every two weeks to one month).

• Teams self-organize to determine the best way to deliver thehighest priority features.

• Every two weeks to a month anyone can see real working softwareand decide to release it as is or continue to enhance it for another

sprint.

Page 3: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM ORIGINS

Jeff Sutherland•

Initial scrums at Easel Corp in 1993•

Ken Schwaber•

Scrum presented at OOPSLA 95

Author of three books on Scrum

Ken Schwaber and Mike Cohn•

Co-founded Scrum Alliance in 2002, Agile software development with Scrum, 2001

Page 4: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM HAS BEEN USED BY

•Intuit•Nielsen Media

•First American

•BMC Software

•Ipswitch

•John Deere

•Lexis Nexis

•Sabre

•Salesforce.com

•Time Warner

•Microsoft•Yahoo

•Google

•Electronic Arts

•High Moon Studios

•Lockheed Martin

•Philips

•Siemens

•Nokia

•Capital One

•BBC

•Intuit

Real Estate

•Turner Broadcasting•Oce

Page 5: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM HAS BEEN USED FOR

••

•••••

Video game development

FDA-approved, life-criticalsystems

Satellite-control software

Websites

Handheld software

Mobile phones

Network switchingapplications

Some of the largest applications in use

Commercial software

In-house development

Contract development

Fixed-price projects

Financial applications

ISO 9001-certified applications

Embedded systems

24x7 systems with99.999% uptimerequirements

the Joint Strike Fighter

Page 6: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

CHARACTERISTICS

Self-organizing teams

Product progresses in a series of month-long “sprints”

Requirements are captured as items in a list of “productbacklog”

No specific engineering practices prescribed

Uses generative rules to create an agile environment for delivering projects

One of the “agile processes”

Page 7: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM ALTOGETHER

Page 8: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SPRINTS

Scrum projects make progress in a series of “sprints”

Analogous to iterations

Typical duration is 2–4 weeks or a calendar month at most

A constant duration leads to a better rhythm

Product is designed, coded, and tested during the sprint

Page 9: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SEQUENTIAL VS. OVERLAPPING DEVELOPMENT

Rather than doing

all of one thing at a

...Scrum teams do a

little of everything all

Source: “The New New Product Development Game” byTakeuchi and Nonaka. Harvard Business Review, January

1986.

TestCodeDesign Requirement

Page 10: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

NO CHANGES DURING A SPRINT

Change

Plan sprint durationskeeping change out of

around how long youthe sprint

can commit to•

Page 11: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM FRAMEWORK

Roles

•Product owner

•ScrumMaster

•Team Ceremonies

•Sprint planningreview

retrospective•Sprint

•Sprint

•Daily scrum meeting

Artifacts

•Product backlog•Sprint backlog

•Burndown charts

Page 12: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM FRAMEWORK

Roles

•Product owner

•ScrumMaster

•Team

•Sprint planningreview

retrospective•Sprint

•Sprint

•Daily scrum meeting

Artifacts

•Product backlog•Sprint backlog

•Burndown charts

Ceremonies

Page 13: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

PRODUCT OWNER

Define the features of the product

Decide on release date and content

Be responsible for the profitability of the product (ROI)

Prioritize features according to market value

Adjust features and priority every iteration, as needed

Accept or reject work results

Page 14: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE SCRUMMASTER

Represents management to the project

Ensure that the team is fully functional and productive

Enable close cooperation across all roles and functions

Shield the team from external interferences

Differs from a traditional project manager in many

ways, including that this role does not provide day-to-

day direction to the team and does not assign tasks toindividuals.

Page 15: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE TEAM

Typically 5-9 people

Cross-functional:

Programmers, testers, user experience designers, etc.•

Page 16: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE TEAM

Teams are self-organizing•

Ideally, no titles but rarely a possibility•

Membership should change only between sprints•

Page 17: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRRoleUs M FRAMEWORK

•Product owner

•ScrumMaster

•TeamCeremonies

•Sprint planningreview

retrospective•Sprint

•Sprint

•Daily scrum meetingArtifacts

•Product backlog•Sprint backlog

•Burndown charts

Page 18: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

Sprint planning meetingTeamcapacity

Sprint prioritization

Analyze and evaluateproduct backlog

Select sprint goal

Sprintgoal

Productbacklog

Businessconditions Sprint planning

Decide how to achievegoal (design)

sprint

Currentproduct

SprintbacklogCreate sprint backlog (tasks)

from product backlog items

(user stories / features)

Estimate sprint backlog in

hours

•Technology

Page 19: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SPRINT PLANNING

Team selects items from the product backlog they can commitcompleting

Sprint backlog is created

to•

Tasks are identified and each is estimated (1-16 hours)

Collaboratively, not done alone by the ScrumMaster

High-level design is considered•

As a vacation planner, I wantto see photos of the hotels. Code the middle tier (8 hours)

Code the user interface (4)

Write test fixtures (4)

Code the foo class (6)Update performance tests (4)

Page 20: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SPRINT GOAL

A sprint goal is a short, one- or two-sentence, description of what the team plans to achieve during the sprint.

It is written collaboratively by the team and the product owner.

The following are example sprint goals:

Implement basic shopping cart functionality including add, remove, and update quantities.

Develop the checkout process: pay for an order, pick shipping, order gift wrapping, etc.

The sprint goal can be used for quick reporting to those outside the

sprint. There are always stakeholders who want to know what the team is working on, but who do not need to hear about each product backlog item (user story) in detail.

Page 21: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE DAILY SCRUM

Parameters•

Daily

15-minutes

Stand-up

Not for problem solving•

Whole world is invited

Only team members, ScrumMaster, talk

product owner, can•

Helps avoid other unnecessary meetings•

Page 22: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

EVERYONE ANSWERS 3 QUESTIONS

1What did you do yesterday?

2What will you do today?

3Is anything in your way?

Page 23: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE SPRINT REVIEW

Team presents what it accomplished during the•

sprint

Typically takes the form ofor underlying architecture

a demo of new features•

Informal•

2-hour prep time rule

No slides

Whole team participates•

Invite the world•

Page 24: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SPRINT RETROSPECTIVE

Periodically take a look at

Typically 15–30 minutes

Done after every sprint

Whole team participates

what is and is not working

ScrumMaster

Product owner

Team

Possibly customers and others

Page 25: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

START / STOP / CONTINUE

they’dWhole team gathersto:

and discusses what like

Start doing

Stop doing

This is just one of many ways to do a sprint retrospective.

Continue doing

Page 26: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRRoleUs M FRAMEWORK

•Product owner

•ScrumMaster

•Team

•Sprint planningreview

retrospective•Sprint

•Sprint

•Daily scrum meeting

Artifacts

•Product backlog•Sprint backlog

•Burndown charts

Ceremonies

Page 27: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

PRODUCT BACKLOG

The requirements

A list of all desired workon the project

Ideally expressed such•

that each item has valueto the users or customersof the product

Prioritized by the productowner

Reprioritized at the startof each sprint

•This is the

product backlog

Page 28: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

A SAMPLE PRODUCT BACKLOGBacklog item Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a

reservation.5

As a guest, I want to change the dates of

a reservation. 3

As a hotel employee, I can run RevPAR

reports (revenue-per-available-room) 8

Improve exception handling 8

... 30

... 50

Page 29: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

THE SPRINT GOAL

A short statementduring the sprint

of what the work will be focused on•

Life Sciences

Support features necessary forpopulation genetics studies.Database

ApplicationMake the application runSQL Server in addition to

Oracle.

on

Financial services

Support more technicalindicators than company ABC

with real-time, streaming data.

Page 30: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

MANAGING THE SPRINT BACKLOG

Individuals sign up for work of their ownchoosing

Work is never assigned•

Estimated work remaining is updated daily•

Page 31: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

MANAGING THE SPRINT BACKLOG

Any team member can add, delete or changethe sprint backlog

Work for the sprint emerges

If work is unclear, define a sprint backlog item with a larger amount of time and break it down later

Update work remaining as more becomesknown

Page 32: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

A SPRINT BACKLOG

Tasks Mon Tues Wed Thur Fri

Code the user interface 8 4 8

Code the middle tier 16 12 10 4

Test the middle tier 8 16 16 11 8

Write online help 12

Write the foo class 8 8 8 8 8

Add error logging 8 4

Page 33: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

A SPRINT BURNDOWN CHART

Hou

rs

Page 34: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

Hou

rs

50

40

30

20

10

0Mon Tue Wed Thu Fri

Tasks Mon Tues Wed Thur FriCode the user interface 8 4 8

Code the middle tier 16 12 10 7

Test the middle tier 8 16 16 11 8

Write online help 12

Page 35: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCALABILITY

Typical individual team is 7 ± 2people

Scalability comes from

Factors in scaling

Type of application

Team size

Team dispersion

Project duration

Scrum has been used500+ person projects

teams of teams

on multiple

Page 36: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCALING THROUGH THE SCRUM OF SCRUMS

Page 37: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

SCRUM OF SCRUMS OF SCRUMS

Page 38: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

ASSIGNMENT 2

Is it possible for a single scrum master to handle

multiple scrums? Explain with example.

Page 39: SOFTWARE ENGINEERING · 2017-05-31 · Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It

NEXT LECTURE

Practical work based upon this lecture will be

conducted on 31st May, 2017 & 1st June, 2017

Bring 1 chart and sticky notes in the next lecture

Assignment Submission date is Thursday, 2017