33
KANBAN and TEAMWORK Natural User Interface Technology to Business Erasmus Intensive Programme LAHTI HEIKKI PAANANEN - Lecturer, MSc (Econ) Lahti University of Applied Sciences [email protected]

KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

KANBAN and TEAMWORK Natural User Interface Technology to Business

Erasmus Intensive Programme

LAHTI

HEIKKI PAANANEN - Lecturer, MSc (Econ)

Lahti University of Applied Sciences

[email protected]

Page 2: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

THEMES IN THIS LESSON

Flexibility through

Agile project methods

Illustrating team’s work

with Kanban

Todo Ongoing Done

Page 3: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Lesson outline

• WHAT IS AGILE?

• Scrum in nutshell

• Kanban to bring visibility

Page 4: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

What is Agile?

• Not trying to accomplish everything at once, but instead, slicing

the big goal into little ”iteration”

Easier to control the process of work

Easier for customer to see actual outcome

Monday

PROJECT START!

Tuesday Wednesday Thursday Friday PROJECT READY!

Illustrating figure outlines Adding background

Adding snowflakes Snow man’s hat adding colors and details

Page 5: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Agile rules & Manifesto

Agile methods drives for reasonable ratio between

documentation, design and implementation

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

The main focus is on customer satisfaction and

system that works

MA

NIF

ES

TO

Page 6: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Waterfall / Traditional Model

• Waterfall model

• Developed in 1970s

• Based on physical process models

• Software development process is seen as ”process flow” that is

hard or even unnecessary to halt & go backwards

Pre study

Analysis

Design

Implementation

Testing

Deployment

Maintenance

Good to understand what is needed in a software development project!

Page 7: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Traditional Waterfall development

R D C T

PR

OJEC

T DEA

DLIN

E

first time customer can see the

working system

All features under test

simultaneously at the end of the

project

Feature 1

Feature 2

Feature 3

Feature 4

As a generalization, waterfall contains 4 stages: Requirement (R) Design (D) Coding (C) Testing (T)

= RDCT

Project Outcome

100% ready

Page 8: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

WATERFALL TIMELINE

Project Timeline End Start

Effo

rts

Development efforts

Testing efforts

Backlog Of unresolved defects

Development: • Strong emphasis on the 1st

half of the project Test: • Strong emphasis on the 2nd

half of the project Backlog of unresolved defects • Significant, asymmetric

peak towards end of the project

Does not sound good to have increasing number of defects so late in project?

Chart by: Stober & Hansmann, Agile Software Development, 2010

Page 9: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Evaluation of traditional Waterfall approach

POSITIVE

• Clear and ideallic model - giving information what tasks are needed in a

IT project

• Good for relatively small projects

NEGATIVE

• Customers cannot see working solution before second half of the

project

• Changes in requirements are difficult

• Does not give must flexibility at the end of the project

Page 10: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Agile methods going beyond waterfall

• Agile methods aims to:

• Verify customer wishes really early on the project

• Value & high quality by giving possibility to customer to alter the solution during the

development

• Instead of making all at once, everything is done ready

piece by piece

• Offering possibilities to customer to evaluate each improvement ”puzzle piece”

• Put focus on delivering fully working features

• Keeping current version as ready as possible

1st iteration RDCT

2nd iteration RDCT

3rd iteration RDCT

4th iteration RDCT

Final Product

Page 11: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Agile development approach

RDCT + RDCT + RDCT + RDCT

PR

OJEC

T DEA

DLIN

E

first time customer can see the working

system

”Features” built one by one 100% ready

(working solutions)

Iteration outcomes are always

integrated into main solution

(shippable solution)

Page 12: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

MATURE AGILE TIMELINE

Project Timeline End Start

Effo

rts

Development efforts

Testing efforts

Backlog of unresolved defects

Development: • Continous development Test: • Continous testing Backlog of unresolved defects • Curve is quite flat through-

out the project

Agile drives for continous development and tackling of defects in really early Chart by: Stober & Hansmann, Agile Software Development, 2010

Page 13: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Slicing down Agile project [EXAMPLE]

• Project: ”Creating music player software for a customer”

