Patterns for Distributed Scrum –a Case Study - Semantic Scholar

3 downloads 0 Views 228KB Size Report
Nov 19, 2008 - Patterns for Distributed Scrum –a Case. Study. Antti Välimäki. Development Manager, R&D. Metso Automation Inc. Jukka Kääriäinen.
Patterns for Distributed Scrum –a Case Study Antti Välimäki Development Manager, R&D Metso Automation Inc Jukka Kääriäinen Senior Research Scientist VTT

19.11.2008

Contents

• Introduction • Metso Automation and its products • Distributed Scrum patterns mining in distributed development • Distributed Scrum best practices as patterns • Suggested solutions and Results • Conclusions and lessons learnt

2

© Metso Automation Inc.

Introduction

•Why should distributed Scrum be developed ? -

Products should be developed faster, cheaper and with better quality Products are more complicated than earlier The number of developers in different sites has been increased

•What are the challenges of distributed Scrum ? -

3

Scrum is planned for centralized development Lack of good distributed Scrum processes and tools Distributed Scrum is more difficult than centralized Scrum Distributed Scrum is a new project management method in many companies

© Metso Automation Inc.

Metso Automation Our aim is to continuously create value by improving the quality, production, environmental aspects and cost efficiency of our customers’processes…

4

© Metso Automation Inc.

Distributed Scrum patterns mining in distributed development

• The goal was to find the best practices of distributed Scrum in R&D projects at Metso Automation in Finland • The research method was to use questionnaires and hold interviews in which

-

Current problems, Best practices and Development proposals were gathered Questions dealt with the different concepts of Scrum and Agile development

• The findings were generalized and laid out in the form of process patterns

5

© Metso Automation Inc.

Scrum

6

© Metso Automation Inc.

Application Lifecycle Management

7

© Metso Automation Inc.

5 Reference: Välimäki, A. and Kääriäinen, J. (2008) ‘Patterns for Distributed Scrum – a Case Study’, International Conference on Interoperability of Enterprise, Software and Applications, Berlin, German.

Suggested solution and results / Form of a Process Pattern The form of a process pattern • Name: A short name of a pattern (Abbreviation) • Problem: Detailed description of the problem • Context: Context of this pattern • Solution: Activities that can solve the problem • Consequences: The results and trade-offs when the pattern is applied

8

© Metso Automation Inc.

Suggested solution and results / The list of patterns in this paper

• The list of pattern names in this paper -

9

Communicate Early Divide and Conquer with Sprints Assign key roles in each site Establish Application Lifecycle Management Environment Establish fast and reliable infra Establish efficient communication methods Knowledge transfer Visualize status of project Use multi-level Daily Scrums

© Metso Automation Inc.

Communicate Early -

-

Problem: What is the goal of a project and who are members of a team? Context: Use of Scrum in a distributed project (Same context for next patterns) Solution: • Arrange kick-off meeting for all relevant members • Present briefly Scrum methodology • Describe the goal and contents of the project • Describe a release plan with some Sprints • Introduce briefly use of an ALM tool • Everybody presents his/her responsibilities and hobbies Consequences: • Common goal is known by every relevant member • A common process and tools for every site can be established by Scrum and



10

an ALM tool Efficient communication channels can be created between team members when they learn to know each other better

© Metso Automation Inc.

Divide and Conquer with Sprints

-

Problem: One big project plan is a risk in distributed development Solution: • Plan many iterative Sprints to describe the whole project • Develop new application architecture and module structure during first Sprints, if needed • Explore the biggest risks (e.g. new technologies) in the beginning of a project

-

Consequences: • Iterative Sprints improve the visibility of a project and motivation of team members • Sprints make it easier to control a project when you split the whole project into many manageable parts

11

© Metso Automation Inc.

Assign key roles in each site -

Problem: Communication between persons in different sites Solution: • Replicate needed Scrum or other roles in every site (e.g. Scrum master, Product owner, Architect, IT Support, Quality assurance etc.) One person can have many roles in a project

-

• Consequences: • Distributed development needs more formal communication and a clear • •

12

communication organization Persons who have same roles can communicate efficiently between sites because they have same responsibilities The person with same roles can have regular meetings to check what are the results, plans and possible problems to be solved

© Metso Automation Inc.

Establish Application Lifecycle Management Environment (1/2)

-

Problem:

• Separate Excel files are difficult to manage • Project data is difficult to find, manage and synchronize between many sites

