IT departments responsible for application development (AD) have to provide solutions that deliver quality and performance at reduced costs in increasingly shorter time frames. Focusing on quality and performance often means staff augmentation, but that, in turn, can lead to higher costs and risks, usually borne by the IT department. To mitigate costs and risks, IT departments often outsource development to service providers, but if not governed properly, this can introduce loss of control and the risk of poor delivery and/or quality.
These ISG Top 5 strategies will help lay the foundation for the successful outsourcing of AD services.
1. Manage the demand. Many retained AD organizations are ravaged by the business units’ demands and are, therefore, unable to guarantee capacity utilization to service providers. In these cases, providers often refuse to commit resources or agree to Service Level Agreements (SLAs), making it difficult to create long-term programs to improve quality and reduce risk. To manage the demand, it is essential to build a common understanding with the business units. Start by classifying the different sources of demand: real business needs, adaption to changing environment (e.g. regulatory changes) or end-user requirements. Negotiate budgets that are based on clear measurements with regard to these categories. Invest in demand managers who reside within the business units, have a deep understanding of the business processes and are able to negotiate IT constraints, prioritize the incoming change requests and establish long-term IT roadmaps.
2. Establish standardized requirement and estimation processes. Often, requirement documentation is not formalized or binding, estimations are solely based on expert opinions and changes are not controlled or base-lined across projects. To establish a requirements and estimation process with more reliable results, agree on standardized methods and templates and formalized requirements languages across projects. Involve the business representatives, and hold them responsible to formally sign off on the requirement documentation.
3. Introduce a productivity measurement. Successful AD outsourcing has to prove that productivity is improving and the resulting savings are being passed on. Productivity measurements are based on produced (functional) volume and the effort per volume. Because investments for a full-blown function point baselining might be difficult to justify, task the estimation teams to measure complexity points for every development object. Lay the foundations for a comparable and reliable productivity baseline first. Establishing scientific accuracy can come next.
4. Develop delivery and price models that fit. Development projects that are only figured on a fixed price or on a time-and-materials basis can lead to over or underestimation of costs. Roles and responsibilities of the retained organization and service provider are often unclear and change from project to project. To develop appropriate delivery and price models, a retained organization should begin by assessing its capabilities, deciding on its strategic roles and establishing clear transfer points to the service provider with defined quality gates. Together with a successfully managed demand, this will allow agreement on better price models that combine flexibility with the service provider’s commitment to quality and skills.
5. Set up a best-practice SLA regime. Service Level Agreements for software development should go beyond timeliness, quality and budget. SLAs should also measure productivity (e.g., improvement of the ratio effort per functional volume), reliability and stability with an SLA that requires the retention of key staff. Concentrate on a few, effective SLAs and establish a fair but rigid regime.
ISG helps large and small IT departments create the right pre-conditions for successful AD outsourcing. Contact us to discuss further.