Breaking system into smaller functionality pieces which are

developed and created one by one

Search functionality

Play functions

Browsing collection

Playlist

UI graphics

Page 14: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Further from design to implementation

• Agile gives possibilities to slice down the big system into

smaller parts through defining system with ”user stories”, a full

definition of particular use of the system.

• Customer can see in iterations (RDCT ) a fully functional

small part of the system in hand

PR

OJEC

T D

EAD

LINE

RDCT RDCT RDCT

User story 1: …browsing collection… User story 2: ..searching function

User story 3: …playing songs… User story 4: ..player functions User story 5: ..adding to playlist

User story 6: …playlist functions… User story 7: .. additional graphics…

Page 15: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Lesson outline

• What is agile?

• SCRUM IN NUTSHELL

• Kanban to bring visibility

Page 16: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Scrum in nutshell

24h

Product Backlog (maintained by

customer)

Sprint Backlog Sprint outcome

Increment

- Functionalities of the solution - Technical work, - Knowledge acquisition Priorized list!

Tasks decided in Sprint Planning

Daily Standup MEETING

1-4 weeks

SPRINT

Increments are integrated to earlier sprints’ outcomes

Shippable software product

Daily Standup 15min meeting. Every team member will speak: - What did I do yesterday? - What will I do today? - Are there any obstacles?

Page 17: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Scrum Agile methods in practice 2

Implementation and Developer

testing

Quality Assurance and

Acceptance testing

Evaluation / prioritization

Detailed requirements

Design & Analysis

Deployment

What a Scrum team does

Business owner

Product owner

Scrum master

SCRUM TEAM

SME

SME

SME = Subject Matter Expert

Business Owner: - Supplies resources to the scrum team - Helps resolve blocking points

Product owner: - Represents the Business owner and SMEs in team - Responsible for features, release date and content - Understands profitability of the product (ROI) - Prioritizes

Scrum Master: - Keeps the Process moving - Helps solve bloking points - Responsible for team ”health”

Subject Matter Expert (SME): - People who should be on the team but they are not - Have skills that the team needs

Development team: - Cross-functional (<7 members) - Determines & agrees team’s work - self-organizing

RDCT

Page 18: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Items in the backlog

• Items in the backlog are called User Stories

• ”Requests for valuable items”

• User story template according to Agile Consortium:

”As a <User Role>

I want <Something>

so that <Some value or benefit>”

For Developers, the ”I want” clause is what counts Functionalities

For Product Owner, the ”so that” clause is what counts Value

Page 19: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

User Stories [Sample]

Purchase Train ticket Size: Large Value: 40

As a <ticket buyer> I want <to purchase a

train ticket to destination city> so that <I

have some way of paying for it that works>

Agreement:

This story is done when:

- A user can purchase a already-found

route ticket through the web interface

- The code has been peer reviewed

- The code is protected by unit tests, and

all passed in the integrated environment

- Purchasing done after the route is

searched and returned

Analyze shopping cart Size: Timeboxed 2 days

Agreement:

John Doe the analyst will be the Story-

boss:

- Identify SMEs (Subject Matter Experts)

and include them in the contacts list

- Meet SMEs, discuss and document

issues in wiki

-Generate First protype

Values and estimates are done by team

Page 20: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Creating estimates with Planning poker

Product owner

Scrum master

How long this story

will take? (in man-days)

Because…

3 5 1

3 7 3

After showing the cards, team members showing

biggest difference in estimation give their

arguements.

Because…

Every team member thinks of the man-days required

for the story, and then cards are put to table

simultaneously

=4

Team decided that estimation is

4

Page 21: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Lesson outline

• What is agile?

• Scrum in nutshell

• KANBAN TO BRING VISIBILITY

Page 22: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Kanban to bring visibility

• Literally meaning "signboard" or “Visual Card“

• Agile / ultra light method to improve project work visibility

• Pull-system: new work is taken under work when there exists

capabilities to handle it

• Kanban can be used to enhance any software development process

including Scrum, XP, Waterfall, and other methods

TODO ONGOING

DONE

Page 23: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Visualize your work with Kanban

