The buzzword ‘outsourcing’ has been a much talked about trend in global business for decades and it’s more prevalant than ever. Faced with an increase in globalisation and the need to cut costs while ramping up productivity, organisations are moving services, processes and product development abroad – or simply out of house. One core function being outsourced more and more is application development.
For many, outsourcing development will be the best decision they ever make because it promises cost savings and increased profits. Others are not so fortunate. Roughly 47% of outsourcing projects are being cancelled before they’re completed, according to research from Diamond Technology Consultants. Once you bring in a team of outside developers and consultants to take on specific areas of your application development, daunting challenges can appear, not least of which is maintaining communications and cohesiveness among the entire development team.
Since you can’t rely on an outsourced organisation to share your IT culture or understand your rules, it’s imperative that you have systems in place to ensure everyone is communicating well and moving in the same direction. Fortunately, Application Lifecycle Management (ALM) solutions are designed to help meet this challenge. With ALM you gain control, processes, visibility and accountability at each stage of the development cycle.
DECIDING TO OUTSOURCE – THE BENEFITS
What if someone told you that you could double the size of your application development organisation without increasing cost; or that you could take advantage of a pool of skilled engineers in a wide variety of technologies without having them all on your payroll? Now more than ever, businesses understand that linking technology with best practices is the way to gain and maintain competitive advantage. Successful organisations are responding with outsourcing strategies -- understanding that evolution and adaptation of business processes are essential for survival.
Outsourcing promises a list of benefits that you could probably find on any CIO’s wish list:
• Add high skill/low cost resources to your development team
• Add new areas of technical competency
• Increase delivery predictability
• Increase productivity
• Rapidly access additional staff resources in response to shifts in demand or for specific project needs
• Increase flexibility in managing staff budget
Taking advantage of the significant benefits offered by outsourcing while maintaining communications and cohesiveness across teams will ultimately be the difference between success and failure.
DECIDING TO OUTSOURCE – THE MUST-HAVES
Keeping control in your court
Maintaining management control is a critical factor for successful outsourcing. If you lose control of the processes, the promised benefits of outsourcing will never be realised. You need visibility into the project backlog, resource allocation, and current status. You need confidence that the process you defined is enforced and automated, regardless of where the development is occurring. If you’re subject to compliance or best-practices audits, you must ensure that the appropriate tracking and reporting is in place for all development locations. All of these can be addressed by ALM.
Process visibility
One of the most important ingredients of your ALM solution is that it puts everyone involved—IT managers and developers, whether outsourced or in-house—onto the same solution. IT managers gain the much-needed visibility into the development processes—who’s doing what, how they’re doing it, how long it takes, and when goals are being met or missed. Developers gain a clear view into what they need to do next and, most importantly, what's been done by other developers, whether they’re in the next cubicle or in India. This eliminates any wasted duplication of efforts. And this visibility is critical to the management of outsourced software development processes because without it, neither process definition nor measurement can occur.
Traceability for compliance
We all know regulatory compliance is no easy exercise for organisations large or small, so when you add a team of consultants across the globe into the mix, you have a whole new layer of complexity. But with ALM it doesn't really matter. Since the outsourced team works from your ALM solution, you have a built-in, structured, repeatable, and auditable software development process. Compliance is simply a matter of setting up the appropriate processes and generating the necessary reports. The solution enforces your compliance strategy and stores the necessary historical information, regardless of the location of the users.
Managing access
ALM solutions are absolutely essential for remote, outside development teams to successfully work with the organisation. With ALM, you can carefully restrict access and ensure that only those parts of your code base that you wish to make available are accessible. A sophisticated ALM solution has both access control of software components and control for application releases. It provides the ability to grant access to a particular release of code or to create a specific release just for outside exposure. This limits exposure of the code base to outsiders and limits access to proprietary software.
In addition, a complete ALM solution can combine task management with access control and release management for efficient, managed outsourced development. A development manager can specify tasks for code that’s released to remote developers and manage geographically distributed developers as easily as in-house developers.
Milestone checking
Since outsourcing contracts typically contain service-level agreements, it’s necessary to have solutions in place to check compliance. What better way to ensure you’re getting what you paid for than to have an ALM solution tracking every project and every piece of code that’s touched by the outsourcer? IT managers can track and manage every task throughout its lifecycle and proactively manage the outsourcing relationship. The solution provides the accountability necessary to enforce the terms of the contract and to facilitate the productive use of the outsourcing resource.
INDUSTRY EXAMPLE
One of the world’s largest international insurance companies is outsourcing a significant number of application development projects, and is using the Aldon application lifecycle management technology to ensure all involved - IT managers and outsourced or in-house developers - are on the same solution. This means that the communication, coordination and visibility of the applications being worked on in different areas is manageable.
With developers knowing what they need to do next and what has been done by developers around the world, duplication of efforts is eliminated and management can define and measure progress.
Another additional benefit that this insurance house has seen is being able to track the costs of performing a particular service. The technology maintains information about the benefits that the organisation expects to receive and what they actually receive, which allays the business’ overall greatest fears – that the effort won’t pay off.
OVERCOMING OUTSOURCING FEARS WITH ALM
According to the London School of Economics, by 2012 over half (58%) of the average corporation’s IT budget will be spent on outsourcing. To ensure success, the requirement for improving the management of outsourced development is becoming more apparent. By adding an ALM solution to the outsourcing formula you can address the development needs of developers, IT managers and CIOs alike, as they embark on new development initiatives like Web 2.0 and service-oriented architecture. Appropriate use of the solution allows IT organisations to take advantage of the flexibility, productivity and cost savings offered by outsourcing without sacrificing management control. At the same time it will help organisations remain competitive in their quest to evolve with trends in the industry.