The Need to Minimize Risks in Software Development Outsourcing
More and more projects rely on externalisation, as a way to optimize resources (skill and availability) and to reduce the cost of software development. Moreover, outsourcing allows to parallelize some of the tasks and thus to accelerate projects delivery.
However, recent studies concluded that 31% of outsourced projects did not meet deadlines and had poor service quality, and 23% did not provide delivery compliance with requirements.
In this context, the Acceptance phase is a key challenge of every outsourcing strategy. Its unsuccess can have disastrous consequences on the operation of the application and result in significative financial loss during maintenance phase, and even lead to the abandonment of the project.
Acceptance phase may be difficult if poorly prepared: What are the requirements to validate? When must delivery be completed? What are the acceptance criteria?, etc… Most failures are often due to a neglected planning and a lack of communication whith professional trust being put into question.
- From the customer side, integrating several work packages can be complex (asynchronous delivery, heterogeneous level of quality…) and delivery acceptance wrongly focuses on functional coverage despite of product quality, which can badly affect the evolutive maintenance.
- On the supplier side, constant adjunction of new requirements have a negative impact on project schedules. Moreover, low trust between stakeholders do not help data sharing.
The success of acceptance phase thus requires contractualising nonfunctional, technical requirements, and defining common and shared acceptance criteria.