saulius kaukenas. lessons learned using kanban

40
Lessons L earned using KanBan Outsourced D evelopment S ervices S upplier P oint of V iew Saulius Kau kėnas Agile Tour Vilnius, 10/09/14

Upload: agile-lietuva

Post on 02-Jul-2015

96 views

Category:

Software


0 download

DESCRIPTION

What to expect choosing KanBan as a development approach? What are the risks, what works and what doesn't when you are in the position of external supplier. Experiences and lessons learned from real life projects executed at Agmis that every manager should take into account. What should be discussed and cleared up among the customer and supplier before the project begins. What customer should ask about their suppliers and vice versa.

TRANSCRIPT

Page 1: Saulius Kaukenas. Lessons learned using kanban

Lessons Learned using KanBan Outsourced Development Services Supplier Point of View

Saulius Kaukėnas

Agile Tour Vilnius, 10/09/14

Page 2: Saulius Kaukenas. Lessons learned using kanban

Just-in-time

(c) agmis, 2014

2

Page 3: Saulius Kaukenas. Lessons learned using kanban

JIT Principles

„The philosophy of JIT is simple: the storage of unused inventory is a waste of resources.“ –Wikipedia.

JIT = minimal inventory. In IT - minimal possible number of features being developed in parallel.

JIT = waste elimination. Waste = production of unneded products, rework, waiting time. In IT -unneeded features, change requests for features, waiting time.

(c) agmis, 2014

3

Page 4: Saulius Kaukenas. Lessons learned using kanban

1997. Rock Solid Documentation

(c) agmis, 2014

Page 5: Saulius Kaukenas. Lessons learned using kanban

Trying to Follow RUP

(c) agmis, 2014

5

Page 6: Saulius Kaukenas. Lessons learned using kanban

…and XP (Agile)

(c) agmis, 2014

6

Page 7: Saulius Kaukenas. Lessons learned using kanban

What about Outsourcing?

(c) agmis, 2014

7

Page 8: Saulius Kaukenas. Lessons learned using kanban

KanBan. 1st Try

Fits for support projects

Stumbled on larger development projects

(c) agmis, 2014

8

Page 9: Saulius Kaukenas. Lessons learned using kanban

1st Try Retrospective

In Agile everyone should be Agile:

Your customer

Your suppliers

3rd parties involved

Everyone becomes part of the process

You can be Agile without other parties, or you need to be Agile WITH other parties

(c) agmis, 2014

9

Page 10: Saulius Kaukenas. Lessons learned using kanban

Agile = Assembly Line

(c) agmis, 2014

10

Page 11: Saulius Kaukenas. Lessons learned using kanban

JIT Supply Chain - It’s All Connected

Sometimes it is not even obvious how tight the JIT supply chain dependency is.

(c) agmis, 2014

11

Page 12: Saulius Kaukenas. Lessons learned using kanban

Agile in Outsourcing

Equivalent to JIT supply chain.

Delays should be avoided at all costs.

12(c) agmis, 2014

Page 13: Saulius Kaukenas. Lessons learned using kanban

Making JIT Supply Chain Work

1. Long term relationships.

2. Joint process certification.

3. Co-locate facilities to reduce transport. Minimize feedback loops, keep everyone involved.

4. Stabilize delivery schedules. Discipline.

5. More inventory. Projects from other customers in the pipeline? Have your customers wait in the line

6. Multiple sourcing.

(c) agmis, 2014

13

Page 14: Saulius Kaukenas. Lessons learned using kanban

15 Smells for Agile Process Refactoring

