Pattern Language for Project Management in Global Software Development



Samankaltaiset tiedostot
7.4 Variability management

7. Product-line architectures

Capacity Utilization

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Efficiency change over time

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Collaborative & Co-Creative Design in the Semogen -projects

DIGITAL MARKETING LANDSCAPE. Maatalous-metsätieteellinen tiedekunta

Other approaches to restrict multipliers

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

A new model of regional development work in habilitation of children - Good habilitation in functional networks

MUSEOT KULTTUURIPALVELUINA

ProAgria. Opportunities For Success

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

VUOSI 2015 / YEAR 2015

TIETEEN PÄIVÄT OULUSSA

Smart specialisation for regions and international collaboration Smart Pilots Seminar

Skene. Games Refueled. Muokkaa perustyyl. for Health, Kuopio

The role of 3dr sector in rural -community based- tourism - potentials, challenges

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

Millaisia mahdollisuuksia kyberturva tarjoaa ja kenelle? Ja mitä on saatu aikaan?

HITSAUKSEN TUOTTAVUUSRATKAISUT

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Sisällysluettelo Table of contents

Information on preparing Presentation

Aineiston analyysin vaiheita ja tulkintaa käytännössä. LET.OULU.FI Niina Impiö Learning and Educational Technology Research Unit

Results on the new polydrug use questions in the Finnish TDI data

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

KOMPETENSSIT. Koulutus Opiskelija Tuuttori. Business Information Technologies. NQF, Taso 6 - edellyttävä osaaminen

SOA SIG SOA Tuotetoimittajan näkökulma

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

ECSEL - Electronic Components and Systems for European Leadership

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

Aalto-yliopiston laatujärjestelmä ja auditointi. Aalto-yliopisto Inkeri Ruuska, Head of Planning & Management Support

EUROOPAN PARLAMENTTI

WP3 Decision Support Technologies

16. Allocation Models

TU-C2030 Operations Management Project. Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä

The CCR Model and Production Correspondence

Improving advisory services through technology. Challenges for agricultural advisory after 2020 Jussi Juhola Warsaw,

Copernicus, Sentinels, Finland. Erja Ämmälahti Tekes,

anna minun kertoa let me tell you

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

AYYE 9/ HOUSING POLICY

Ostamisen muutos muutti myynnin. Technopolis Business Breakfast

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Kysymys 5 Compared to the workload, the number of credits awarded was (1 credits equals 27 working hours): (4)

Scanfil Kannattavaa kasvua

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Teacher's Professional Role in the Finnish Education System Katriina Maaranen Ph.D. Faculty of Educational Sciences University of Helsinki, Finland

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Laitteista digitaalisiin ratkaisuihin Case Kemppi

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Choose Finland-Helsinki Valitse Finland-Helsinki

Keskeisiä näkökulmia RCE-verkoston rakentamisessa Central viewpoints to consider when constructing RCE

Norpe Winning Culture

Innovation Platform Thinking Jukka P. Saarinen Mika M. Raunio Nadja Nordling Taina Ketola Anniina Heinikangas Petri Räsänen

Tekes the Finnish Funding Agency for Technology and Innovation. Copyright Tekes

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

CIO muutosjohtajana yli organisaatiorajojen

Ubicom tulosseminaari

LYTH-CONS CONSISTENCY TRANSMITTER

Microsoft Lync 2010 Attendee

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

VALTAKUNNALLINEN YLIOPISTOKESKUSSEMINAARI Tulevaisuuden innovaatioiden, oppimisen ja osaamisen ekosysteemejä

Kokonaisarkkitehtuurin omaksuminen: Mahdollisia ongelmakohtia ja tapoja päästä niiden yli

AFCEA PVTO2010 Taistelija / S4

Roolipeliharjoitus. - Opiskelijoiden suunni=elemat neuvo=eluvideot ja niiden vertaisarvioinnit

Indoor Environment

Atostek. KanTa-konseptin tuotteistaminen ja vienti ulkomaille

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

VBE2 Työpaketit Jiri Hietanen / TTY

Gap-filling methods for CH 4 data

Overview on Finnish Rural network and its objectives. Rural Network Unit, Finland

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

Suomalainen koulutusosaaminen vientituotteena

JA CHALLENGE Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence

Security server v6 installation requirements

Guidebook for Multicultural TUT Users

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Master's Programme in Life Science Technologies (LifeTech) Prof. Juho Rousu Director of the Life Science Technologies programme 3.1.

Hankkeen toiminnot työsuunnitelman laatiminen

