distributed scrum for dutch...

55
Distributed Scrum for Dutch Railways Jan Vermeir, Xebia

Upload: others

Post on 19-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Distributed Scrum for Dutch RailwaysJan Vermeir, Xebia

Page 2: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises
Page 3: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Scrum promises effective and efficient software development

Page 4: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Yes, it actually works

Page 5: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

I will show you how we implement distributed Scrum for our customer

Page 6: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Classic outsourcing of software development

often fails to meet customer demands

Page 7: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Xebia's customer, ProRail, builds and maintains

railway infrastructure in the Netherlands

Page 8: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

ProRail is a respectable organisation with a long history and a strong focus on reliability

Page 9: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The Netherlands has 6500 km of railway, 6000 trains and 1.2 million travelers daily. 85% of the trains leaves on time.

Page 10: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

A program was started to improve information for

travelers

Page 11: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The programs aim was to improve timeliness and accuracy of information presented to travelers

Page 12: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

PUB is part of the larger InfoPlus program. The PUBlication system displays and broadcasts information

Page 13: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The outsourcing strategy that was selected fosters

conflict

Page 14: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

CONFLICT!

Page 15: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Xebia introduces distributed Scrum to

develiver quality software on time

Page 16: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Xebia introduces Scrum to build the PUBlication

system

Page 17: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Scrum helps you and your customer focus and prioritize

Page 18: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

But it's hard to influence a waterfall-based environment

Page 19: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Distributed Scrum increases team size while

avoiding classical offshoring pitfalls

Page 20: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Scaling up to larger teams is difficult in the Netherlands

150

Page 21: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The cost of developers in India is lower, availability is higher

30

Page 22: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Joint development with Xebia India allows us to scale

Page 23: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Our customer was unfamiliar with both Agile

development and offshoring.

We were facing a list of challenges

Page 24: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We had to help our customer to adopt Scrum

Page 25: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

It is very important to choose your product owner carefully

Page 26: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Waterfall driven requirements are no substitute for user stories

Page 27: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Testing was based on requirements while development was based on user stories

Page 28: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Requirements written in Dutch cannot be used in India

Page 29: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

How do I implement distributed Scrum?

Page 30: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Effective communication is one of the key success

factors

Page 31: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Skype, wiki, mailinglist and VNC allow distributed teams to interact at low cost but with high quality

Page 32: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

One backlog allows teams to coordinate their work

Page 33: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

One version control system ensures we never lose track of each others work

Page 34: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Team members visited the other location during the project

Page 35: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Team composition is very important as well

Page 36: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We started with a small co-located team of Dutch and Indian colleagues

Page 37: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We applied the cell concept to scale up

Page 38: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We don't suffer 'us' and 'them' feelings because teams are mixed across locations

Page 39: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

11 star players do not make a great soccer team

Page 40: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

'Quality without compromise' pays off,

even during the project

Page 41: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

'The maintainability of the system is very good''The quality of the source code is very high'

Page 42: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

PUB shows consistently less errors than other parts of the program

Page 43: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The nightly quality build fails if code quality is too low, based on Findbugs and PMD. Developers use Checkstyle for Eclipse.

Page 44: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Unit test coverage is high.

80%

Page 45: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Quality software requires extensive testing

Page 46: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We use Fitnesse to test user scenario's

Page 47: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

We take testing very seriously...

Test Pages: 497 right, 10 wrong, 0 ignored,

0 exceptions Assertions: 29606 right, 54 wrong, 0 ignored, 11

exceptions

Page 48: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

User interface testing is still manual, which hurts every two weeks when we deliver a new iteration

Page 49: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Set up a separate team to handle

exceptions

Page 50: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Team Green handles whatever doesn't fit in regular iteration work

Page 51: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Performance and stability were tested on a regular basis

Page 52: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

The customer required us to provide answers to several lengthy check lists

Page 53: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Documentation was written by a technical writer

Page 54: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Scrum in distributed teams allowed Xebia to deliver quality software on time within budget

Page 55: Distributed Scrum for Dutch Railwaysdownload.microsoft.com/.../distributed_scrum_for_dutch_railways.pdf · Distributed Scrum for Dutch Railways Jan Vermeir, Xebia. Scrum promises

Resources

• Scrum User Group Portugal http://www.scrumpt.com

• PT Scrum events http://www.fullsix.pt/scrum/

• Scrum Mail Group http://groups.yahoo.com/group/scrumpt

[email protected]

• Scrum Alliance http://www.scrumalliance.com/

• Mitch Lacey http://www.mitchlacey.com