210 likes | 339 Vues
Software Development outsourcing, Benefits and pitfalls. Henrik Maegaard, SW Outsourcing consultant henrik.maegaard@ahead-management.com Henrik Maegaard has a long experience in trans-national s/w projects (since 1981): NCR (US/Denmark) Borland (US/Denmark)
E N D
Software Development outsourcing,Benefits and pitfalls Henrik Maegaard, SW Outsourcing consultant henrik.maegaard@ahead-management.com 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.)
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
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
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
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:
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 Example cont’d (Commitment)
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
Organization • Product Management • Systems Engineering • Incoming inspection • Test and release • Handling of practical issues (Housing, visas, travel)
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
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
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.
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
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
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
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
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
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
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.
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%)