Alternative DEA Models

Security server v6 installation requirements

Mat Seminar on Optimization. Data Envelopment Analysis. Economies of Scope S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

FROM VISION TO CRITERIA: PLANNING SUSTAINABLE TOURISM DESTINATIONS Case Ylläs Lapland

Esitykset jaetaan tilaisuuden jälkeen, saat linkin sähköpostiisi. Toivottavasti vastaat myös muutamaan kysymykseen tapahtumasta Have a lot of fun!

Viestintään tarvitaan tiedon jakamista tietotyöläisten kesken Ville Hurnonen

Data quality points. ICAR, Berlin,

Transkriptio:

Pattern Language for Project Management in Global Software Development Antti Välimäki Metso Automation / R&D 23.8.2011

This is Automation

We serve you in a wide range of industries Power Oil and gas Chemical and petrochemical Pulp and paper Industrial gas Other customer industries 6

A wide scope of automation and information technology Automation systems Advanced process controls Information management Condition and runnability monitoring Quality control systems Automation solutions Profilers Automated on/off valves Intelligent control valves ESD valves Analyzers, measurements and laboratory 4

Metso DNA Architecture Control room Operation, Maintenance, Reporting Remote connections Office Reporting, Enterprise integration Star or ring topology redundant Ethernet network Controls, Optimization, Connectivity Automation room Centralized Distributed XML Engineering & Maintenance, Asset Management, Information services Safety instrumented system Field 5

Metso Automation toimipisteitä lähellä asiakkaita 13

Globaali ohjelmistokehitys (GSD) Globaali ohjelmistokehitys on malli, jossa eri osapuolet erilaisisista kansallisista ja organisaatiokulttuureista erilaisista maantieteellisistä sijainneista käsin ja usein eri aikavyöhyökkeiltä käyttävät tiedonjako- ja kommunikointiteknologioita toteuttaessaan yhteistyössä haluttuja ohjelmistoja 7

Millaisia etuja globaaliin ohjelmistokehitys voisi tarjota? Parempi ymmärrys asiakastarpeista - Voidaan olla lähellä asiakasta - Voidaan kehittää ohjelmistoja paikallisten henkilöiden kanssa Parantaa kilpailukykyä paikallisilla markkinoilla Yritysostojen parempi hyödyntäminen Lahjakkuuksien hyödyntäminen maailmanlaajuisesti Kustannussäästöt Nopeuttaa kehitystä, kun töitä voidaan tehdä osin rinnakkain ja suuremmalla henkilömäärällä Hyödyntää muualta löytyvää tietämystä

Millaisia haasteita globaali ohjelmistokehitys tuo mukanaan? Haasteita ovat esimerkiksi katkokset projekteihin liittyvässä - kommunikoinnissa - koordinoinnissa ja - kontrolloinnissa Kommunikointi on tehokkainta kasvokkain, kun kuullaan äänen sävyt ja sanojen painotukset, ja nähdään myös kasvojen, käsien ja vartalon liikkeet - Hajautetussa ympäristössä luetaan usein vain sähköposteja tai kuullaan yleensä vain ääni, jolloin suuri määrä informaatiosta jää välittymättä

Miten paljon tietoa välittyy eri kommunikointimenetelmillä?

Millaisia haasteita globaali ohjelmistokehitys tuo mukanaan? Koordinointi on toimintaa, jolla yhdistetään eri tehtävien tekeminen kohti yhteistä tavoitetta - Kun toimitaan hajautetusti, on vaikeaa tehdä nopeita muutoksia projektin jäsenten toimintaan, koska etäisyydet ja mahdolliset aika- ja kulttuurierot hidastavat vaikutusmahdollisuuksia - Ongelmien selvittäminen on hitaampaa, koska tarvittavia henkilöitä ei saada keskustelemaan kasvokkain niin nopeasti kuin keskitetyssä kehityksessä Kontrollointi on valvontaa, jolla varmistetaan, että projektissa noudatetaan sovittuja menetelmiä ja tavoitellaan sovittua laatutasoa - Hajautetussa toiminnassa projektipäällikön on vaikea valvoa toisella paikkakunnalla olevan ryhmän toimintaa - Koska valvonta on vaikeampaa, ongelmat huomataan vasta myöhemmin, jolloin niiden korjaaminen on usein työläämpää ja projekti hidastuu entisestään

Millaisia haasteita globaali ohjelmistokehitys tuo mukanaan?

