Ngày nay hầu hết các công việc CNTT được khoán ngoài nhiều nhất đều trong kiểm thử phần mềm.

Theo nghiên cứu mới nhất, thị trường hiện thời về dịch vụ kiểm thử được khoán ngoài được ước lượng quãng $23 tỉ đô la Mĩ. Vài năm trước đây, phần lớn công việc kiểm thử được khoán ngoài đều đi sang Ấn Độ nhưng chi phí làm kinh doanh ở đó đã tăng lên đáng kể cho nên khách hàng bắt đầu chuyển sang gửi việc cho Trung Quốc. Tuy nhiên, ngày nay chi phí kiểm thử phần mềm ở Trung Quốc cũng tăng lên nên nhiều công ti bắt đầu tìm các nước mới nơi lương vẫn còn hợp lí.

Tuy nhiên, lấy được công việc làm khoán ngoài về kiểm thử là một thách thức, đặc biệt với những nhà cung cấp mới. Vấn đề họ phải giải quyết là:  kĩ năng ngôn ngữ và kĩ năng kĩ thuật của công nhân, xung đột khi các tổ kiểm thử tách biệt với các tổ phát phát triển, cấu hình của môi trường kiểm thử, công cụ kiểm thử và phương pháp kiểm thử, kịch bản kiểm thử, quản lí hợp đồng khoán ngoài, giám sát tiến độ kiểm thử và giữ cho khách hàng được hài lòng để duy trì quan hệ tốt hơn.

Trong số tất cả những vấn đề này, nhiều nhà cung cấp làm khoán ngoài bảo tôi rằng trao đổi, hoặc việc thiếu nó hoặc vượt quá nó, là vấn đề số một. Họ bảo tôi rằng các khách hàng phương Tây (châu Âu và Mĩ) có xu hướng cho các nhà cung cấp làm khoán ngoài các sản phẩm cần được kiểm thử rồi mong đợi họ làm bất kì cái gì cần thiết để cho công việc được hoàn thành, về thời gian, về lịch biểu, và trong phạm vi chi phí đã được thương lượng. Họ không trao đổi nhiều hơn cần thiết bởi vì họ thường bận rộn. Ngược lại, các khách hàng châu Á (Nhật Bản, Hàn Quốc, Singapore) thường hỏi các câu hỏi, kiểm tra tiến độ, giám sát mọi thứ gần như trên cơ sở hàng ngày. Kiểu “vi quản lí” này yêu cầu trao đổi thường xuyên giữa khách hàng và nhà cung cấp và tiêu tốn nhiều nỗ lực.

Có giải pháp cho vấn đề này. Tôi khuyến cáo rằng các nhà cung cấp làm khoán ngoài tạo ra bản kế hoạch hiệu năng kiểm thử như một phần của thoả thuận mức dịch vụ (SLA) giữa hai bên. Bản kế hoạch xác định phạm vi của dự án dưới dạng dịch vụ mà bên cung cấp việc làm khoán ngoài đưa ra cho khách hàng, khối lượng công việc sẽ được chuyển giao, và tiêu chí chấp nhận về tính đáp ứng và chất lượng công việc. Bản kế hoạch cũng đặt mong đợi cho cả hai bên và cung cấp mục tiêu cho đo chính xác hiệu năng theo những mục tiêu đó. Phần quan trọng nhất của bản kế hoạch là độ đo hiệu năng. Trong quá trình làm công việc khoán ngoài, những độ đo này sẽ được dùng để đo hiệu năng của nhà cung cấp và xác định liệu nhà cung cấp có đáp ứng cam kết của mình hay không. Bằng việc có những độ đo này trên cơ sở đều kì như hàng tuần, hàng tháng với khách hàng, nhà cung cấp có thể tránh được “trao đổi không cần thiết” hay bị “vi quản lí” bởi khách hàng.

