managing distributed agile project · juha sadeharju 22 february 2006 managing distributed agile...

37
22 February 2006 Juha Sadeharju Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006 If viewed offline and without presenter, this powerpoint should be treated as a stub.

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Managing Distributed Agile ProjectPractical Observations

T-76.5612 Software Project Management, TKK 22.2.2006If viewed offline and without presenter, this powerpoint should be treated as a stub.

Page 2: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Agenda

• Introduction• Case Tecnomen NGM 5.x• Challenges• Solutions• Conclusion• Q&A

Page 3: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Presenter

• Juha Sadeharju– Project Manager, NGM 5.x– Group Manager, NGM Application Development

Page 4: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Company Factsheet

22. helmikuuta

2006

Juha Sadeharju 4

• 1978: established in Finland• 2005: Sales 68 MEUR• Product lines:

– Messaging– Charging

• Approximately 370 employees• Deliveries to over 80 customers worldwide• Presence in Europe, Asia Pacific, Middle East,

Africa and the Americas • Listed on the Helsinki Exchange (since 2000)

Page 5: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Tecnomen operates in 13 locations worldwide and has supplied its products to operators in over 50 countries.

Europe• Telenor (NOR)• TeliaSonera (FIN)• Vodafone Ireland (IRL)• Elisa (FIN)• O2 (UK)

Latin America• Americel (BRA)• Telemig Celular (BRA)• Telet (BRA)• Amazonia Celular (BRA)• Digitel (VEN)• Digicel (VEN) • Nuevatel (BOL) • Conecel (ECU) • Telgua (GUA) • PCS Digital (NIC)• Boatphone (CAR) • CTI Móvil (ARG)• ATL (BRA)• TESS (BRA) • Brasil Telecom (BRA)• CTE El Salvador (SAL)

Asia & Middle East• Chunghwa Telecom (TWN)• CELCOM (MAL)• Indosat (IND)• MTC (KUW)• STC (KSA)• CellC (RSA)• DTAC (Thailand)• etc.

•Swisscom (CH)• TDC Mobil (DK)• Omnitel (LIT)• Mobilkom Austria (AU)• LuXcommunications (LUX)

• MTT (RUS)• Finnet (FIN)• A.S.T.R.I.D. (BEL)

Page 6: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Internet Mobile

Voice Messaging

Unified Messaging

Multimedia Messaging

2.5G

2G

1G

3G

2004 Tecnomen launches Video Mail2003 Tecnomen celebrates its 25th anniversary

Tecnomen launches Next Generation Messaging Platform2002 World’s first commercial MMSC interconnection enabling

subscribers to send multimedia messages between different networks in Finland.

2002 Tecnomen Messaging forms a complete 3G messaging system enabling voice services, unified messaging and multimedia messaging.

2000 Tecnomen eZONER service concept launch1999 1st introduction of WAP to unified messaging1999 Unified messaging system delivered to TDC (former Tele Danmark)

to handle 1 million new subscribers (mobile fixed)1998 1st delivery of unified messaging system in the world to

Telenor Mobil1998 1st prepaid system delivered to Americel, Brazil1995 Multimessaging system delivered to CELCOM, Malaysia1992 Voice mail system for TDC’s (former Tele Danmark)

NMT and GSM networks1988 1st mobile voice messaging system in the world delivered to

mobile operators 1984 1st paging system delivered1980 1st telecommunications system delivered

6

Tecnomen has over 25 years of experience in the telecommunications industry, and a solid track record with many industry firsts. We are an expert in carrier-grade solutions with strong technology know-how. Our strength is

our flexibility in serving our customers

Page 7: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Next Generation Messaging

• All-IP• Open Standards• Commodity HW• Single Storage• Rapid

Application Development

22. helmikuuta

2006

Juha Sadeharju 7

Application

Servers

Infra Servers

Application LayerAccessLayerTelco Server

SAN Storage

StorageLayer

VoiceXML IMAP

SNMP

System Server /Operation & Maintenance

SQL

Proxy Servers

HTTP

HTTP

Page 8: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Open Standards, All IP

SNMP

IMAP4 / SQL

HTTP / T37

JMX / SNMP

SIP / H.323

SS7SNMP

Page 9: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Case Tecnomen NGM 5.x

Page 10: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Case Tecnomen NGM 5.x

• I’m not going to talk too much about management processes (or anything you can find directly from books)

• Most of the ground was covered by previous presenters

• But I am going tell you what methods we successfully used in the project, i.e. the practical stuff– Concentrating in requirement mgnmt and communication in a

mixed on/offshore software project

Page 11: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Tecnomen NGM 5.x• Product Release Project

– Project Organization of roughly 80 professionals

– Offshoring used in several parts of organization

– 80% of budget goes to resourcing

• PM as the hub of activities and Facilitator

• Traditional responsibility assignments from umbrella process (i.e. Training Lead)

• Includes offshore teams managed by Offshore PM in Tec premises.

Page 12: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Tecnomen NGM 5.x• Tight schedule• New Product, New

Architecture• Complex Product, Complex

Requirements• Offshore team not well aware

of Tecnomen product domain• No room for Error (Telco grade

deliveries) - Quality Management!

Page 13: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Communication

Page 14: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

It’s All About Communication!

• Why? Few examples.. – Misunderstanding requirements leads to false

estimates and sometimes even faulty deliverables– Interpretation of requirements is always subjective

– People seldom bring forth their issues but try to tackle them on their own, or just move to next item

– Leads to crisis in the end of the project

