software development outsourcing, benefits and pitfalls

21
Software Development outsourcing, Benefits and pitfalls Henrik Maegaard, SW Outsourcing consultant [email protected] Henrik Maegaard has a long experience in trans-national s/w projects (since 1981): NCR (US/Denmark) Borland (US/Denmark) Computer resources Intl. (US/Denmark/Norway/India) NetTest (Denmark/Canada/India/Slovakia/Czech rep.)

Upload: luke-ware

Post on 01-Jan-2016

34 views

Category:

Documents


0 download

DESCRIPTION

Software Development outsourcing, Benefits and pitfalls. Henrik Maegaard, SW Outsourcing consultant [email protected] Henrik Maegaard has a long experience in trans-national s/w projects (since 1981): NCR (US/Denmark) Borland (US/Denmark) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Development outsourcing, Benefits and pitfalls

Software Development outsourcing,Benefits and pitfalls

Henrik Maegaard, SW Outsourcing consultant

[email protected]

Henrik Maegaard has a long experience in trans-national s/w projects (since 1981):

• NCR (US/Denmark)

• Borland (US/Denmark)

• Computer resources Intl. (US/Denmark/Norway/India)

• NetTest (Denmark/Canada/India/Slovakia/Czech rep.)

Page 2: Software Development outsourcing, Benefits and pitfalls

Introduction

• Most s/w in the industry is built by (sub-) contractors» Processes and standards are pretty well known

• Outsourcing is often about letting a third party take part in creation of intellectual property» Still experimental» No commonly accepted standards and processes» Cultural barriers to be overcome when outsourcing

to low salary countries

Page 3: Software Development outsourcing, Benefits and pitfalls

Why outsource?

• Upside» Time to market» Flexibility of work force» Cost» Acquisition of expertise

• Downside» Motivation of local workforce» Risk of loosing IP knowledge» Requires organizational adaptation

Page 4: Software Development outsourcing, Benefits and pitfalls

How do you find your right partner?

• Scan the market• What is right for you? What are your key

evaluation areas?» Technology skills» Domain knowledge» Price level» Company size (perenity)» Quality level» Language skills» Commitment» References

Page 5: Software Development outsourcing, Benefits and pitfalls

Evaluation

• Visit the candidates» Evaluate the key areas by inspecting real live projects. (This

can be tricky as it may include confidential information)» Talk to the engineers, » Evaluate the management skills

• Example:Key Factor Weight Points Weighted Points Weighted Points Weighted Points WeightedPrice 10 3 30 5 50 4 40 1 10Company size 5 5 25 4 20 3 15 1 5Quality Level 10 4 40 2 20 5 50 3 30Commitment 4 2 8 4 16 5 20 2 8Domain knowledge 5 4 20 3 15 5 25 3 15Ability to staff 8 4 32 4 32 2 16 2 16Technical Skills 6 3 18 4 24 3 18 3 18Total 25 173 26 177 27 184 15 102

Company 1 Company 2 Company 3 Company 4

Page 6: Software Development outsourcing, Benefits and pitfalls

Example cont’d (Commitment)

  Company 1 Company 2 Company 3 Company 4

Easy approach to FFP type contracts (1 – 5)

3 3 5 3

Investment in relationship (1 – 5)

2 4 5 2

Rating (1 –5) 2 4 5 2

Page 7: Software Development outsourcing, Benefits and pitfalls

The contract

• Frame contract approach» Simple and easy to understand. Should cover T&M as well as

fixed price» Besides usual legalese, ensure to include high-level principles

• Project Management Plan • Warranty• IP rights• Payment conditions, penalty.

» Must support the development model you have chosen» Include the different projects or SOW as separate appendices,

make sure you have a mechanism to control scope and schedule changes.

» IMPORTANT: Asymmetric, but fair. You must be in drivers’ seat• Discontinuation at will, reasonable run-down scenario.

» Get it right the first time, its tough to make changes later

Page 8: Software Development outsourcing, Benefits and pitfalls

Organization

• Product Management• Systems Engineering• Incoming inspection• Test and release• Handling of practical issues (Housing, visas,

travel)

Page 9: Software Development outsourcing, Benefits and pitfalls

Responsibilities (Example)

• Contract Management» maintenance of the contractual framework,» handling of contractual issues wrt. the sub-contractor» budgeting and financial control» overall status reporting » conflict resolution, and» definition and maintenance of the overall development process.

 

• Project Management» requirements gathering,» development planning,» status follow-up and» support to customer projects

Page 10: Software Development outsourcing, Benefits and pitfalls

Responsibilities (EXAMPLE)

