outsourced software development sharing 15 years of experience by drs. frans slüper, pmp

22
Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

Upload: primrose-turner

Post on 18-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

Outsourced Software Development

Sharing 15 years of experience

by

Drs. Frans Slüper, PMP

Page 2: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 2

Outsourcing experience

• 1979 Ballast Nedam (Int.contractor): Large construction projects in Middle East (UK, Korea, Philippines)

• 1994 QAD/MFG-PRO: distributed development inside of the organization (UK, Belgium, Spain, Libanon)

• 1996 AAAHAA Results: Y2K and Euro projects: central development outside organization (Netherlands, India, Philippines, Romania)

• 2004 Consul Risk Management: central development inside organization, distributed outside (Netherlands, Ukraine, Belarus)

• 2006 IBM: distributed development inside organization, central outside (Netherlands, Belarus, US multiple locations, Poland, Romania, Russia, Israel, Egypt, Taiwan and more)

Page 3: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 3

Projects suitable for outsourcing

• (Small scale) maintenance work• System management• Small applications• Replacing existing applications (legacy)• System verification• Add-on’s to existing applications• Large completely new applications• Technical systems (PLC, embedded)

Most suitable projects are on top

Page 4: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 4

Projects less suitable for outsourcing

• Single small project• User documentation / Help files• Technical systems (PLC, embedded)

Page 5: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 5

Vendor (outsourcer) selection

• Many aspects covered by lecture of Paul Tjia• Something to take into account too• Size of Client (his project) vs Size of Vendor (total revenues)

– Client(project) small, don’t go to large Vendor. You will not be important enough to make a fist when needed.

– Client(project) large, don’t go to small Vendor. If you suddenly need more resources, the Vendor can’t deliver.

– Aim for your work to be between 15% - 35% of Vendor’s revenue

Page 6: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 6

Vendor (outsourcer) selection - 2

• If you have no experience in outsourcer selection– Get professional help (ask them to take some responsibility)

– Or do it yourself but then take your time to prepare

• If you have no clue who to select (and you like risk :-)– Do what most others (in your league) do

– Or better, do what a company (in your league) that you know does

• Always make sure you can communicate well with senior Vendor management– If needed, create a problem or an argument before you sign the contract.

See how well you can solve this together.

• Visit the Vendor’s site and meet the people

Page 7: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 7

Client – Vendor maturity

• Client maturity– The most easiest thing to outsource successfully is your problems. If

you have a lot now, you will get back more.

• Vendor maturity– Having ISO and CMMI certificates is no guarantee for success. But it

helps when really embedded in the Vendor’s organization.

• Client – Vendor maturity– Investing in cooperation and long term relationship pays off.

Page 8: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 8

Contract type

• Fixed Price – Fixed date– Best contract type under certain circumstances– But often more time spent on contract than on content– Joining forces to get maximum content is often replaced by fights

over money

• Time & Material– Can cost you a lot of money if not managed well– Provides the best results where the co-operation is based on

professionalism, trust and mutual respect

Page 9: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 9

Legal Issues - contract

• You must protect your Intellectual Property in a solid contract• Non-disclosure agreements must be propagated to all employees of the

Vendor working on your project• Make sure that when Vendor’s employees are visiting you they remain

at all times the Vendor’s employees and responsibility (but in some cases you have to accept some).

• Make sure that in case of disputes the law of a country is applied that you are acquainted with.

• Make sure that ending the contract leaves sufficient time for both Client and Vendor to find an alternative.

• Make sure you describe what has to be returned or destroyed by the Vendor when the contract ends.

Page 10: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 10

Legal Issues – Open Source

• The usage of Open Source software is wide spread. If you use Open Source their license agreement may force you to make your sources publicly available (become Open Source themselves).

• You have to make sure that your outsourcer is not using any Open Source without your approval upfront.

Page 11: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 11

Risks with outsourcers

• The usual project risks are not addressed here and expected to be known• Misunderstanding. You have to communicate a lot. Be aware that you are both speaking

the foreign English language. Writing (email / messenger) is providing the best way of communication because English writing skills are mostly best.

• Misunderstanding the context. Again communication is required here. But here teleconferencing is the best solution to allow for direct interaction. And not to forget it is good for teambuilding as well.

• Insufficient overlap of regular working hours. This is especially the case when the outsourcer is in a distant time zone. But also different National Holidays or different weekends (Middle East) may reduce the hours of direct interaction.

• Currency risk. If you pay the outsourcer in a different currency than your own, you run a risk here. You can cover for this but it will raise costs.

• Cultural differences. E.g. if your best expert is a woman it might very well be that it takes a while before she is taken seriously in some countries.

• You must make sure that any substantial work the outsourcer has produced for you is stored into a repository at your site on a frequent bases

Page 12: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 12

Infra structure

• Everyone is connected to the Internet today, but having your sources sent to and fro by email does not seem a wise thing to do in most cases.

• Therefore the outsourcer must either have access to your Source Control environment via a secured connection or you have to assign the checking in and out of sources to a dedicated person in your team (the latter is not desirable)

• The outsourcer must have a local build environment that is similar (if not the same) as yours. They also need to have to be able to integrate their development work with the complete product and verify if nothing is broken.

• For verification (testing) they need either to possess the relevant hardware or need to have access to that hardware on the Client’s site.

