Iterative Software Development usingtheSCRUM method · SCRUM is an iterative, incremental process...

Post on 05-Jun-2020

7 views 0 download

transcript

Iterative Software Development

using the SCRUM method

Networked Embedded Systems

Armin Wasicek

SS12

Manifesto for Agile Software Development

� Individuals and interactions over processes and tools

� Working software over comprehensive documentation

� Customer collaboration over contract negotiation

� Responding to change over following a plan

http://agilemanifesto.org/

25.04.2012 Networked Embedded Systems 2

What is a Scrum?

25.04.2012 Networked Embedded Systems 3

Description

� SCRUM is an iterative, incremental process for

developing any product or managing any work.

� Scrum provides a small set of rules that create just

enough structure for teams to be able to focus their

innovation on solving what might otherwise be an

insurmountable challenge.

25.04.2012 Networked Embedded Systems 4

Characteristics

� Self-organizing teams

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

� Requirements are captured as items in a list of “product

backlog”

� No specific engineering practices prescribed

� Uses generative rules to create an agile environment

for delivering projects

� One of the “agile processes”

25.04.2012 Networked Embedded Systems 5

A fable of chicken and pigs

A Pig and a Chicken are walking down the road.

The Chicken says, "Hey Pig, I was thinking we should open

a restaurant!". Pig replies, "Hm, maybe, what would we

call it?".

The Chicken responds, "How about 'ham-n-eggs'?".

The Pig thinks for a moment and says, "No thanks. I'd be

committed, but you'd only be involved!"

25.04.2012 Networked Embedded Systems 6

SCRUM roles

PIGS:

� Developement team

• Delivers functionalities

� Product Owner

• Manges product backlog

• Connects functionalities to

user and customer

• Focus on ROI

� ScrumMaster

• Organizes the scrum

• Controlling

CHICKEN:

� Management

• Provides resources

� Customer

• Determines functionalities

� User

• Rates usefulness/usability

For a successful project

you need both types!

25.04.2012 Networked Embedded Systems 7

� Pregame

− Planning

− System Architecture/High level Design

� Game

− Sprints (Concurrent Engineering)

− Develop (Analysis, Design, Develop)

− Wrap

− Review

− Adjust

� Postgame

− Closure

Scrum Methodology

25.04.2012 Networked Embedded Systems 8

SCRUM process flow

25.04.2012 Networked Embedded Systems 9

The Daily SCRUM

� Time boxed to fifteen minutes!

� The Team and the Scrum Master only.

� What have you accomplished since yesterday?

� Are your Sprint Backlog estimates accurate?

� What are you working on today?

� Is there anything blocking you?

Review

Focus

25.04.2012 Networked Embedded Systems 10

Product/Sprint Backlog

� Selected by team at outset of Sprint

� A Sprint is usually 30 days

� Changes during Sprint as information is discovered

� Okay to use other engineering practices (stories, micro-

iterations), but progress must be reported in the

backlog

� Time estimates must be updated daily

25.04.2012 Networked Embedded Systems 11

The Sprint Burndown Chart

25.04.2012 Networked Embedded Systems 12

The Product

� Delivers measurable value

� “Potentially Shippable”: the process can be halted after

every Sprint and there will be some value, some ROI

� Must be a product, no matter how incomplete

25.04.2012 Networked Embedded Systems 13

Process Comparison

25.04.2012 Networked Embedded Systems 14

Scrum Success Factor

25.04.2012 Networked Embedded Systems 15

Further Reading

Agile Manifesto http://agilemanifesto.org/

SCRUM http://de.wikipedia.org/wiki/Scrum

http://www.scrum.org/

Requirements http://www.reqexperts.com/resources.html

Pareto Principle http://management.about.com/

25.04.2012 Networked Embedded Systems 16