Dutch Railways

Distributed Scrum Project for Dutch Railways …

Executive Summary:

“The Dutch railways are among the most heavily used in the world, providing transport for 1.2 million passengers daily. Dutch Railways built a new information system to provide travelers with more accurate travel information, requiring less manual intervention… The first attempt to build the PUB system was executed using a traditional waterfall approach. Detailed requirement specifications were handed over to the IT vendor, expecting a fully built system to materialize without much further customer involvement. After 3 years, the project was cancelled because the vendor failed to deliver a working system.”

An Agile/Scrum was introduced, focusing on close cooperation with the customer, open communication and working in small increments.  The effort included highly dispersed and distributed teams, including developers in both India and the Netherlands.

Key Takeaways:

  • Successfully executed a large (20 man-years, 100.000+ lines of code) Scrum project, with highly distributed teams.
  • “Applied automated testing during the project to allow us to deliver tested software at the end of each Sprint, without regression bugs.”
  • The customer asked an external audit company to audit the software. Their conclusions:
    • The maintainability of the system is very good.
    • The quality of the source code is very high.
  • It can be hard to find a product owner with both detailed knowledge of the requirements as well as the mandate to set priorities.
  • When meeting a deadline is important, it’s important to make sure that the product backlog is complete and estimated.
  • Scrum is well-suited to execution with multiple distributed teams.
  • Having each Scrum team contain resources both in the Netherlands and India was good for team spirit and forced us to work on effective communication.
  • It is useful to start a distributed project with an initial co-located session to reach agreement on team practices.
  • Although not needed for the software development process, extensive requirements documentation may still be required by the customer. In a Scrum project, however, this cannot replace the use of user stories. If both are used, the overhead of reconciling requirements in two places should be factored into planning.
  • Automated testing is vital to deliver software incrementally, unhindered by regression bugs. Before the project is over, the return on investment will outweigh the cost.

Full Case Study:

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Prove you are human *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>