29
3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: [email protected] INF5890 / © Dag Sjøberg 13.3.2013, Slide 2 Plan Fundamental process concepts A study of concrete development processes Agile software development Flow-based agile development (Kanban) A study of Scrum versus Kanban in a software company

INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: [email protected]

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

1

INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban

Professor Dag Sjøberg email: [email protected]

INF5890 / © Dag Sjøberg 13.3.2013, Slide 2

Plan –  Fundamental process concepts –  A study of concrete development processes –  Agile software development –  Flow-based agile development (Kanban) –  A study of Scrum versus Kanban in a software

company

Page 2: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

2

INF5890 / © Dag Sjøberg 13.3.2013, Slide 3

Management tasks

•  Management tasks –  Budget and costs –  Time schedules and progress –  Quality and risks –  Development team

•  Development methods and process will affect these management tasks

INF5890 / © Dag Sjøberg 13.3.2013, Slide 4

Overall responsibility of project manager •  Contribute to developing, extending and

maintaining IT systems within agreed –  quality –  time and –  cost limits

•  This requires good processes

Page 3: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

3

INF5890 / © Dag Sjøberg 13.3.2013, Slide 5

What is a process? •  – a set of activities carried out to fullfil a job

•  Usually wish to run a process that is carefully planned

•  Everything we do involves processes, for example

n  Plan a project n  Prepare a meeting n  Write a requirements

specification

n  Design a web-site n  Program a function n  Run a test

INF5890 / © Dag Sjøberg 13.3.2013, Slide 6

Page 4: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

4

INF5890 / © Dag Sjøberg 13.3.2013, Slide 7

System Development Process

•  System development process (= software process): the activities that are performed to develop a software system and the way they are performed

•  The activities vary, but will always includes the elements: –  Specification of requirements, that is, what the system

should do –  Design of the system –  Coding (programming) –  Validation that the system satisfies the needs of the

customer or user –  Evolution of the system, that is, changes according to new

or changed requirements

INF5890 / © Dag Sjøberg 13.3.2013, Slide 8

Process affects both project and system •  The development process, and the context in which it is performed,

affect the quality of both the project itself and the resulting system being developed

•  The process, the way one works, also affects the work environment (work satisfaction, motivation, competence development, etc.), which in turn will affect project and product quality in general

Page 5: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

5

INF5890 / © Dag Sjøberg 13.3.2013, Slide 9

Aspects of process

