Speed is a competitive advantage
Industrial companies must maintain a rapid pace of innovation – or better yet, increase it. To do so, they must develop and perfect their core competencies continuously, and the software they use is no exception. This is the only way that companies can produce better products in ever shorter product cycles, despite increasingly complex products, rising cost pressures and the scarcity of specialist software engineers.
Simple process depth an obstacle to outsourcing
In principle, the solution is simple. Near and offshoring enable efficient, fast and cost-effective completion of software projects by foreign specialists. Yet for many companies, outsourcing such projects presents difficult challenges. First, because processes have developed over time and communication is structured informally, and partly because the relevant expertise is limited to just a few individuals and documentation of some projects is incomplete.
External partners lighten the load on internal developers
In order to outsource software development, a company would have to improve these factors. But this is often impossible as internal developers are busy with other projects and lack the time to analyse and improve processes. In this situation, companies need external help; for instance, from an outsourcing partner that understands their requirements and finds pragmatic solutions (see Fig. 1).
Fig. 1: Project Organization Structure
Ramp-up phase as a basis for project management
The most important task for an external partner is to analyse, define and synchronise the necessary tasks, processes and roles at the interface between the parent company and the development site. The ramp-up phase is crucial for the collaboration and about three months should be expected for medium to large projects. This time is critical for the knowledge transfer: the developers need to learn as much as possible about the domain, products and project – preferably at the client's location.
The more robust the basis, the better the teamwork
After the ramp-up phase, all structures and methods should be clear to everyone and documented in the project manual. The objective is a common understanding of processes, organisation, infrastructure and tools. Issues of data security and data ownership must also be clarified. Data may be transmitted only via private encrypted networks, and all critical data, such as code repositories, should be secured by the client on its server.
Agile methods increase the benefits of outsourcing
If the project collaboration is controlled correctly, it becomes easier to employ agile development methods such as Scrum, although most industrial companies work with phase-oriented development processes. This enhances cost savings, flexibility and the quality of nearshore and offshore projects, and reduces the important time-to-market factor.
Real-world example: new software in just four months
A large global company has just four months to develop a software component. As time and resources are scarce, the company decides to outsource development. Despite the tight schedule, the outsourcing partner proposes setting aside one month for the ramp-up phase to clarify the requirements and clearly define the change management process.
Investing more time in the ramp-up phase pays dividends
The ramp-up phase is relatively long, but it pays off. The software developers understand all requirements from the outset and implement them easily and efficiently. Thanks to the efficient change management process, even requirements that arise during the development process can be handled systematically without causing delays. The result is that the software component is completed on time and at the desired quality.