-

Solution: • A common Application Lifecycle (ALM) Management tool for - all project artifacts (e.g. Product and Sprint backlog items, source -

13

© Metso Automation Inc.

code, development documents, faults descriptions etc.), reports (e.g. Sprint burn down chart), process guidelines (workflow, guidelines), process information (e.g. who does what and when), traceability (e.g. which information is related with each other) communication tools (discussion forum, chat, visualize information, notifications to users etc. )

Establish Application Lifecycle Management Environment (2/2) • ALM tool can be implemented as a single tool set or it can be a group of different tools which has been integrated with each other • Effective access right control ( -user rights methods and role-based views in use to see certain data )

-

Consequences: • An ALM solution costs a lot of money • A lot of work is needed to ensure that only needed information is visible to different user groups • A possibility for global access to project data regardless of time and place • Time is saved when information is found more quickly • Common processes make work more efficient • Facilitated communication with communication tools

14

© Metso Automation Inc.

Establish a fast and reliable infra -

15

Problem: Use of ALM is essential for distributed Scrum, but it needs a fast and reliable infra Solution: • Have a fast and reliable network between different sites Consequences: • common tools with real time data access to the same data changes distributed development partly back to centralized development

© Metso Automation Inc.

Establish efficient communication methods

-

Problem: Lack of communication and communication tools can vary between sites Solution: • Have reliable and common communication methods in every site • Use of video conferences, web cameras, net meetings, chat, conference phones, mobile phones, electronic calendars, discussion tools, wiki tools etc. improves the efficiency of communication Use an ALM tool to share artefacts

-

• Consequences: • It costs money to establish common communication tools • It saves money to use distributed tools because there is no need to travel so •

16

much (communication recording helps with learning and knowledge sharing) Communication tools changes distributed development partly back to centralized development

© Metso Automation Inc.

Knowledge transfer -

Problem: Lack of knowledge about domain and features to be developed Solution: • Domain knowledge can be distributed e.g. by visitors from a main site • Also a domain knowledge repository is very useful to share information • Specifications for features will be written in earlier Sprints. Specifications



-

17

include descriptions with diagrams to shorter time to learn. Developed features will be checked in a Sprint review meeting. Ensuring that domain knowledge is understood in the right way. Key roles network in sites can be utilized to find solutions for problems

• Consequences: • Distributed development needs more travelling and a change of information • More work is needed to make clear feature lists with clear specifications

© Metso Automation Inc.

Visualize status of project -

Problem: Status of project is not known Solution:

-

-

Consequences:

-

18

Use of Sprint burn down charts by an ALM tool Trends of e.g. faults, tasks, test-cases etc. by an ALM tool reports

© Metso Automation Inc.

An ALM solution is quite expensive

Use multi-level Daily Scrums

-

Problem: One Daily Scrum is not always enough Solution:

-

-

-

Consequences:

-

19

Scrum of Scrums is used to manage big groups One Daily Scrum could be enough for a small group with good communication tools • e.g. conference phones, web cameras, video conferences, chat tools With foreigners, written logs can be one solution e.g. chat logs or common documents

© Metso Automation Inc.

Written logs are easier to understand Scrum can be scaled with the use of Scrum of Scrums

Exploiting the patterns in software development • Patterns are useful only as solutions to certain problems • Current status and problems analysis is needed -

Questionnaires and interviews

• Problems are often consequences of Anti-Patterns, which are typical bad practices or solutions • Two examples of Anti-Pattern

-

“God manager”-> One manger try to manage all sites without any site leader Information is transferred manually from one tool to another

• Important to gather all patterns in one place, e.g. web interfaced database • Train patterns and analyze usage and experiences of them • Customize patterns according to the company context 20

© Metso Automation Inc.

Conclusions and lessons learnt • Distributed Scrum has many interesting properties for a GSD management • Distributed Scrum is more efficient with support from ALM tool • ALM tool with secure global access, visualized project status information and product information is valuable for a company • Distributed development needs to be changed back to centralized development by choosing ICT tools which make it possible in project management, development, communication etc. • There are still many other challenges in GSD • Process patterns seem to be an interesting way to describe solutions

-

Possibility to emphasize important activities etc. Process patterns need to be customized

• Questionnaires and personal interviews are good methods to mine information • Distributed development will become more common in future • New process patterns will be developed in future

21

© Metso Automation Inc.

THANK YOU

22

© Metso Automation Inc.