Những độ đo này có thể là trên sản phẩm, dự án, qui trình, con người hay giá cả. Nó dựa trên điều khách hàng muốn theo dõi công việc kiểm thử được khoán ngoài. Nó là tương đối dễ áp dụng và những độ đo này có thể được kiểm điểm và được chấp thuận bởi khách hàng trong thương lượng hợp đồng. Bản kế hoạch hiệu năng kiểm thử có thể được áp dụng cho đa dạng những việc có kiểm thử tham gia như tự động kiểm thử, kiểm thử hiệu năng, kiểm thử tích hợp, kiểm thử chức năng, kiểm thử hệ thống, kiểm thử hộp trắng, và kiểm thử an ninh v.v.. Chẳng hạn, với độ đo dự án, nhà cung cấp làm khoán ngoài có thể báo cáo về nỗ lực kiểm thử và năng suất kiểm thử. Với độ đo qui trình, nhà cung cấp làm khoán ngoài có thể báo cáo về chỉ số dò rỉ lỗi, đáp ứng thời gian để sửa lỗi, hay tuân thủ qui trình, nếu khách hàng yêu cầu nhà cung cấp tuân theo qui trình của họ. Với hiệu năng sản phẩm, nhà cung cấp làm khoán ngoài có thể báo cáo về bao quát kiểm thử, đáp ứng thời gian để tìm ra lỗi. Với hiệu năng con người, nhà cung cấp làm khoán ngoài có thể báo cáo về dữ liệu tiêu hao dự án, dữ liệu thay người của tổ. Với hiệu năng giá, nhà cung cấp làm khoán ngoài có thể báo cáo về các độ đo biến thiên giá, mức độ nỗ lực, giá trị thu được.

Tất nhiên đây chỉ là vài ví dụ. Nhà cung cấp làm khoán ngoài nên hỏi khách hàng về loại độ đo nào họ muốn có để cho họ có thể trao cho khách hàng đủ thông tin về tiến độ của công việc làm khoán ngoài cũng như cách nhìn chính xác về hiệu năng của nhà cung cấp làm khoán ngoài. Bằng cách đáp ứng kiểu dự ứng thay vì đáp ứng kiểu phản ứng với nhu cầu của khách hàng, nhà cung cấp làm khoán ngoài có thể quản lí các hoạt động kiểm thử một cách tương ứng và đạt tới sự hài lòng của khách hàng.

—-English version—-

Testing performance Plan

Today most outsourced IT works is in software testing. According to the latest study, the current market of outsourced testing services is estimated around $23 billion USD. Few years ago, most testing outsourced works went to India but the cost of doing business there had increased significantly so customers began to send works to China instead. However, today the cost of software testing in China is also increasing so many companies begin to look for new countries where the wage is still reasonable.

However, getting testing outsourced works is a challenge, especially to new providers. The issues they must solved are:  language skills, knowledge and technical skills of workers, conflicts when separate test teams from development teams, the configuration of testing environments, test tools and test methods, testing scenarios, manage outsourced contract, monitor testing progress and keep customer happy to maintain better relationship.

Among all these issues, many outsourced providers told me that communication, either the lack of it or the excess of it, is the number one problem. They told me that Western customers (European and the U.S) tend to give outsourced providers products to be tested then expect them to do whatever necessary to get the work done, on time, on schedule, and within the negotiated cost. They do not communicate more than necessary because they are often busy. On the contrary, Asian customers (Japan, Korea, Singapore) often ask questions, check progress, monitor every things almost on a daily basis. This type of “Micro-management” requires constant communication between customers and providers and consumes a lot of efforts.

There is a solution to this problem. I recommend that outsourced provider create a Testing Performance Plan as part of the Service Level Agreement (SLA) between the two parties. The plan defines the scope of the project in terms of the services that the outsourced provider offer to the customer, the amount of work that will be delivered, and acceptance criteria for responsiveness and the quality of the works. The plan also set expectations for both sides and provides targets for accurately measuring performance against those objectives. The most important part of the plan is its performance metrics. During the course of the outsourcing work, these metrics will be used to measure the provider’s performance and determine whether the provider is meeting its  commitments or not. By having these metrics reported on a periodic basis such as weekly, monthly to customer, providers can avoid the “unnecessary communication” or being “Micro-managed” by customer.

These metrics can be on the product, the project, the process, the people or the price. It is based on what customer would like to track for the outsourced testing work. It is relative easy to apply and these metrics could be reviewed and approved by the customer during contract negotiation. The testing performance plan can be applied to wide variety of testing engagements such as test automation, performance testing, integration testing, functional testing, system testing, white box testing, and security testing etc. For example, for project metric, outsourced provider can report on test effort and test productivity. For process metric, outsourced provider can report on defect leakage index, time response to a fix defect, or process compliance, if customer requires provider to follow their process. For product performance, outsourced provider can report on test coverage, time response to find a defect. For people performance, outsourced provider can report on project attrition data, team turnover data. For Price performance, outsourced provider can report on price variance, level of efforts, Earned Value metrics.

Of course these are just few examples. Outsourced provider should ask customer on what kind of metrics that they want to have so they can give customer enough information about the progress of the outsourced work as well as an accurate view of the performance of the outsourced provider. By pro-active response rather than reactive response to customer’s needs, outsourced provider can manage the testing activities accordingly and achieve customer satisfaction.