Guidelines for reducing delays (#1-#7): ensure optimal flow of joint assembly line.

Guidelines for internal affairs (#8-#12): do your homework. Continuously.

Guidelines for scope management (#13-#14): fixed price and warranty.

Guideline for sales (#15): have customers waiting in line.

14(c) agmis, 2014

14

Page 15: Saulius Kaukenas. Lessons learned using kanban

Ensure optimal flow of joint assembly line.

Guidelines for reducing delays (#1-#7)

Page 16: Saulius Kaukenas. Lessons learned using kanban

#1: (Web Services) Integration

(c) agmis, 2014

Illusion: Web services cannot be frozen, mocked up and so on as then development doesn‘t remain agile per se.

16

Page 17: Saulius Kaukenas. Lessons learned using kanban

#1: Web Services Integration

Hints:

Make sure web services development is done in iterations, in parallel.

Ensure direct developer communication on both ends.

(c) agmis, 2014

17

Page 18: Saulius Kaukenas. Lessons learned using kanban

#2: You’re Subcontractor

What about feedback from the end customer?

Is he aware abou tyou?

Hints:

Direct customer communications to get the feedback in time.

No “Chinese whispers”.

(c) agmis, 2014

18

Page 19: Saulius Kaukenas. Lessons learned using kanban

#3: Third Parties Another supplier or subcontractor.

May turn up only when the contract is inked.

Hint: Test him, ensure that you are both talking Agile.

(c) agmis, 2014

19

Page 20: Saulius Kaukenas. Lessons learned using kanban

#4: Customer‘s People

Are here „to help you“ or lower the cost.

Hint:

Very risky. Avoid if you can.

Ensure control and process adherence.

(c) agmis, 2014

20

Page 21: Saulius Kaukenas. Lessons learned using kanban

#5: Customer Staff’s Priorities

„Higher priority“ tasks.

“Committee cannot decide”.

Hints:

Ensure that your customer understands that delays = stop of flow = higher cost.

Encourage culture and accountability of the supplier.

(c) agmis, 2014

21

Page 22: Saulius Kaukenas. Lessons learned using kanban

#6: Focus on delivery terms and price

Or even worse, solely on price.

Hints:

Focus on process.

Agile contract negotiation (I&I).

Focus on how both of you ensure flow via supply chain to assembly line.

(c) agmis, 2014

22

Page 23: Saulius Kaukenas. Lessons learned using kanban

#7: Customer Wants Agile Supplier

Suspicious if too emphasized.

May hear surprisingly interesting versions.

KanBan <> Scrum or TDD.

Agile <> Unit tests.

Hint: Test how Agile is customer in his kitchen.

(c) agmis, 2014

23

Page 24: Saulius Kaukenas. Lessons learned using kanban

Continuously do your homework.

Guidelines for internal affairs (#8-#12)

Page 25: Saulius Kaukenas. Lessons learned using kanban

#8: Separate KanBans

Might be easier for project but not for the company.

Hints:

Single KanBan works better.

(c) agmis, 2014

25

Page 26: Saulius Kaukenas. Lessons learned using kanban

#9: Heroes

Some people are simply not fit for the teamwork.

Hint:

The „heroes“ make perfect consultants.

It‘s people business, know everyone in your team.

(c) agmis, 2014

26

Page 27: Saulius Kaukenas. Lessons learned using kanban

#10: High Expectations

Illusions:

Easy Win is Near

Most Agile are simple.

Hints:

Set expectations right.

It’s a continuous process.

(c) agmis, 2014

27

Page 28: Saulius Kaukenas. Lessons learned using kanban

#11: Project Manager’s Time Saved!

Teams started to manage themselves!!!

At a price.

Hints: Guess who is responsible for..

Process following by all parties.

Process improvement.

(c) agmis, 2014

28

Page 29: Saulius Kaukenas. Lessons learned using kanban

#12: Just Implemented Agile!

(c) agmis, 2014

29

Page 30: Saulius Kaukenas. Lessons learned using kanban

#12: Just Implemented Agile!

“if it works, don't touch it“, right?

Project nature may change

Hints:

Agile implementation is a process: continuous and incremental.

Separate tools might not be enough.

Where is the next waste?

(c) agmis, 2014

30

Page 31: Saulius Kaukenas. Lessons learned using kanban

Manage Scope.

Page 32: Saulius Kaukenas. Lessons learned using kanban

#13: Fixed Price

Accolades at the beginning of the day..

“Agile doesn't mean that you don't have to complete ALL the features FOR THE SAME PRICE”… at the end of the day.

Hint: Avoid it, unless contract allows for scope flexibility.

(c) agmis, 2014

32

Page 33: Saulius Kaukenas. Lessons learned using kanban

#14: Warranty Period?

Can customer be sure that everything is error free when closing the sprint?

Hints:

Always discuss it before project start.

Maintenance agreement (3 mo to 6 mo – 50%, up to 1 year – 25%, etc.).

Or, factor that into hourly rate.

(c) agmis, 2014

33

Page 34: Saulius Kaukenas. Lessons learned using kanban

#15: Customers Waiting in Line

Who wouldn‘t want that, huh?

Hint: Think of what could make customers want it?

Quick Ramp-up time.

A discount?

Possibility to work with you?

(c) agmis, 2014

34

Page 35: Saulius Kaukenas. Lessons learned using kanban

Tested At Agmis

KanBan. Team building. Internal experience sharing sessions. Keeps

everyone involved into continuous process improvement.

Code reviews. Probably the most efficient form of inside training.

Close-outs (Retrospectives). Shorter iterations (or, longer iterations DIDN‘T

work). Aim at having them 3 weeks or shorter.

(c) agmis, 2014

35

Page 36: Saulius Kaukenas. Lessons learned using kanban

FailBox

Version 2.0 delivered constant cash flow.

(c) agmis, 2014

36

Page 37: Saulius Kaukenas. Lessons learned using kanban

Agile in Outsourcing

(c) agmis, 2014

37

Parameter Internal, Product Agile Agile for Outsourcing

Complexity 1 2-3

Implementation Continuous Continuous

Risks Delays, Customer PrioritiesCustomer Agility, Supplier Agility

Warranty Part of the process Needs to be discussed

Contract focus (if any) Quality, TTM Process, quality, TTM

PM focus Process following and improvement

Process following and improvement, external communications

Integrations Medium risk factor High risk factor

Page 38: Saulius Kaukenas. Lessons learned using kanban

Conclusions

Agile for outsourcing IS more complex.

Involves more risks to be managed.

(c) agmis, 2014

38

Page 39: Saulius Kaukenas. Lessons learned using kanban

Questions? Comments?

Page 40: Saulius Kaukenas. Lessons learned using kanban

40

Thank You!

agmismpowering companies

t: +370-687 81204

europos pr. 121, LT-46339, kaunas, lithuania

e-mail: [email protected]

(c) agmis, 2014