Keywords: Software Outsourcing, Offshore Development Centre, ODC, Maturity Model 1... With this model, communication would become more critical for the onshore stakeholders to understand
Trang 1A Maturity Model for Offshore Software Development
Centres
Han Hong Lu Hung Phi Nguyen
National Taipei University of Technology, Taiwan
Abstract
Software outsourcing has proven to be a great success for many companies worldwide CIOs from these
organizations develop IT strategies to support the vision of an enterprise in terms of growing their businesses
Delivering quality projects on time and within budget is a CIO’s promise to the other senior executives
Assessing and selecting mature offshore development centres (ODC) during their annual reviews becomes a
critical item on a CIO’s agenda In this paper, we are going to introduce a maturity model for an Offshore
Development Center It makes no significant difference whether the centre is wholly owned by the
organization initiating software projects or it is a 3rd-party partner of this organization The model has been
developed based on best practices of 3 well-known international banks managing offshore software projects
across countries and time zones This model works well to serve the aforementioned Wall Street firms’ IT
strategies For non-banking industries, this maturity model works just as well, as these best practices are not
industry-specific
Keywords: Software Outsourcing, Offshore Development Centre, ODC, Maturity Model
1 Introduction
Trang 2Outsourcing is the business practice of hiring a party outside a company to perform services
or create goods that were traditionally performed in-house by the company's own employees and staff [1] Nowadays, to survive and excel in the fierce competition in any business requires entrepreneurs and senior executives to be on a constant search of new ways to do business that are more cost-effective and more productive In the early 1990s, software outsourcing started gaining popularity as a strategy to save costs initially Ever since then, going offshore
to find software providers to support their business has turned out to be a success story for more and more organizations worldwide
Working with an offshore development centre, also known as an ODC, has the benefit of reducing operational costs Additionally, a company can also get access to a larger talent pool
by outsourcing software projects With this different approach of conducting business, companies can stay more focused on their core competencies while keeping up with the newest technologies to maintain a competitive edge
At the same time, however, many possible issues may arise during the process due to the way outsourced software projects are developed – they are managed, designed, constructed and tested by employees of another company at a remote location
With this model, communication would become more critical for the onshore stakeholders to understand project status, build trust with the offshore teams and have control in terms of quality and timelines of
Trang 3deliveries Therefore, partnering with a mature offshore development centre that fulfils all the needs determines the success of an organization’s outsourcing strategy
In this paper, we are going to introduce a maturity model for an ODC either wholly owned by the organization initiating software projects or as a third-party partner of this organization The model has been developed based on best practices of 3 well-known international banks, managing offshore software projects with distributed teams across LATAM (Latin America), EMEA (Europe, the Middle East, and Africa), and APAC (Asia and the Pacific Region countries) This model works well to serve the aforementioned Wall Street firms’ IT strategies For non-banking industries, this maturity model would work just as well because most of these best practices are not banking industry specific
2 Key functions and best PRACTICES
Fig 1
The organizational structure of an ODC can be defined according to its operational model and management style However, necessary functions have to be put in place for the centre to function well and serve happy clients With the three global banks I have worked with as a department head at their offshore centres, these key functions include the Software Development Division, the Project Management Office (PMO), Finance, Human Resources,
Trang 4Vendor Management, Billing, Compliance, Legal, Information Security, and Administrative Support, etc Please see Fig 1 above for a visual structure
For a bank-owned offshore software development centre, these functions roll up their reporting lines within the bank’s technology group For a third-party centre, their development teams are structured as extensions of the onshore teams while having their own organizational chart for the other key functions within the company
Trang 5In this section, we are going to look at these key functions and highlight some of the most important programs, processes, and submodels that are considered as attributes of a ‘mature’ ODC Please note that all the following discussions are based on my first-hand experience working at the banks’ offshore software development centres between 2010 and 2013 My role was a business unit manager, supervising between 80 and 280 offshore technical resources The 3 banks’ names are not disclosed as I was neither forbidden from nor given explicit permission for sharing this information with the public audience
3 The Development Division
Structure
The development division is the body of all technical resources providing software development services Normally it is divided into different departments, business units or teams For a centre that supports global and regional projects across multiple countries, the total size of their development teams indicates their potential capacity for delivering large-scale projects This type of development centres are normally third-party providers For a centre that supports business of a single company, the total number of developers often varies from hundreds to thousands They are normally based
at a single location or have multiple offices within a same country A centre of this type is more likely a wholly owned subsidiary of the company itself
Again, for a wholly owned subsidiary centre, reporting lines of their development teams go
up to the respective onshore teams For a third-party centre, onshore team managers do not see their counterparts as their direct reports; yet they have dominant influencing power on these offshore managers’ annual performance reviews, promotion and career development, etc
At a wholly owned subsidiary centre, its technical resources are composed of its own employees and contractors Contractors are software developers from other companies (vendor companies) that work on project tasks on a contract basis At the 3 banks, the employee/contractor ratio within each development team varies between 15:85 and 50:50 Basically the higher the ratio, the higher the per-head cost is Within each project team, a cost-effective mix of the resources is the 1:3:6 mix among team leads, senior and junior developers This mix has been market proven and also widely adopted at the three Wall Street banks I worked with
By the way, other than saving cost, another benefit for having contractors on each team is the great flexibility for project resource ramp-ups and ramp-downs With frequent change in business requirements, project resources often need to be added or removed with very short notices With contractors, project managers and Human Resources do not have to deal with employment contract termination or extension, which can cause legal issues with permanent employees
Capability Model
For a software development team, the top three measures of their overall competitiveness are communication skills, application knowledge and technical capability Offshore teams are often based in a country where the local language is different from that of the onshore team’s The offshore team either has to communicate in a language that is the media of communication for the onshore team or they both have to speak a foreign language, most often English, at work
Consequently, the offshore team is often required to hire resources fluent in a foreign language that allows both parties to communicate in a professional work environment Note that communication skills do not merely mean the ability to use a certain language With a sufficient level of language fluency, a good communicator should also be mindful of cultural
Trang 6and mind set differences during a conversation This is a very valuable skill for all offshore resources, especially for those holding manager positions at the offshore organization
Trang 7Technical Capability
In the above three areas, offshore resources’ technical capabilities are always assumed It is very important that offshore developers are up to date with the latest technologies or tools by continuous learning One not-so-obvious issue related to this self-improvement in the technology space is that software professionals are advised to read English technology books, use English online resources, and join international online communities, as English is the most dominant language in the software outsourcing industry I learned from my personal experience that not knowing English technology terms is taken as not being competent in technologies by the onshore colleagues, which can be an unfair view of the offshore team’s real technical capabilities The key point I would like to make here is offshore developers are often judged by how good they appear to be during technical conversations For those who do not participate actively in conference calls, email discussions, meetings will definitely be labelled
as mediocre or even weak people by managers regardless of how much valuable work the person has done to the team
One practical issue though is most English technology books are fairly expensive and yet have a comparatively short shelf life For many software developers, it is an expense that they want to avoid bearing One proven solution is a small collection of the most recent technology books owned and managed by each department within an ODC’s development division
Communication Model
Communication is the most significant element that influences the overall client satisfaction This maybe a little counter-intuitive in that we normally believe delivery quality should influence client satisfaction the most To understand this puzzle, we need to know that delivery quality does not have a mathematical formula to compute with Conversely, it is greatly influenced by human subjectivity, which is heavily affected by communications on different levels between the onshore and offshore teams Having said that, we do not mean that delivery quality is unmeasurable and unimportant Communication cannot change a fact that low quality software won’t support any business successfully But in reality, a project delivered on time and within budget can be still considered ‘unsatisfactory’ if communications do not go well during project development
Communication models between onshore and offshore teams often fall into two types – a centralized model and a parallel model A centralized model heavily relies on offshore managers and team leads for communications on all issues between the two groups Offshore developers do not get involved in any discussions with their onshore counterparts They work closely with their local team lead on progress, issues, and questions, etc A lot of times, offshore project managers are asked to work onshore on a rotation basis That way, each offshore team has one communication channel with their onshore colleagues For a centralized model, managers of both sides receive project status updates by weekly reports, conference calls and/or face-to-face meetings
A parallel model requires direct communication between the two teams over conference calls, emails, and communicators The advantage is enhanced transparency and more responsive updates One thing to note is, for the offshore team, this many-to-many relationship
in communication may cause inconsistent or even conflicting messages going through different channels In this case, rules for providing status information on project progress, ETA, or resource change need to be managed properly within the team This is an area that may create serious trust issues if not managed carefully
With the banks I have worked with, one of them used a centralized model while two other banks used a parallel model Both worked fairly well for their communication needs
Career Development Programs
Trang 8Offshore development teams normally experience high attrition rates due to the nature of the business In India, attrition rates in the outsourcing industry range between 15 – 50% a year [3] In China, on average, a complete offshore team gets replaced by brand new people in
3 years, according to my own experience managing offshore teams based in 3 Chinese outsourcing hubs - Shenzhen, Shanghai and Dalian There are
Trang 9many reasons for this high attrition issue, among which how much you care about their career development is a major one
Offshore development teams should have career development programs that address the whole team as well as its core team The core team, also known as the ‘middle layer’ at many centres, is considered the backbone of the whole team, which includes resources strong in communication, application knowledge and technical skills It is comprised of permanent staff and contractors in different roles that include project managers, team leads, senior developers and junior developers Building a strong ‘middle-layer’ within each development team or a business unit is critical for maintaining team stability, talent retention, client confidence, etc
To each individual within the core team, there is a clear career path laid in front of them, which motivates people to stay longer with the company
Career development programs have similar sub-programs among different ODCs Most of them focus on these aspects such as upskilling, work site rotation, job rotation and mentoring etc
Technical resources at an ODC commonly have stronger technical skills than their communication and presentation skills (in English) This is often true even for senior resources like offshore project managers and team leads Improving these soft skills requires continuous practice over a longer period of time All my previous supervisors at the banks suggested that key resources in my department conduct biweekly or monthly teaching or training sessions on the applications they were supporting It had to be done in English using Power Point slides The audience was all resources in the department scheduled by each team managers for each session
Giving presentations not only improves one’s ability to present your work to onshore colleagues, achieving recognition, but it is also an important part of sharing knowledge to co-workers The ability to do so effectively can greatly enhance one’s career success The audience receives knowledge helpful to their day to day work but also provides feedback to the presenter on the content and delivery of the presentation
Work site rotation means offshore resources get a chance to work onshore for a certain period of time Every year, a rotation plan is made with onshore project managers to secure a budget for a number of resources During the year, resources from the offshore core team are deployed to the onshore site so they will be working face to face with otherwise remote colleagues It plays a key role for their learning, making personal connections and building trust with onshore colleagues
Job rotation is often organized at the company level, not department level It is part of a corporate initiative for employees’ career development addressing those with exceptional performance ratings It is a supplementary program for career development as it only addresses a very small percentage of employees
The mentoring program is often driven by the head of a department within the development division It is normally conducted monthly, focusing on a different topic every time The audience is the whole department Here are examples of some good topics for such mentoring sessions –
How to communicate effectively (in English) at the workplace?
How to choose/build a career path right for yourself?
How to make yourself comfortable at the workplace?
How to become a very technical person here?
Do I need international work/study experience to be successful on this job?
Trang 10At one large offshore subsidiary centre I have worked for, statistics provided by the Human Resources Department showed that departments with more regular ongoing career development programs have clear negative correlations with their attrition rates A department having a core team development program has substantial lower attrition rates on their permanent employees compared with those that do not have such one For instance, the department I was heading had lost 2 permanent employees out of a total of 45 during 2011 –
2013, including one internal transfer to the regional technology centre in Singapore and the other one a termination of employment contract, also known as ‘Attrition Non-Regret’ A peer department that did not