1. Trang chủ
  2. » Luận Văn - Báo Cáo

A maturity model for offshore software development centres

18 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 197,33 KB

Nội dung

A 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 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 Outsourcing 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 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 deliveries 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 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 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, Vendor Management, Billing, Compliance, Legal, Information Security, and Administrative Support, etc Please see Fig 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 12 In 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 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 largescale 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 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 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 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 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 12 cultural and 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 12 Technical 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 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 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 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 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 faceto-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 Offshore 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 years, according to my own experience managing offshore teams based in Chinese outsourcing hubs - Shenzhen, Shanghai and Dalian There are many 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 coworkers The ability to 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? At 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 not have such one For instance, the department I was heading had lost 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 have an ongoing ‘middle layer’ program during the same period had ‘Regret’ losses out of a total of 50 permanent employees, which was over times of our attrition rate  Project Management Office (PMO) A project management office, abbreviated to PMO, is a group or department within a software company that defines and maintains standards for project management within the organization The PMO at an offshore software development centre strives to standardize and introduce methodologies, guidance and metrics on the practice of project management and execution Offshore development teams hand in their weekly timesheets to PMO for review and approval Offshore project managers have to turn in their project management plans and quality assurance plans to PMO for review and appraisal At many software development centres having a PMO, part of the annual performance reviews for offshore project managers comes from the PMO office For those managers who receive a weak rating will be offboarded to become a bench resource by the PMO office In practice, PMO also works as a liaison between project owners and offshore senior managers for evaluating offshore project managers’ performances, consequently improving timeliness of project deliveries and their quality  Finance To put simply, a Finance Department is the part of an organization that manages its money The business functions of a Finance Department typically include planning, organizing, auditing, accounting for and controlling its company's finances [3] The Finance Department of an ODC has similar responsibilities as any other organization’s Finance Department However, for a wholly owned subsidiary centre, profit maximization is often not a main objective as compared with a third party centre The reason is a wholly owned subsidiary centre’s main purpose is to provide predictability of software development cost to all internal project owners This predictability provides an important basis on which senior executives make their strategies, not only for the IT organization of the company So it is important that finance planning is done according to this main objective Rising human cost is a huge factor to consider when choosing offshore software providers, including its own subsidiary centres Not being able to manage costs within a given budget puts a CIO’s career at risk That is why CIOs prefer software centres having good team stability, project delivery quality, and hence predictable costs For one wholly owned subsidiary centre I have worked at, a fixed 10% net profit margin was one of the most important financial metrics on their income statement  Human Resources The Human Resources Department provides services to its own employees at the software development centre Contractors on development teams are not considered as employees It is the responsibility of Vender Management to take care of them for certain issues during the time they are put on projects The Human Resources Department’s scope includes these areas such as employee performance review, promotion, compensation, career development, training, employment contracts, headcount acquisition, etc As a wholly owned software development centre, its Human Resources Department does not have their own processes and models but follow the ones from those of the parent company or the onshore organization For the banks I have worked for as an offshore centre manager, attrition rates of their own employees by team are monitored and published every month Talent retention is a joint effort of both development team managers and Human Resources Every year, performance review, compensation review and promotion are conducted according to stringent guidelines received from Human Resources Before final results are announced, Human Resources will publish templates for conducting communication to all team managers Managers have to follow the templates during communication with their employees and provide written feedback on employee responses to Human Resources By following these guidelines and templates, the whole process becomes more transparent and more professional As the head of an online banking department with 235 contractors and 45 permanent staff, I lost permanent staff in total during years of my tenure there One was an internal transfer and the other one was a layoff That was a great achievement in terms of talent retention  Vendor Management It is a common practice that offshore software development centres hire contractors from other outsourcing companies to work on their projects Potential benefits are many – great flexibility for on- and off-boarding project resources with short notices, lower operational costs, extra talent acquisition channels, etc The Vendor Management Department is responsible for all vendor-related issues and typically has the following areas of work: select and manage vendor companies, hire, onboard, and offboard contractors according to staffing needs, monitor and review vendor performances, provide feedback to them, and develop relationships with the vendor companies, etc Vendor Management often works with multiple vendor companies selected during their annual reviews The number of vendors chosen depends on many factors but generally speaking the number should be kept manageable, often between and 10 Having multiple vendors is also a necessary strategy to get the best technical resources with short notices, competitive rates and 7x24 support to the business In recent years, there is a growing trend that the vendor management business gets outsourced from many offshore software companies Based on my personal experiences with the international banks, vendor management is considered as a critical function to the success of the outsourcing strategy Moving such a key function to a third party provider has to be done with great caution As of now, the three banks’ offshore providers I have worked for are still doing this with their in-house team  Billing The Billing Department works closely with Vendor Management, Project Management Office and the development teams to prepare billing documents and get them approved by all cost centre owners or project owners every month A popular billing model is a flat-rate model, which means project owners are billed by the number of resources working on their projects each month multiplied by a flat rate Technical resources, regardless of their seniority or role, charge a single rate that does not change during the year The rate gets reviewed annually by the senior management team of the centre and approved by the clients’ senior managers and their finance department A common practice with this model is that project owners normally ask for 5-10% bench (non-billable) resources on their project teams These bench resources are mostly junior developers (contractors) from vendor companies that are free of charge for a certain period of time, normally months For the vendor company, they need these junior resources trained on the job so later on it is easier for them to get hired as experienced billable resources For project owners, they often receive ad hoc or urgent requests from the business they support When that happens, they can quickly respond by deploying available (experienced) resources on these urgent needs and make them billable ones if they were not So this practice creates a win-win situation for both parties In case a bench resource does not become billable for an agreed upon period of time, the vendor company may choose to redeploy the resource to another project Overall, this flat rate charge model is popular in the industry All three ODCs I have worked at all used this charge model for billing the project owners  Legal Department According to Deloitte’s 2014 Global Outsourcing and Insourcing Survey [4], nearly two-thirds (65%–67%) of the surveyed organizations outsourced legal opinions and counsel, and more respondents (15%–23%) said they would plan to so For offshore software development organizations, having an in-house legal department is often neither cost-effective nor necessary Outsourcing its legal department is a popular practice as most of the time they are dealing with employees’ compensation and contract issues, which not occur on a regular and frequent basis For the offshore centres servicing the three Wall Street banks mentioned above, they all choose to work with a local law firm on a contract basis for their legal needs Between early 2010 and June 2013, the only occasions when legal assistance was needed are listed below for your information: o A dispute with a client company regarding a potential acquisition (at a third party centre) o A dispute with their employees regarding exercising their stock options (at a third party centre) o Negotiation on acquisition terms with an acquiring company (at a third party centre) o Termination of an employee’s contract who developed a mental disorder (at a wholly owned subsidiary) This gives a quick idea about how often and in which areas offshore software development centres need legal services It is obvious that having an in-house legal team to handle this amount of work during years was not cost effective at least This is why outsourcing its legal business to a third party provider becomes a more popular practice for an ODC  Information Security The Information Security Department at a wholly owned software development centre enforces the Intellectual Property Protection contract as its top responsibility For third party centres servicing multiple clients, they also have to ensure that a Non-Compete Agreement is strictly followed To help enforce them, the Information Security Department offers training sessions to all technical resources regarding the rules on source code management, password management, the use of email, data storage devices and cell phones at the work place, etc Other than training, they also conduct regular and random checks to make sure everyone follows the rules For violation of any of the rules, an employee or contractor would be subject to penalties ranging from a formal written warning notice up to, and including, termination of contract One extreme instance was a permanent employee of the bank was forced to resign due to his negligence of the email rule – sending source code to his personal email account Software source code is made inaccessible to anyone whose job does not require direct access to it, including the bank’s own employees So keeping one’s own passwords private for development, testing and production accounts has to be treated with great care Passwords written on notes pinned on cubicle walls, pasted on computer screens or put loosely on desktops are taken as a serious violation So is the use of USB drives or other storage devices for making copies of the source code At another bank’s offshore centre, bench resources are denied access to the work space of billable resources Entry control is done by activating and deactivating badges for opening turnstiles at the entrance Work from home is a popular practice for software developers at many companies But for offshore technical resources, it is only approved on a case by case basis and available only to permanent employees who have been with the company for a long enough period of time Information Security will also have to give approval on which computer can be used for this purpose So overall, Information Security is a key function for protecting one’s Intellectual Property when outsourcing IT projects overseas  Administrative Support The Administrative Support Department’s responsibilities can vary from centre to centre But basically they take care of everything that other functions not perform Let’s take one large offshore centre owned by a bank I have worked for as an example Their work scope covers business travel logistics, English teaching, onboard/offboard processes, new staff orientation, seat management, information system account management, and meeting room management, etc To control travel costs, all air tickets and hotel room bookings are done by the administrative support staff Employees’ business travel plans need to get approved before they are forwarded to Administrative Support Then one member of the support staff will be assigned as the responsible owner He or she would purchase air tickets and make room reservations through a partner travel agency according to the travel plan At the same offshore development centre, English training programs are made available to permanent employees all year round Contractor’s English programs are provided by respective vendor companies, which are coordinated and managed by each individual department under the Software Development Division The group of English teachers are contractors managed by the Administrative Support Department The rest of the administrative support team manages onboard/offboard processes, new staff orientation, seats, information system accounts, and meeting rooms as mentioned before  Compliance The Compliance Department is designed to ensure compliance with all applicable laws, rules and regulations [2] Depending on the business of the financial institution, these duties may range from monitoring trading activities, preventing conflicts of interest and ensuring compliance with regulations to prevent money laundering and potential tax evasion at large banks All employees of the ODC are required to maintain compliance in day-to-day activity, especially those having regular contact with the business department and clients In order to help satisfy this, an ODC should develop and offer annual continuing education courses that cover the various compliance-based topics The Compliance Department should also use special software that monitors incoming and outgoing communications employees have with the external parties In case any potential issues are detected , they will be forwarded to the Compliance Department for immediate review This is the only special function for wholly owned subsidiary centres of a financial institution Third party software providers not need a Compliance Department inside their organization  The maturity MoDel Based on the above best practices at the banks’ offshore development centres, we are suggesting a model that is illustrated below Onsite Development: Onsite Development is the service of providing the required number of software developers at our client's premises for certain duration, to carry out the software development process under their supervision This process gives us an opportunity to closely work in co-operation with client's representatives to ensure that the project is completed on/before time This process is also backed by our offshore unit to supervise the project remotely This type of services helps us to understand the client's requirements and expectations, intensely Onsite/ Offshore Combination: Onsite - Offshore is the combination Model of optimizing the efficiency and cost of Software Development We provide the required number of expert professionals at the client's premises, while the certain numbers of developers work offshore from our premises This service is provided to closely understand the customer's requirements through our onsite team and cost-savings of client is done due to offshore development centre Build - Operate - Transfer (B.O.T): Build - Operate - Transfer is an outsourcing model where the IT entrepreneurs prefer offshore outsourcing as a reliable solution to satisfy their technological needs This is the process of providing efficient developers to the client to get the work done Also, client's cost-saving is optimized since certain processes are carried out offshore These types of outsourcing services are ruling the market globally 4.Conclusion Achieving the expected result in serving an organization’s IT needs depends largely on the right choice of an offshore software development centre Whether you are considering finding a third-party ODC or building one for your own company, this model would give you deeper insights to help you make prudent decisions The above model works well to serve the Wall Street firms’ IT strategies For non-banking industries, this maturity model would work just as well, as these best practices are not industry-specific For IT start-ups or companies experiencing shortages of technical resources, a mature offshore software development centre can also be a great solution REFERENCES https://www.investopedia.com/terms/o/outsourcing.asp#ixzz5DN8Feqtg https://www.investopedia.com/terms/c/compliancedepartment.asp http://www.businessdictionary.com/definition/financedepartment.html https://www.computerworld.com/article/2549061/it-outsourcing/offshore-attrition-on-the-rise.html https://gorillalogic.com/blog/3-tips-for-protecting-your-intellectual-property-ip-when-outsourcing-your-softwaredevelopment/ https://www2.deloitte.com/content/dam/Deloitte/us/Documents/strategy/us-2014-global-outsourcinginsourcing-survey-report123114.pdf https://en.wikipedia.org/wiki/Project_management_office ... practices of 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... approval Offshore project managers have to turn in their project management plans and quality assurance plans to PMO for review and appraisal At many software development centres having a PMO, part... department within a software company that defines and maintains standards for project management within the organization The PMO at an offshore software development centre strives to standardize

Ngày đăng: 23/10/2022, 15:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w