Miten haasteita lähdetty ratkaisemaan? Esitelmään liittyvässä väitöstutkimuksessa on haettu ratkaisuja kysymyksiin: - Kuinka hyviä projektinhallintakäytäntöjä pitäisi kuvata? - Kuinka löydetään hyviä projektinhallintakäytäntöjä globaaleista ohjelmistokehitysprojekteista? - Mitkä ovat hyviä projektinhallintakäytäntöjä globaaleissa ohjelmistokehitysprojekteissa? - Kuinka tällaisia käytäntöjä voisi evaluoida? 13

A Template of a Process Pattern 14

Case: GSD project management in Agile projects Case description - This case focused on two product lines consisting of several products that were partly developed in different sites. - The case focused on two teams each having 3 to 6 projects running in parallel. - The projects were geographically distributed over 2 or 3 sites in two countries. - The cooperation model was one virtual team which consist of employees of two to three different companies - Each project had typically less than 10 team members - The main results were the process of mining agile project management process patterns and a group of agile project management patterns in a GSD environment. 15

An example of a GSD pattern Name: Problem: Initial context: Roles: GSD4- Divide and Conquer with Iterations How to make a project plan which is manageable in a GSD project? In the beginning of a project only the main features are known. Project manager. Forces: A big project plan is difficult to manage in a GSD project. Difficult to know the whole contents and the work estimations of a project in the start of a project. Visibility of project status is poor in GSD. Possible new application architecture, technologies etc. are unknown. 16

An example of a GSD pattern 17 Solution: Project manager will split a project plan into several iterations. Implement the following actions: Plan several iterations to describe the project plan because iterations are easier to control and it is easier to make changes to a plan. Develop new application architecture and module structure in the main site during first iterations, if needed. Explore the biggest risks (e.g. new technologies) in the beginning of a project. The length of iteration can be e.g. 2-4 weeks to improve control and visibility. Main site can have 4 weeks iteration and other sites 2 weeks to improve visibility. Resulting Context: Iterations improve the visibility of a project and motivation of team members in a GSD project. Iterations also make it easier to control a project when you split the whole project into many manageable parts. Iterations also provide feedback and the possibility to learn from earlier iterations. However, administration work is increased with several iterations.

Pattern Language for Project Management in GSD and PRINCE2 1 GSD Strategy 2 Fuzzy Front End 3 Collocated Kick-Off 4 Divide and Conquer with Iterations 5 Choose Roles in Sites 6 Communication Tools 7 Common Repositories and Tools 8 Work Allocation 9 Architectural Work Allocation 10 Phase- Based Work Allocation 11 Feature- Based Work Allocation 18

GSD Patterns 19

GSD Strategy Problems: - How to organize GSD in a company? Solution Outline: - List the reasons and motivation to start GSD-based development in a company. - Find out the competence and cost level of your own company, your partners and other related partners. Manage Competence pattern can be used with this action. - Make a SWOT (Strengths, Weaknesses, Opportunities and Threats) for a preliminary GSD strategy. - Make a short and long term plan to implement GSD strategy in your R&D, e.g. for make work allocation by Work Allocation pattern. - Make also a separate risk plan to manage risk with GSD. This is very important because GSD brings a lot of new risks to manage, e.g. intellectual property risk, loss of proprietary knowledge risk, product security risk, and infrastructure risk. - Plan measurements for the real costs of GSD. 20

Collocated Kick-Off Problems: - What is the goal of a GSD project and who are the members of a project? How to build trust between team members? Solution Outline: - Arrange a kick-off meeting for all relevant team members to meet face to face. - Everybody presents himself / herself. - Present common goal and motivation of this project. - Present release plan which is made by Divide and Conquer with Iterations pattern. - Present responsibilities of each site and team members, if possible. The result of Choose Roles in Sites pattern can be used with this action. - Briefly introduce tools and repositories which are chosen for a project by Communication Tools and Common Repositories and Tools patterns. - Briefly present common processes in a project which are specified by Common Processes pattern. - Also train cultural issues for team members according Notice Cultural Differences pattern. - Organize leisure activities to increase trust between team members. 21

