• No results found

Methods, Processes & Tools for Global Software Development

N/A
N/A
Protected

Academic year: 2021

Share "Methods, Processes & Tools for Global Software Development"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Dan Paulish

[email protected]

Methods, Processes & Tools for

Global Software Development

(2)

Agenda

Motivation for Global Software Development

(GSD)

Challenges

An Approach

Lessons Learned

(3)

Global Software Development (GSD):

Motivation

Lower development costs

Lower development costs

Low

Low

-

-

wage countries

wage countries

Capitalizing on a pool of trained workforce

Capitalizing on a pool of trained workforce

Quest for talent

Quest for talent

Increased output, reduced time

Increased output, reduced time

Improve time

Improve time

-

-

to

to

-

-

market

market

Round-

Round

-the

the-

-clock development

clock development

Market proximity

Market proximity

Specific local expertise

Specific local expertise

Market acquisition effort

Market acquisition effort

Governmental policies and incentives

Governmental policies and incentives

Original motivation

was reduced

development cost,

but there are other

(4)

Time Difference: 11.5 hours

Physical distance

(5)

Global Software Development

Siemens has more than 15 years experience developing software products globally.

Today, most Siemens business groups develop software in low-cost countries. Organization and process model for global development divides responsibility between a central headquarters organization & remote development teams.

Software engineering expertise Domain expertise Management & Process expertise Central team Development experience Technology expertise Software engineering expertise Remote development teams Supplier Managers Integrated by Code Component requirements Component design Verified by Tests Verified by Requirements Architecture & design Acceptance tests Development plan

(6)

Global Studio Project (GSP)

Experimental global software development project using university student teams and researchers.

Shadows real Siemens global development project, process, & organization.

Document processes, best practices, and understanding of how to successfully execute global projects.

(7)

GSP Research Goals

Identify and document

best (and worst) practices

for

global software development.

Identify the

prerequisites

for

successful global software

development

.

Test a global software development

reference process

.

Determine

artifacts

for

commissioning

a

remote

development team

.

Identify

communications necessary

for effective global

development.

(8)

Example Organization – Global Development Project

Centralized Roles: Product LineManager

Requirements Engineering Architecture Quality Assurance User Interface Project Planning Change Management Application Development: Distributed Synchronized Teams

Chief Architect R&D Resource Manager Component Team #1 Component Team #10 QA, architect, and subject matter experts are embedded within the small component teams.

Component teams use agile processes and are synchronized by the centralized team.

Integration & Validation

(9)

Centralized Functions

Product Line Management

Requirements

Engineering

Architecture

Design

Project Planning

RTUs & Meters ADAS Acquisition Status/Msg Schedule Data Processing & Control ADAS Values Data Processing Database Tables Crystal Reports Web Client Acquisition MMI Billing System Excel Web Server Device Park Management Meter & RTU Data

HHT Routes Administration Groups

Schedule Info Status Messages

ER1 ER2 ER3 R1 R2+

Schedule Maker

Search Consumer Tree for Scheduled Events √ √

Create a Schedule √ √

Handle Report Events √ √

Handle Acquisition Events √ √

Optimize Acquisitions √

Handle set Parameter Scheduled Events √ √

Display and manual Update of Schedules √ √

Component Development

System Integration

& Validation

User Interface

Design

Quality

Assurance

IHN Processes

The colored processes are not detailed in this model.

Clinical Process Management

Patient Management

Regulatory Compliance

EMPI IHN Infrastructure Management

Contract Management Patient Accounting Scheduling Patient Referral Management

Wait List Management Customer Relationship

Management

Managed Care

Decision Support Medical Records Management

Provider Credentialing General Accounting Case Management <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>>

IHN Business Processes Draft

(10)

Remote Development Functions

Application Component Development teams are given: • Part of business model to implement

• Acceptance tests

• Incremental development plan and integration dates • Component interface specifications

• Vertical slice implementation • UI Style Guide

Development Team Roles: • Project Leader

• Subject Matter Expert • Architect

• Developer

• QA/Component Testing

(11)

Global Studio Project Development

MSLite Project:

MSLite: Management Station Lite

Building Automation domain

Shadows a real Siemens distributed development

project

(12)

Global Studio Project Size

7 Teams

30 Developers

5 Countries

4 Continents

11 Time

Zones