•  Which activities are included in the process? •  How much effort is spent on the various activities (in absolute

and relative terms? •  What is the emphasis on the various activities during the

development? •  The process also includes

–  Which and the way methods, practices, tools and technique are used –  Parts of the products/results of an activity –  Roles of those involved in the process –  Pre- and post-conditions that are true before and after a phase or a

sub-product is produced

INF5890 / © Dag Sjøberg 13.3.2013, Slide 10

Examples of roles •  Developer •  Maintainer •  Architect/System designer •  Graphical designer •  Tester •  Project manager •  User/customer representative

Employing a project with the appropriate competence is far from trivial!

Page 6: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

6

INF5890 / © Dag Sjøberg 13.3.2013, Slide 11

Examples of tools

Tools for: •  Development (IDE) •  Configuration/change management •  Testing •  Diagram construction •  Project management •  Bug & issue tracking

Choice of tools is also not trivial

INF5890 / © Dag Sjøberg 13.3.2013, Slide 12

Process model •  System development process (=actual, real process)

–  Those activities that are carried out in a development project

•  Process model (= formal process) –  An abstract representation of a process. The model describe the

process from a certain perspective

•  A process model may be –  Descriptive: describes an actual process the way it is –  Prescriptive: describes a process the way it should be (the most

common meaning)

Page 7: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

7

INF5890 / © Dag Sjøberg 13.3.2013, Slide 13

Model versus reality

INF5890 / © Dag Sjøberg 13.3.2013, Slide 14

Formal versus real process

What we tell we do or should do

What we do

Page 8: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

8

INF5890 / © Dag Sjøberg 13.3.2013, Slide 15

Levels of process models

General process models (waterfall, spiral, RUP, Scrum, etc.)

Company-specific process models

Project/group-specific process models

System development process

Process conformance

Defined process- models

Real process

INF5890 / © Dag Sjøberg 13.3.2013, Slide 16

Models for development processes

Model

Waterfall (plan-driven)

Incremental (plan-driven

or agile)

Evolutionary (plan-driven

or agile)

Define all

requirements first

Yes

Yes

No

More

cycles?

No

Yes

Yes

Distributed

increments?

No

May be

Yes

req. design

code test

deliver

deliver

req. design

code test

deliver

design code

test

req.

design code

test deliver

test

code

req.

design

deliver

req.

Page 9: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

9

INF5890 / © Dag Sjøberg 13.3.2013, Slide 17

Choosing processes

Suppose you are an IT manager (project leader, head of department, etc.), which processes would I prefer in my project or department?

INF5890 / © Dag Sjøberg 13.3.2013, Slide 18

Suitability of processes (and methods and practices) depends on:

•  Systems to be developed •  Culture, competence and resources by

–  Customer –  Development organization –  Project

Page 10: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

10

INF5890 / © Dag Sjøberg 13.3.2013, Slide 19

How to adapt processes?

•  Processes must be adapted – no projects are qual •  What can be adapted?

–  Number and type of phases and activities, roles, documents, formality and frequency of reports and meetings

•  How to adapt? –  Identify the project environment: development strategy, risks,

requirements, etc. –  Elicit opinions of developers, users, customers –  Define process model, activities and roles –  Document the adaptations and their justifications

INF5890 / © Dag Sjøberg 13.3.2013, Slide 20

Plan –  Fundamental process concepts –  A study of concrete development processes –  Agile software development –  Flow-based agile development (Kanban) –  A study of Scrum versus Kanban in a software

company

Page 11: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

11

INF5890 / © Dag Sjøberg 13.3.2013, Slide 21

A study of concrete processes

•  What kind of process is useful in which situations? •  Little exact knowledge in the area, very much hype

and subjective opinions •  A study the effect of various aspects of context and

process

INF5890 / © Dag Sjøberg 13.3.2013, Slide 22

Bid from 35 companies Four companies built the same system

0

100000

200000

300000

400000

500000

600000

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 32 33 34 35

Bid (Norwegian Kroner)

Firm A D B C

Page 12: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

12

Variation in bids between IT and road projects

0

1,000,000

2,000,000

3,000,000

4,000,000

5,000,000

6,000,000

7,000,000

8,000,000

9,000,000

1 2 3 4 5 6 7 8 9 10

3 X

0

100000

200000

300000

400000

500000

600000

*H. Pedersen, “Tender Prices: Bridge, Tunnel, Electro and Road Building and Maintenance 1998-2006”, Technology Report 2468, Norwegian Public Roads Administration, 2006

*

INF5890 / © Dag Sjøberg 13.3.2013, Slide 24

0 100 200 300 400 500 600 700 800 900

1000

A B C D

Project quality System quality Poor

0

20

40

60

80

100

120

140

160

180

Kundeinnsats (timer)

Tid til ferdig (dager) Overskridelse tid (%)

A

B

C

D

Customer effort Lead-time Lead-time overrun (hours) (days) %

Reliability Usability Maintainability (defects)

Goo

d

Goo

d

Poor

0

1

2

3

Pålitelighet (feil) Brukervennlighet Vedlikeholdbarhet

A

B

C

D

Result

Hours

Page 13: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

13

Project(Management( Unspecified( 163(Project(Management( Project(Management( 59(

Project(Management(Communication/Internal(Management( 48(

Project(Management( Project(initiation(and(planning( 21(

Project(Management(Communication/External(Management( 14(

Project(Management( Project(meetings( 9(Project(Management( Initial(meeting( 6(Project(Management( Preparations( 4(Requirements( Unspecified( 16(Requirements( Use(case(diagrams( 4(Research(Contribution( Unspecified( 111(Research(Contribution( Logging(of(activities( 31(Research(Contribution( Interviews( 14(Research(Contribution( Copy(documents(and(code( 10(Research(Contribution( Wrap(up(activities( 1(Technical(Documentation( Unspecified( 73(Technical(Environment(Unspecified( 74(

Technical(Environment(Establish(development(environment( 41(

Technical(Environment(Establish(web(environment( 17(Technical(Environment(Establishment( 9(Technical(Environment(Establish(test(environment( 3(Technical(Environment(Establish(database( 2(Test( Unspecified( 47(Test( Accomplishment(of(test( 19(Test( Functional(test( 17(Test( Documentation( 6(Test( Planning(test( 4(Test( Testdata( 1(Training( Unspecified( 6(User(Documentation( Unspecified( 19((

Activity Sub-activity Hours Activity Sub-activity Hours

INF5890 / © Dag Sjøberg 13.3.2013, Slide 26

Process activities in the four companies Hours

0

50

100

150

200

250

300

350

400

450

500

A

B

C

D

Page 14: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

14

INF5890 / © Dag Sjøberg 13.3.2013, Slide 27

Relative emphasis of the activities Percent time

0

10

20

30

40

50

60

A

B

C

D

INF5890 / © Dag Sjøberg 13.3.2013, Slide 28

Time spent by the companies along the way

Sum(Hours)

Week

Company=A

Company=B

Company=C

Company=D

0

25

50

75

100

125

150

Sum(Hours)

0 2 4 6 8 10 12 14Week

Page 15: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

15

INF5890 / © Dag Sjøberg 13.3.2013, Slide 29

A B

DC

Emphasis along the way

INF5890 / © Dag Sjøberg 13.3.2013, Slide 30

Examples of context variables

Page 16: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

16

INF5890 / © Dag Sjøberg 13.3.2013, Slide 31

Examples of process variables Company

INF5890 / © Dag Sjøberg 13.3.2013, Slide 32

Context and process matter

•  Many context and process parameters will influence project and system quality

•  The choice of parameters will depend on which quality aspects one would like to emphasize

•  The systems described above are small, but there are many such systems! (and smaller additions to larger systems may have similar project size)

Page 17: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

17

INF5890 / © Dag Sjøberg 13.3.2013, Slide 33

Plan –  Fundamental process concepts –  A study of concrete development processes –  Agile software development –  Flow-based agile development (Kanban) –  A study of Scrum versus Kanban in a software

company

INF5890 / © Dag Sjøberg 13.3.2013, Slide 34

The waterfall model

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

Page 18: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

18

INF5890 / © Dag Sjøberg 13.3.2013, Slide 35

Need for agility

•  The classical engineering approach is often unsuitable in software projects

•  Alternative: “agile software development” –  Focus on code instead of (comprehensive) design and

documentation –  Collaboration with customer instead of contract negotiation

–  Faster delivery of code and faster adaptations to changed user requirements

INF5890 / © Dag Sjøberg 13.3.2013, Slide 36

Plan-driven (heavy) processes

•  The activities are planned in advance and progress is measured according to this plan

•  A heavy process includes many activities and roles, and requires formal, detailed and consistent project documents

•  Heavy processes are often “front heavy”, that is, emphasise activities that are usually carried out early in the process (planning, analysis & design)

Agile (light) processes

•  Incremental planning •  Easier to adapt the process to

changing requirements •  Light processes focus more on

fundamental process (e.g., continuous testing), have fewer formal documents and are often more iterative

Page 19: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

19

INF5890 / © Dag Sjøberg 13.3.2013, Slide 37

Scrum

Outline planningand architectural

designProject closure

Assess Select

Review Develop

Sprint cycle

The results are evaluated against the goals and presented for the customer

In the sprint planning meeting, the product backlog (list of work items) is evaluated. Goals for the sprint defined, including priorities and risks. The customer may define new requirements or give new tasks.

The development team and customer decide features and functionality to be developed during the sprint

Design, coding, testing. The development team isolated from the customer and rest of organization, that is, all communication by Product Owner/Scrum master to avoid distractions

2-4 weeks

Develop documentation (help functions, user manuals) and summarize what was learned

Input: Product backlog – list of work Items

INF5890 / © Dag Sjøberg 13.3.2013, Slide 38

Timeboxing versus “task-boxing”

•  Scrum has sprints (iterations) of 2-4 weeks. But not always easy to divide the tasks or features of the systems to fit into such time intervals

•  What about instead define a set of tasks or features and deliver when finished?

Page 20: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

20

INF5890 / © Dag Sjøberg 13.3.2013, Slide 39

Plan –  Fundamental process concepts –  A study of concrete development processes –  Agile software development –  Flow-based agile development (Kanban) –  A study of Scrum versus Kanban in a software

company

INF5890 / © Dag Sjøberg 13.3.2013, Slide 40

Flow-based Development

Page 21: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

21

INF5890 / © Dag Sjøberg 13.3.2013, Slide 41

Lean production •  “The Japanese school”, primarily Toyota

–  If failure discovered, stop the assembly line and find the reason for the failure instead of collecting and fix the failures in bulks

–  Continuous learning and improvement (Kaizen) –  “Just-in-time” (JIT) principle: don’t produce anything before somebody

demands it –  Tempo in production determined by pull from customer or next

element in the production chain rather than push internally to produce as much as possible

–  Removal of temporary storage –  Component-based production (same chassis, bumper, etc. on

different car models). This way production can be geared towards the customer and components can be outsourced to third-party vendors

•  Result: Toyota fewest failures and fastest production •  The most productive factories spent least resources on management and

administration (”lean management”)

From: Kanban and Scrum - making the most of both by Henrik Kniberg and Mattias Skarin on Dec 21, 2009

Kanban board �  A Work Item represents a unit of work to be carried out by the development team

�  Describe a Work item on a post-it sheet and put it on a board in one of the categories : ”To do”, ”In progress” or more detailed states. ”Done” shows the Work Items that are finished

Page 22: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

22

INF5890 / © Dag Sjøberg 13.3.2013, Slide 43

Scrum board versus Kanban board

From: Kanban and Scrum - making the most of both by Henrik Kniberg and Mattias Skarin on Dec 21, 2009

Max WIP

INF5890 / © Dag Sjøberg 13.3.2013, Slide 44

Kanban principles

•  Limit Work In Progress (WIP). The more work items in parallel, the slower they flow through the work processes

–  WIP limit may be put on the total number of active work items or on the number of work items in a given state (to reduce bottlenecks)

•  When a work item is finished, one can request to work on a new one (pull)

•  To optimize flow, slack in the time schedule is OK. That is, a developer may have some waiting time now and then to optimize the overall flow

•  Little focus on estimation

Page 23: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

23

INF5890 / © Dag Sjøberg 13.3.2013, Slide 45

Plan –  Fundamental process concepts –  A study of concrete development processes –  Agile software development –  Flow-based agile development (Kanban) –  A study of Scrum versus Kanban in a software

company

INF5890 / © Dag Sjøberg 13.3.2013, Slide 46

Questions •  Kanban claim: A fixed WIP (Work In Progress) will improve the

process quality. Will it help to reduce the number of active WIs in total or by state?

•  What’s the mutual relationship between lead-time, productivity and quality?

•  How does Kanban vs. Scrum perform with respect to lead-time, productivity and quality?

•  To get more insight, we ran a study at Software Innovation:

Dag I.K. Sjøberg, Anders Johnsen and Jørgen Solberg: Quantifying the Effect of Using Kanban versus Scrum: A Case Study. IEEE Software, Vol. 29, Nr. 5, side 47–53, Sep./Oct. 2012

Page 24: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

24

INF5890 / © Dag Sjøberg 13.3.2013, Slide 47

From Scrum to Kanban in Software Innovation (SI)

•  Scrum from 2007 •  Kanban from 2010 -> •  Why change to Kanban?

–  Increase production –  Improve project and product quality

•  Were the expectations met? •  Analysis of 12 000 work items over 3 years recorded in

Team Foundation Server (TFS)

INF5890 / © Dag Sjøberg 13.3.2013, Slide 48

Said about measurement

Lord Kelvin

In God we trust, all others bring data – W. Edwards Deming

To measure is to know. If you cannot measure it, you cannot improve it. Lord Kelvin

Not everything that counts can be measured. Not everything that can be measured counts. Albert Einstein

Page 25: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

25

Measuring the effect of processes Example from [Sjøberg et al., IEEE SW 2012]

INF5890 / © Dag Sjøberg 13.3.2013, Slide 50

Lead-time

•  Normal definition: –  the time from a customer issues a request for a new or

changed feature until it is implemented and deployed in the customer’s environment

•  In the context of SI, which is an in-house development company:

–  The time from the team receives the request (state “Next”) until it’s ready for release (state ”Ready for release)

Page 26: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

26

WI_ID   Title   Business  Value  

Tes1ng  Impact   Customer   Lead  

Time  Lines  Added  

Lines  Modified  

Lines  Deleted   Churn Team

19363    Fix  Unit  tests    3  -­‐  High   XX   0  19363    Fix  Unit  tests        3  -­‐  High   xx   1   2   31   27   60  30921    Allow  access  to  documents                 xx   0  33442    TFS  Backup  Plan     810          Internal     0  33442    TFS  Backup  Plan     810          Internal     0  33442    TFS  Backup  Plan     810          Internal     56   0   0   0   0  33732    Need  a  new  Test  server  for  360  Arabic                  Internal     0  33732    Need  a  new  Test  server  for  360  Arabic                  Internal     4   0   0   0   0  42868    Need  few  150  machines  to  be  UP            3  -­‐  High      Internal     0  42868    Need  few  150  machines  to  be  UP            3  -­‐  High      Internal     0  49723    Separate  machines  for  Msk                  Internal     0  49723    Separate  machines  for  Msk                  Internal     0  49723    Separate  machines  for  Msk                  Internal     1   0   0   0   0  19363    Fix  Unit  tests        3  -­‐  High       0  19363    Fix  Unit  tests        3  -­‐  High       1   2   31   27   60  

Process   Product   WI_ID   Type   State  From   State  To   Direc1on   Date  From   Date  To  

 Scrum   ProArch   19363   Bug    In  Progress    Done   1   16.04.201001:02:00   16.04.201009:10:25    Scrum   ProArch   19363   Bug    Not  Done    In  Progress   1   15.04.201015:01:29   15.04.201015:01:37  Kanban   ProArch   30921   PBI    Analysis-­‐In  Progress      Analysis-­‐Done     1   26.11.2010  03:00:48   26.11.2010  06:00:26  Kanban   Common   33442   PBI    Development-­‐Done      Released-­‐     1   02.02.2011  03:13:07   02.02.2011  08:50:51  

Kanban   Common   33442   PBI    Analysis-­‐Done      Development-­‐In  

Progress     1   17.01.2011  06:29:16   17.01.2011  06:29:31  Kanban   Common   33442   PBI    Next-­‐      Analysis-­‐In  Progress     1   08.12.2010  14:27:41   08.12.2010  14:53:48  Kanban   Common   33732   PBI    Development-­‐Done      Released-­‐     1   13.12.2010  13:39:28   13.12.2010  13:40:10  Kanban   Common   33732   PBI    Next-­‐      Analysis-­‐In  Progress     1   10.12.2010  10:18:11   10.12.2010  10:43:54  Kanban   Common   42868   Bug      Development-­‐Done      Released-­‐     1   03.02.2011  07:47:07   03.02.2011  07:47:41  

Kanban   Common   42868   Bug      Analysis-­‐Done      Development-­‐In  

Progress     1   02.02.2011  13:55:29   02.02.2011  13:55:46  Kanban   Common   49723   PBI    Development-­‐Done      Released-­‐     1   10.03.2011  06:16:18   10.03.2011  06:16:31  Kanban   Common   49723   PBI    Released-­‐      Development-­‐     -­‐1   10.03.2011  06:11:17   10.03.2011  06:14:32  Kanban   Common   49723   PBI    Next-­‐      Released-­‐     1   10.03.2011  06:08:01   10.03.2011  06:11:17    Scrum   ProArch   19363   Bug    In  Progress    Done   1   16.04.201001:02:00   16.04.201009:10:25    Scrum   ProArch   19363   Bug    Not  Done    In  Progress   1   15.04.201015:01:29   15.04.201015:01:37  

INF5890 / © Dag Sjøberg 13.3.2013, Slide 52

Implementation of Scrum

•  Cross-functional teams –  the team contains all the skills needed to complete all the items in

the iteration •  Sprint planning meetings that included estimation of work

items using planning poker •  Daily standup meetings •  Sprints of three weeks

–  shippable increments of code (fully tested) at the end of each sprint –  demos in the review meetings

•  Status visible through automated reports and task boards for all of the teams

Page 27: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

27

INF5890 / © Dag Sjøberg 13.3.2013, Slide 53

Implementation of Kanban

•  When started on an item, attempt to let it flow until it is ready for release at a satisfactory quality as soon as possible (fast delivery without timeboxes)

•  Limited number of work items in progress at the same time (WIP limit) •  If WIP limit reached, work will not start on a new item before another

one is finished (just-in-time) •  No cross-functional teams •  Abandoned start-up meetings with estimation of work items •  Still daily stand-up meetings •  Demos once or twice a week, regardless of the progress of the work

items being discussed

Lead time

Page 28: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

28

INF5890 / © Dag Sjøberg 13.3.2013, Slide 55

Bugs

INF5890 / © Dag Sjøberg 13.3.2013, Slide 56

Productivity

Page 29: INF5890: IT and management · 3/14/13 1 INF5890: IT and management Managing Systems Development Processes – including Scrum and Kanban Professor Dag Sjøberg email: dagsj@ifi.uio.no

3/14/13

29

INF5890 / © Dag Sjøberg 13.3.2013, Slide 57

Conclusions

•  By replacing Scrum with Kanban, SI –  Almost halved the lead time –  Reduced the number of bugs by 10% –  Improved productivity

•  SI appears to benefit from using Kanban over Scrum •  Kanban should be considered by other companies that

–  Difficulties with estimation –  Interruptions due to ad hoc-bug fixing, support and

maintenance tasks

INF5890 / © Dag Sjøberg 13.3.2013, Slide 58

INF5181 - Process improvement and agile methods in systems development •  Course content

–  History and concepts of software process improvement –  Process improvement frameworks –  Software development processes and methods, in particular agile methods –  Assessment and measurement in software development processes –  Research Methods –  Learning and change in individuals, groups and organizations –  Group dynamics

•  Learning outcomes –  At the end of the course you will –  have gained a good understanding of modern software development

processes, including Lean and agile methods –  know the characteristics and effects of the different development

processes –  be able to contribute to efficient organization, conduct and improvement of

software development processes