Communication Tools Problems: - How to choose communication methods and tools in GSD? Solution Outline: - Have reliable and common communication methods and tools in every site. - Use of video conferences, web cameras, net meeting applications, chat, conference phones, Skype, mobile phones, electronic calendars, discussion tools, wiki tools etc. improves the efficiency of communication. - Use different tools at the same time as a net meeting application to show information and project data, conference phones to have good sound and chat tool to discuss in written form if there are problems to understand e.g. English language used in other sites. - Record e.g. meetings and key presentations to improve knowledge sharing. Records of meetings or presentations make it possible to listen to them once again, if needed. - Use common repositories to share artifacts, which can be implemented by Common Repositories and Tools pattern. - Publish availability of team members, common working times, holidays etc. to help communication and coordination of different meetings. - Also notice cultural differences which also affect communication methods and use 22 of tools.

Common Repositories and Tools Problems: - How to choose communication methods and tools in GSD? Solution Outline: - Provide a common Application Lifecycle (ALM) Management tool for all project artifacts (e.g. Product and Sprint backlog items, source code, development documents, faults descriptions etc.), reports, 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. ). - 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. - Use different levels (team, project, and program) reports to improve visibility of status of projects. - Effective access right control i.e. user rights methods and role-based views in use to see certain data. 23

Analysis between GSD Pattern Language and Related Research GSD has brought many benefits but also challenges. Solutions to these challenges have been investigated by several authors like [Coplien and Harrison 2005], [Sangwan et al. 2006], [Paasivaara et al. 2010], [Woodward et al. 2010], [Šmite et al. 2010], and [Richardson et al. 2010]. Subsection 6.1 discusses the similarities and differences between above studies and GSD Pattern Language. More information in doctoral dissertation: Pattern Language for Project Management in Global Software Development - http://dspace.cc.tut.fi/dpub/handle/123456789/20550?locale-attribute=fi 24

Analysis between GSD Pattern Language and Related Research Coplien, J. O., Harrison, N. B. (2005). Organizational Patterns of Agile Software Development. Lucent Technologies, Pearson Prentice Hall. Sangwan, R., Bass, M., Mullick, N., Paulish, D.J., Kazmeier, J. (2006). Global Software Development Handbook. Auerbach Publications. Paasivaara, M., Hiort af Ornäs, N., Hynninen, P., Lassenius C., Niinimäki, T. Piri, A. (2010). Practical Guide to Managing Distributed Software Development Projects. Aalto University School of Science and Technology. Woodward, E., Surdek, S., and Ganis, M. (2010). A Practical Guide to Distributed Scrum, IBM Press. Šmite, D., Wohlin, C., Gorschek, T., and Feldt, R. (2010). Empirical Evidence in Global Software Engineering: A Systematic Review. Empirical Software Engineering: An International Journal, Vol. 15, Nr. 1, pp. 91-118, 2010. Richardson, I., Casey, V., Burton, J., McCaffery, F. (2010). Global software engineering: A software process approach. In I. Mistrik, J. Grundy, A. van der Hoek, and J. Whitehead, editors, Collaborative Software Engineering, Springer- Verlag/Computer Science Editorial, pp. 35 56. 25

Principal elements of Application Lifecycle Management [Kääriäinen 2011] Application Lifecycle Management Product manager Project manager Requirements definition Requirements definition Design Design Coding and unit testing Coding and unit testing Integration & verification Integration & verification Release Release Project management Requirements management Maintenance Developer Communication Configuration management Tool integration Traceability Traceability Reporting Reporting Process Process support, support, tool tool integration Tester Architect integration Reporting of lifecycle artefacts Traceability of lifecycle artefacts Creation and management of lifecycle artefacts Process support 26

Lessons learns Is agile project management (Scrum) suitable for us? - We are developing some of our products in a distributed way - we are going to continue to use more Scrum based practices, artifacts and roles, especially in GSD (Global Software Development) to improve visibility, feedback, communication, business value etc. although to implement Scrum requires a lot of work. - But when we are developing our system product (25 years old) also with collocated groups and we have adopted some practices from Scrum such as Product backlog method, but we have still Product and Project managers, Developers and System testers. Are our ALM tools suitable for us? - We have developed our ALM (Application Lifecycle Management) solution with Lotus Notes applications to support our system development and we are going to use and further develop these applications. - We are also using commercial ALM tools in special cases, but challenges with these tools are e.g. high costs of licenses, support etc. and integration challenges with our Notes based tools. - Use of ALM tools is very important both in collocated and in GSD. 27

References for related doctoral disseratations Pattern Language for Project Management in Global Software Development / Antti Välimäki - http://dspace.cc.tut.fi/dpub/handle/123456789/20550?locale-attribute=fi Towards an Application Lifecycle Management Framework / Jukka Kääriäinen - http://www.vtt.fi/inf/pdf/publications/2011/p759.pdf 28

Kiitos! 29