• No results found

MTAT Software Engineering

N/A
N/A
Protected

Academic year: 2021

Share "MTAT Software Engineering"

Copied!
39
0
0

Loading.... (view fulltext now)

Full text

(1)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

MTAT.03.094

Software Engineering

Lecture 12:

Lean & Flow-based

(KANBAN) Principles and

Processe

Dietmar Pfahl

email: [email protected]

(2)

Structure of Lecture 12

• KANBAN

(3)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Kanban (Jap.): literally ’signboard’ or ’billboard’

(4)

Time-boxing vs. Task-boxing

Scrum has sprints (iterations) of 2-4 weeks (= time box)

But: it is not always easy to divide the tasks or features of the systems to fit into such time intervals

(5)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Velocity vs. Lead-time

SCRUM focuses on:

• Flow of work items

(throughput/velocity) =

the number of features (user stories, tasks, etc.)

implemented per unit of time (with given workforce)

KANBAN focuses on:

• Lead-time (cycle time) =

(6)

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

(7)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(8)
(9)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(10)

Differences between Scrum and Kanban

Time-boxed iterations prescribed.

Team commits to a specific

amount of work for this iteration.

Uses Velocity as default

metric for planning and process improvement.

Time-boxed iterations optional.

-- Can have separate cadences for planning, release, and

process improvement.

-- Can be event-driven instead of time-boxed.

Commitment optional.

Uses Lead time as default

(11)
(12)

Differences between Scrum and Kanban

Cross-functional teams prescribed.

Items must be broken down

so they can be completed within 1 sprint.

Burndown chart prescribed WIP limited indirectly (per

sprint)

Estimation prescribed

Cross-functional teams

optional. Specialist teams

allowed

No particular item size is prescribed.

No particular type of diagram is prescribed

WIP limited directly (per

workflow state)

(13)
(14)

Differences between Scrum and Kanban

Cannot add items to ongoing iteration.

A sprint backlog is owned

by one specific team Prescribes 3 roles

(PO/SM/Team)

A Scrum board is reset between each sprint

Prescribes a prioritized product backlog

Can add new items whenever capacity is available

A Kanban board may be shared by multiple teams or individuals

Doesn’t prescribe any roles

A Kanban board is persistent

(15)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Similarities between Scrum and Kanban

• Both use pull scheduling

• Both limit WIP (but in different ways)

• Both use transparency to drive process improvement

• Both focus on delivering releasable software early and often • Both are based on self-organizing teams

• Both require breaking the work into pieces

• In both, work flow is continuously optimized based on empirical data (velocity / lead time)

(16)
(17)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Claimed Advantages of Kanban

• Process element becomes more visible

– Bottlenecks

– Queues – Variability

• Then it becomes easier to focus on finishing tasks that hamper the total flow instead of starting on new tasks that will pile up • Can do agile development without focusing on time-boxing.

– Particularly suited for tasks regarding technical and user support, where well-defined “sprints” may not be

(18)

Questions

• Kanban claim: A fixed WIP (Work In Progress) will improve the process quality.

– Will it help 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, Sjøberg et al. ran a study at Software Innovation:

(19)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Structure of Lecture 12

• KANBAN

(20)

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?

(21)
(22)

Implementation of Scrum at SI

• 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

(23)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Implementation of Kanban at SI

• 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

(24)
(25)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Conclusions (as stated in paper)

• 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

have

– Difficulties with estimation

(26)

Conclusions (as stated in paper)

• 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

have

– Difficulties with estimation

– Interruptions due to ad hoc-bug fixing, support and maintenance tasks

(27)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Bug

PBI

(28)

Bug

PBI

Lead Time (days)

?

(29)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(30)
(31)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(32)

Productivity 2

(33)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(34)

Structure of Lecture 12

• KANBAN

(35)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Origins of

Lean Software Development

• Originates from Toyota Production System (TPS) • Also called Just-In-Time system

• Post WWII Japanese automobile industry could not compete with U.S. mass production systems

• Inspiration for TPS found in the 1950’s from U.S. supermarkets

• Customers could get what they wanted, when they wanted it and shelves were refilled when items were about to run out.

(36)

Main Goals of LEAN

1. All processes shall give value

• Remove everything that does not create value

2. Ensure good flow in the processes to avoid bottlenecks and queues (-> work not piling up and waiting)

3. All activity shall be based on need (-> Pull)

• If there is no demand for a product or service, the related task is unnecessary

4. Become a learning organization with focus on continuous stepwise improvement

(37)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

(38)

Seven Wastes of Software Development

Handoffs. Passing the information/work to someone else, getting

information/work from someone else.

Partially done work. Something that is not done. E.g. untested code,

undocumented or not maintained code.

Task switching. How many other tasks people need to do. E.g. the amount of

projects done simultaneously.

Delays. Waiting for something.

Extra features. Something that is not really needed.

Defects. Something that does not meet the targets, or is not what it is

supposed to be. E.g. software bugs, incorrectly implemented business requirements.

Relearning (waste of knowledge). E.g. forgetting decisions, re-trying

(39)

MTAT.03.243 / Lecture 12 / © Dietmar Pfahl 2015

Next Week

• No Lectures

• Next lecture on Monday, April 13:

SPI & Empirical Methods - Part A

• For you to do:

References

Related documents

This article describes the working principles of a tool that computes abstract models of binary executables to be processed by a WCET estimation toolchain based on model checking..

Work in process (WIP) inventory includes the set at large unfinished products in a production process. These products are not yet completed, but either just

The Self-Management for Autism Rating Tool (SMART) is a transition-readiness questionnaire designed for adolescents with autism spectrum disorder (ASD), starting at 16 years of

Our theoretical results inaugu- rate a simple methodology: derive an error bound, compute the desingularizing function when- ever possible, identify essential constants in the

CCPPP also operates a Post-Match Service for any CCPPP members that may have unmatched students and unfilled internship positions after both the APPIC Phase I and Phase II Match

user preferences for Manufacturing 60 user-defined fields bills of materials 22 outsourcing 38 work centers 14 WIP 68 WIP messages 37 work center options 14 work in process 38

A manager of such a call centre must determine the staffing levels of gatekeepers and experts as well as the optimal referral rate to minimise total costs.. These costs may

In a similar study to the present investigation, active male participants were provided with an energy drink containing 2 mg of caffeine/kg of body mass or a placebo, 60 minutes