• The outsourcer also needs to be able to access your defect management system to register any defects they find and update any defect records after the defect has been solved.

• For all of this much attention must be given to access and authorization management.

Page 13: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 13

Outsourcing Case Study: 2004 - now

• Company: Vendor/producer of a generic standard software package• Company maturity: +/- 20 years• Company size: about 100 employees• Company ownership: Founders, Venture Capital• Head Offices: Netherlands, USA• Software development early 2004

– Internal: Netherlands – Outsourced: Ukraine (2 different outsourcers in Kiev)

• Customer Support 2004– Internal: Netherlands– Outsourced: Guatamala

Page 14: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 14

Company goals

• Get ready and be attractive for take-over– Get better organized– Improve company metrics

• For the Software Development Dept. this meant:– Increase reliability of release dates and quality– Introduce professional Project Management practices– Get better control of Outsourcers– Reduce development costs

Page 15: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 15

Get better control of Outsourcers

• Existing Client – Vendor relationship was too much based on distrust.• Attempt to turn this around resulted in one of the Vendors ending the co-

operation.• Multi-vendor policy required finding a new vendor• Reliability of Release Dates required this to be done within 3 months• We selected a vendor in Minsk, Belarus that made a good impression in an

earlier selection• We first moved all work and infrastructure to the remaining Vendor in Kiev and

expanded the team there.• Then we started building-up the team in Minsk.• A stable multi-vendor situation was established again by early 2005. One vendor

in Kiev and one in Minsk• In parallel a professional Project Management methodology had been

implemented.• Result: New release scheduled for 2005 was delivered on time and with good

quality.

Page 16: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 16

Reduce Development Costs

• Get better organized goal was achieved• Next was to improve the company metrics• This required development costs to be reduced a lot (increasing Sales seemed to be more

difficult :-)• We had to reduce the number of people at the outsourcer’s sites• Sticking to the multi-vendor policy would result in us becoming insignificant for both

vendors.• We decided on a policy shift founded on trust.• We decided to continue with the vendor located in Minsk

– Cultural resemblance was much better– Company sizes of Client and Vendor had a better match– Vendor had proven to be trustworthy

• Early 2006 we had reduced the overall number of resources and therefore development costs

• But by concentrating efforts with one vendor it meant that this vendor’s team actually expanded. Thus morale could be kept high.

Page 17: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 17

Company taken-over by end 2006

• The main goal of the Company to be taken-over by another (larger) Company was realized by the end of 2006

• One of the biggest ICT companies in the world acquired us.

• That had a lot of impact on the implemented Project Management methodology. We had to switch to the worldwide applied methodology of the New Company.

• It also had a big impact on the working relationship with the vendor in Minsk

• The New Company had basically a “no outsourcing” policy.

• Because of the good results from the past we could continue with our vendor in Minsk

• Contract management and Work package management however needed to be separated.

• By mid 2007 most of the required changes in contracts, infra-structure and procedures related to our partner in Minsk had been established.

Page 18: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 18

Integrate the Product into the New Company portfolio

• Change the User Interface (New Company look and feel)

• Replace the Database (from Oracle to DB2)

• Replace the technology (e.g. replace Visual Basic by Websphere)

• Make the product multi-platform (Windows, Linux, AIX)

• Make the product multi-lingual

• Change the tooling– Source Control + Build system to Rational ClearCase– Defect Control to Rational ClearQuest

• Work with globally distributed specialist teams inside New Company (time zones from Taiwan to US west cost)

• This required a lot from the team in The Netherlands as well as from our partner in Minsk

Page 19: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 19

Growing the outsourcer’s team

• To achieve what was needed to integrate the product the development team needed to be expanded a lot

• It was decided to have the major growth in our partner’s team in Minsk– Proven ability to find the right people faster than we could do in The

Netherlands

– Proven ability to bring new people quickly up to speed

– Proven ability to acquire new knowledge fast

– Proven ability to locally manage large teams

– More cost effective

• By the end of 2008 we had about 70 people at our outsourcing partner in Minsk

Page 20: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 20

Reducing the outsourcer’s team

• And then we had the economic crisis!• In December 2008 it was required to reduce the size of the team in

Minsk by 50% within 1 month.• This was a very painful operation but at the start of February 2009 our

partner in Minsk accomplished the team reduction.• Unfortunately it could not be avoided that all of this had an impact on

both schedule and quality.• The partnership with our vendor in Minsk however can still be regarded

as a very beneficial one.

Page 21: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 21

Critical Success Factors for a long term partnership with your outsourcer

• Make sure your outsourcer is able to provide you with what you really need.

• Make sure your outsourcer is committed to provide you with what you really need.

• Act yourself in accordance to what you expect from your outsourcer; don’t expect professionalism from them and be an amateur yourself

• If you cannot provide the professionalism yourself, hire someone who has the expertise to help you with it.

• Take care of an equal pain/pleasure balance.– Don’t let your outsourcer bare the pain all the time just because you can or

the other way around; share pain and pleasure equally

• Build trust and mutual respect on all levels

Page 22: Outsourced Software Development Sharing 15 years of experience by Drs. Frans Slüper, PMP

3 November 2009 Using outsourcing to strengthen your business: do's and don'ts 22

Questions and Answers