• Acceptance test» incoming inspection and acceptance,» maintenance of acceptance test specifications and –

designs,» maintenance of detailed development, test and

release processes and» maintenance of test- as well as development

environment

Page 11: Software Development outsourcing, Benefits and pitfalls

Responsibilities (EXAMPLE)

• QA & Operations secures» correct usage of the defect tracking system,» correct and timely input to the defect tracking and

Product Management board,» adherence to release procedures,» acquirement of hardware and software and» design and maintenance of the test facility.

Page 12: Software Development outsourcing, Benefits and pitfalls

Process and tools

• Project Management Plan» Project organization

• Process model (map responsibilities to the dev. model)• Organizational structure• Communication interfaces• Responsibilities

» Management processes• Risk Management, monitoring and control

» Technical Processes• Methods , tools and techniques

» Work Packages, Schedule and Budget

Page 13: Software Development outsourcing, Benefits and pitfalls

Communication

• Weekly reporting• Monthly status• Data via internet (secure tunnel)• Moderated Discussion Forum

» Use the internet» Select a tool that allows you to manage access and

authorization rights » Example

Page 14: Software Development outsourcing, Benefits and pitfalls

Communication cont’d

• Change & defect management» Weekly PM and defect management board (members: PM, SE,

Management)• Defect Status and prioritization• Status follow-up• New development to be contracted• Changes to be initiated• Customer related issues

» Contract change notification process• Request for changes from Sub or PM• Evaluation of effort• Schedule commitment• Acceptance/rejections of cost• Go/no-go

Page 15: Software Development outsourcing, Benefits and pitfalls

Project implementation, Quality• Situation

» Poor understanding and implementation of YOUR quality goals

• Goal» To get common quality and software practices implemented

• Actions» Payment plan is directly coupled with quality.» Initial relocation of key developers and project managers » Team member interviews» Regular “builds” » Enforce QA procedures via the contract.» Exploit the economy of a large off-shore test-team. » Exploit the acceptance of bureaucracy (India: High CMM Level)» Involve the local management in the details, if at all possible.» Do not believe in undocumented, positive feed-back

Page 16: Software Development outsourcing, Benefits and pitfalls

Project implementation, Culture (India)

• Important motivation drivers» Family» Tradition» Religion» Interesting work and new technology

• Communication» All team members will speak English. It is somewhat archaic-

British, but probably better than most European’s» Personal relationships drives the process» Make the teams accept each other’s values» Visit the temple, visit the homes» Try Asian-vegetarian. Food plays an important role

Page 17: Software Development outsourcing, Benefits and pitfalls

Implementation, Culture (Eastern Europe)

• Important motivation drivers» Salary» Interesting work and new technology

• Communication» Few team members will speak English. » Reserved like Danes. Process is driven top-down ,

but personal relationships are somewhat important» Make the teams accept each other’s values (if you

can identify them)» Go out, have some beer and Slivovitz

Page 18: Software Development outsourcing, Benefits and pitfalls

Project implementation, Resistance

• Situation» The product owner’s group might initially show resistance» The “Dilbert and Elbonia” syndrome

• Goal» Co-operation in good spirit

• Actions» Support good communication» Understand the culture» Make the results visible (faster, cheaper) » Help your customer during peak load by offering more

resources, fast.

Page 19: Software Development outsourcing, Benefits and pitfalls

Economy

• Typical hourly rates (fully burdened)» India: $ 18 to 25 (DKK 100 to 150)» Eastern Europe: € 32 to 40 (DKK 240 to 300)

• Fixed price contracts» Add 20 to 30 % to estimates for risk, management

and warranty

• Ensure at least a ratio of one to five between involved people (own engineers rel. to off-shore team) in order to obtain substantial savings (> 50%)

Page 20: Software Development outsourcing, Benefits and pitfalls

Any Questions?

?

Page 21: Software Development outsourcing, Benefits and pitfalls

Project OrganizationO u tso u rcin g S u pp o rt O rga n iza tion

In com ing insp ec tion& te st

S ys tem s E n g ine e ringS u pp o rt

O u tsou rc ingM a na g er

C o n tra c t M a na g e m e nt

R & D , P rod u c t M a na g em e nt

S ys tem s en g in ee ring D e ve lo p m e nt In teg ra tio n a nd Te st

M a na ge m e ntR & D

P ro du ct M an ag e m e nt

O ff-sh ore O rg

S ys tem s E n g ine e ringo r sp e c ia lis ts

D e ve lo p e rs

T e chn ica l M a na g em e nt C o n tra c t M a na g e m e nt