67.5 Delivered

KLOCs

(13)

Key Practices

ƒ

Architecture-Centric Approach

ƒ

Wiki-based Collaboration/Content Management System

ƒ

Common Development Environment & Tools/Continuous

Integration

(14)

Practical Approach

Wiki-based collaboration

• Central artifact repository

• Central team & remote team pages

• Templates and organization controlled by central team

• Remote teams complete

documentation tasks on the wiki

• Wiki-based process learning

Architecture-centric approach

• Multiple architectural views

• Clear division between central and remote team responsibilities

• Clear (and navigable) traceability between artifacts (e.g., requirements-design-test)

(15)

Development Environment

ƒ

Teams involved in requirements, design & development workflows

during Elaboration, Construction, Transition phases

ƒ

Component-based decomposition and distribution of development

effort

ƒ

Continuous integration tools

Automated builds

Automated tests, metrics, API documentation

ƒ

No uncoordinated inter-team communication, everything is channeled

though the central team

ƒ

Tools for direct/indirect communication (Wiki, Issue Tracker, Mailing

Lists)

(16)

Links to source code

Links to Code files Run Build and

Tests upon repository update NAnt NAnt NDoc NDoc

Links to build, test, coverage reports Issue Tracker Issue Tracker Link to revision where issue is solved Link to issue from revision history Links to Integration reports Links to Issues Links to Topics X M L X M L H TML , H TML , XML XML HTML , HTML , XML XML H TML , H TML , XM L XM L HTM L, HTM L,

(17)

Communication Infrastructure -1

ƒ

Weekly teleconferences

Quick problem resolution

ƒ

Videoconferences and Face-to-Face meetings

Humanize perception of remote parties

Establish trust relationship

ƒ

Team Mailing Lists

(18)

Communication Infrastructure - 2

Collaborative Content Management System

• Organizational Information

• Requirements: Functional, Use Cases, UI Mockups

• Architectural Views, Interface Specifications

• Project Planning and Tracking

• Process Reference Dedicated Tools • Defect Management • Change Management • Code Versioning • Content Discussion

(19)

Social Network Analysis (SNA)

Roles

Developer Team Leader Function Manager Remote Supp. Manager Central Supp. Manager Executive

Affiliations (Sites)

SCR Central Team Tech. Univ. Munich CMU Sapphire IIITB Monmouth #5 Monmouth Codicons Monmouth TCT Limerick ArdnaCroise

(20)

Some Lessons Learned

ƒ

Continuous Integration

ƒ

Amount of Required Communications

ƒ

Cultural Differences among Teams

ƒ

Start-up Time for Remote Teams

ƒ

Supplier Managers as the interface to Remote Teams

ƒ

Team Size

(21)

Open Issues and Research Questions

1. Given that the technical artifacts that are delivered to the

remote component development teams are not adequate

in specifying the precise work to be done, in what ways

are they deficient?

2. What strategies do the remote teams employ to

compensate for the deficiencies found in the received

technical artifacts?

3. What are the early warning signs that an issue is

imminent? Can communication patterns, for example,

between the central and remote teams be used to predict

future component integration problems?

(22)

Thank you!

Contact:

Dan Paulish

Distinguished Member of Technical Staff [email protected]

References

Related documents

This thesis explores the potential of probabilistic neural architectures for computation with fu- ture nanoscale Metal-Oxide-Semiconductor Field Effect Transistors (MOSFETs). In

Generally good agreement with experimental mole fraction, stagnation temperature, and Pitot pressure profiles is obtained for non-reactive mixing of the hydrogen jet with a

Notice, however, that simheuristic algorithms go one step beyond in the sense that: (i) the feedback from the simulation should also be used to guide the metaheuristic search

10 Research question 4: Can a conceptual career meta-competency model be proposed based on the theoretical relationship dynamics between the personality attributes

Considering the pharmacologic characteristics of the two opioids and the trend of higher satisfaction levels of the endoscopists and patients, combination sedation using

While traps baited with fresh TML or CPL generally captured similar numbers of male medflies, TML-baited traps generally captured significantly more male medflies than

definition of congregate care. Federal law states that when shift staff provide care to children then those facilities must be considered congregate care and meet the new

This strategy will be implemented in 3 phases that will seek to: (i) prepare the climate of each residential home so that it support and encourage creative thinking by carers;