– Offshore distance is always an issue– …

Page 15: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

It’s All About Communication!

• Steps we’ve taken to ensure good communication– Recurring status meetings for stakeholders– Common collaboration tools, online

– Reports, progress and requirements viewable anytime

– Daily communication between teams– Periodical visits to Tecnomen and to Offshore– Methodologies chosen to enforce the above

Page 16: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Project Communication 1/3• Weekly one-to-one Meetings by PM w/ Subject Leads

and Managers– 1-3 times per week– Problem Solving, counseling

• Weekly Project Team Meeting– Subject Leads and Managers– Status Reporting and Escalation

• Tri-weekly Meetings with Steering Group– Project status, budgeting, etc..

Page 17: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Project Communication 2/3 • Wiki used extensively for collaboration by

– PM for publishing weekly reports and task progress– Subject Leads for publishing artifacts and information– Developers as design and communication tool– Email notifications of changed items

• Issue Tracking for– Requirement Management– Development planning and implementation– Project Planning and follow-up– Email notifications

Page 18: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Project Communication 3/3• Mailing lists used by

– Product Development for– Sprint Team Communication– Automated Build Success / Failure Messages– Announcing internal demonstrations (Sprint Reviews)

• Additionally Sprint Teams use– Skype, Messenger and IRC– Tele/Videoconferencing

– For daily Scrum of Scrums

Page 19: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Development Daily Communication

Scrum Team A Scrum Team B Scrum Team C

Offshore Scrum Team A Offshore Scrum Team B Offshore Scrum Team C

Daily Scrums

Daily Scrums

ScrumMastersCustomers

Daily ScrumOfScrums

Offshore ScrumMasters

Page 20: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Swift Communication is Crucial

• Example:– In an environment of tens of distributed developers

using continuous integration with a single repository, one Build failure stops everyone’s work.

– With automated communication these pauses in development can be made short

– ...

Page 21: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Example”Build Failed” EmailSent to all devs to trigger actions

Page 22: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

On and Offshore Development Practices

• Tecnomen Scrum– Modified version of Scrum (Schwaber)– Some additions from Crystal Clear (Cockburn)– Tecnomen Architects as Proxy Product Owners for

Offshore Sprint Teams– Test Driven Development– Continuous Integration– User Stories

Page 23: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Working Environment

• Shared open space a must• Mirror roles and interaction in physical layout

– Architects in center– Teams as satellites

• Conducive to mixing of ideas

• Similar organisation at Offshore location• ...

Page 24: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Page 25: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Requirement Management

Page 26: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Requirement Mgmt 1/4• Our conventional requirement docs in MS Word• Not very usable for our offshore activities

– Assumes 1. Communication via documentation2. Offshore team to be subject matter experts (in Tecnomen product

domain) when they’re not (see 4.)3. Requirements do not change (or go back to 1. which is slow)4. All requirements can explicitly be conveyed via one document5. ..

– Leads to1. Misunderstood requirements, followed by delays in delivery2. Someone always having old deprecated version of doc3. ..

Page 27: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Requirement Mgmt 2/4• Introduce User Stories

– A high-level definition of a requirement

– ”As a student, I want to obtain latest seminar schedule from web, so I won’t be late.”

• Introduce Scrum Product Owners– Detailed definitions by interacting

with Spring Team– Continuously available for Scrum

team’s perusal– Strong presence in Sprint Planning

and Review– Periodical chance to steer scope

towards correct direction

Page 28: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Requirement Mgmt 3/4

• Accept that Requirements can be Dynamic– With deeper subject understanding requirements usually change

-> Change Mgmt

• Introduce Requirement Management Tool– Same tool Sprint Teams use for Sprint Task management– Contains the whole product lifecycle from idea to requirement to

individual tasks (with a granularity from severals months to hours.)

– Used via web browser, accessible to all parties

Page 29: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Requirement Mgmt 4/4

• Enforce Requirements– Introduce Automated Acceptance Tests to build cycle– Story is not considered ”done” unless tests pass

Page 30: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Progress Followup

Page 31: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Following Progress• Project Team Meetings• RM/Issue Management Tool

– Requirement Completion– Documentation, Training, etc .. – RM/Issue Management Tool– Development

– Tecnomen Scrum offers various tools (RM/Issue Management Tool, daily scrums, demos, burndowns, resolution graphs, nag emails ... )

• Milestones ..

• No, we don’t use MS Project.

Page 32: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Tecnomen NGM Release Process

• Umbrella for smaller processes and methodologies

• Defined Critical Milestones– Ready for Productization– Ready for Sales– Ready for Pilot – ...

RequirementsAnalysis & Design

Implementation

Deployment

Planning Config. & ChangeManagement

Environment

Evaluation

Test

Business Modeling

InitialPlanning

Page 33: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Stories, Tasks and Dependies

Page 34: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Burndown Graphs

Page 35: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Sprint Demos• An open gathering for all

stakeholders• All teams present their results• Videoconferencing• Desktop sharing• Customers can steer the

requirements

• The one true measure of completion

Page 36: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Conclusion

• ”So, you got all these nice methods and tools, so if I just copy those to my project, will I succeed?”– No.

• One key aspect of successful project management is ability to address known issues effectively. These issues differ from project to project, and are usually known by stakeholders.

Page 37: Managing Distributed Agile Project · Juha Sadeharju 22 February 2006 Managing Distributed Agile Project Practical Observations T-76.5612 Software Project Management, TKK 22.2.2006

22 February 2006Juha Sadeharju

Thank You

[email protected]