GOAL is to illustrate

• Delivery of value

• “WHERE WE ARE at the moment with the project work”

• “WHAT WE SHOULD DO NEXT”

CORE PRINCIPLES

1. Bring visibility to FLOW OF WORK

• Visual model of your work and workflow

• Delivering tasks that create value

2. Limit unfinished tasks

• Minimizing WIP (Work In Progress), promoting quality, focus and finishing tasks. E.g.

WIP = 2, means that person is allowed to take work only worth 2 units

3. Focus on Flow

• Priorize tasks, executing most urgent work

4. Continuous Improvement

• Teams measure their effectiveness by tracking flow, quality, throughput, lead times

TODO ONGOING

DONE

Page 24: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

CREATE TEST#1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Storyboard during sprint

Backlog To Do WIP: 2

Ongoing Done

Bug Problem

Team member#1 Team member#2

Team member#3

Backlog items in user story form: ”as a sales clerk I want to list

customer…”

Tasks are small action items that are needed to create

functionalities for user story

USER STORY#3 As a player when I raise my hand above my head the color of the ellipse is changing to black

USER STORY#2 As a player I want to see two ellipse figures displayed on my hands

USER STORY#1 As a developer I want to connect Kinect into a computer and launch the program the controller ican be used from the SDK

CREATE TEST#2

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Connecting Kinect to Visual Studio

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Create function X

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Create architechture for feature

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Verify from customer requirements for feature

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Production tests Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

User story Task

Get kinect drivers

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Install Kinect SDK

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Swimlanes to indicate work process needed. WIP restricts amount of work

- indicates how many items can be under work

Indicators to show who is doing what and if there exists

problems

Page 25: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

CREATE TEST#1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Alternative storyboard during sprint

Backlog To Do Code Done

Bug Problem

Team member#1 Team member#2

Team member#3

FEATURE”1 As a player when I raise my hand above my head the color of the ellipse is changing to black

FEATURE#2 As a developer I want to utilize

CREATE TEST#2

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Connecting Kinect to Visual Studio

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Create function X

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Create architechture for feature

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Verify from customer requirements for feature

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Production tests Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

User story Task

Get kinect drivers

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Install Kinect SDK

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed

Test Release

In Progress as several columns

Page 26: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Using electronical Kanban Boards http://leankit.com/

Page 27: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Simple Example Starting point at the beginning of iteration

Planned tasks for the project

Page 28: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Simple Example (Work progressed)

Page 29: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Complex Example Starting point at the beginning of iteration

In progress lane organized to illustrate in which development

phase the user story is

• This approach is also possible, but more advanced • Recommendation is to keep the board simple

User Stories are containing all tasks as sub items inside the

card

Page 30: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Complex Example (Work progressed)

Page 31: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

TODO for project teams

In teams that have been created, do following tasks:

1. Create your team space in http://leankit.com/

Create identifier / name for the group. It will be used in team space

URL: E.g. NUI_TEAM01.leankit.com …

Add all team members as users into project workspace

Page 32: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

Sources for further details

Books

• Peter Schuh, 2005. Integrating Agile Development in the Real World. Charles River Media, Inc.

• Geoffrey Moore, 1991. Crossing the Chasm. (revised 1999). Harper Business Essentials

• Shalloway, Beaver & Trott, 2009. Lean-Agile software development: Achieving enterprise agility

• Welin, M. 2012. Agile Software Development. In publication: New Trends in Mobile and Web Development 2012. Lahti University of Applied Sciences. Tampere: Tampereen yliopistopaino Oy.

• Welin, M. 2012. Kanban in Software Development. In publication: New Trends in Mobile and Web Development 2012. Lahti University of Applied Sciences. Tampere: Tampereen yliopistopaino Oy.

Web resources

• www.crisp.se

• www.scrum.org

• www.scrumalliance.org

• www.kanban101.com

Page 33: KANBAN and TEAMWORK - unizar.esdihana.cps.unizar.es/~eduardo/nuit2b/doc/2014/... · 2014-05-06 · Team member#1 Team member#2 Team member#3 Backlog items in user story form: ”as

END