09 Apr, 2021
Xu hướng toàn cầu trong phát triển phần mềm
Ngày nay phát triển phần mềm đã tiến hoá nhanh chóng để đáp ứng nhu cầu cao của công nghiệp. Vài năm trước đây khoán ngoài đã là xu hướng để giảm chi phí nhưng ngày nay chi phí không còn là vấn đề mà kĩ năng mới là vấn đề chính khi các công ti cạnh tranh lẫn nhau về số người tốt nghiệp máy tính ít hơn. Theo một dự báo công nghiệp, việc thiếu hụt nghiêm trọng này về công nhân có kĩ năng có thể kéo dài cho tới mười hay hai mươi năm nữa cho nên các công ti phần mềm đang đổi chiến lược của họ để điều chỉnh theo xu hướng này.
Ngày nay nước thành công như Ấn Độ cũng không thể tạo đủ công nhân có kĩ năng để đáp ứng nhu cầu toàn cầu. Một người điều hành Ấn Độ thừa nhận: “Trong nhiều năm chúng tôi đã thành công với kiểm thử và viết mã. Chúng tôi đào tạo hàng triệu sinh viên trong khu vực này nhưng nhu cầu toàn cầu đang thay đổi sang phát triển giải pháp toàn bộ. Chúng tôi sẽ phải mất thêm vài năm nữa để thay đổi giáo trình của chúng tôi đáp ứng cho nhu cầu mới.” Vì một số thay đổi xảy ra nhưng chất lượng của đào tạo là có vấn đề. Ngay cả nhóm công nghiệp công nghệ thông tin (CNTT) Ấn Độ cũng thừa nhận rằng việc đào tạo đám đông không có tác dụng như mong đợi. Hiện thời trên 75% người tốt nghiệp CNTT Ấn Độ không có kĩ năng để làm việc trong công nghiệp. Một người quản trị nhà trường Ấn Độ giải thích: “Không khó đào tạo người chỉ để viết mã hay tiến thành kiểm thử. Chúng tôi có thể đào tạo hàng triệu người trong sáu tháng tới một năm nhưng với toàn thể vòng đời phát triển; với giải pháp phần mềm toàn bộ sẽ cần kiểu đào tạo khác. Chúng tôi phải lựa chọn người đúng; chúng tôi phải dùng các phương pháp dạy khác vì điều đó cần thời gian và không thể nhanh được. Đó là lí do tại sao chúng tôi thất bại bởi vì có khác biệt lớn giữa đào tạo số lượng và đào tạo chất lượng.”
Thiếu hụt công nhân có kĩ năng đã mở ra cơ hội cho Trung Quốc, một nước với hàng triệu người tốt nghiệp máy tính mỗi năm. Tuy nhiên Trung Quốc không thể đáp ứng được nhu cầu toàn cầu bởi vì khiếm khuyết ngôn ngữ. Một người điều hành phần mềm than: “Chúng tôi có hệ thống giáo dục tốt; chúng tôi có những người tốt nghiệp có kĩ năng để thực hiện toàn thể việc phát triển phần mềm. Chúng tôi rất có tính lựa chọn trong hệ thống trường học của chúng tôi vì sinh viên phải qua kì thi với điểm cao để được vào hệ thống đại học. Họ phải bắt kịp với chương trình đào tạo nghiêm ngặt của chúng tôi nhưng một điều chúng tôi đã không hội tụ vào là sự thành thạo tiếng nước ngoài. Trên 85% người tốt nghiệp CNTT của chúng tôi không nói tiếng Anh tốt. Chúng tôi mất cơ hội lớn để cạnh tranh với Ấn Độ về thị trường toàn cầu.”
Trong thị trường cạnh tranh ngày nay, tốc độ là qui tắc. Các công ti phần mềm phải tạo ra phần mềm nhanh nhất có thể được để đáp ứng cho nhu cầu công nghiệp và nắm bắt thị trường. Một cách mới để điều chỉnh theo điều này là phát triển phần mềm theo tổ toàn cầu dùng các công nhân có kĩ năng trên khắp thế giới. Các công ti có thể phát triển phần mềm nhanh hơn bằng việc làm nó trong 24 giờ một ngày. Khi tổ này hoàn thành công việc của họ và về nhà, tổ khác tiếp tục công việc ở nước khác; và bằng việc có các tổ trong ba múi giờ khác nhau, họ có thể phát triển phần mềm không ngừng.
Xu hướng mới nhất trong công nghiệp phần mềm là: Thay vì khoán ngoài cho Ấn Độ, các công ti đang phát triển phần mềm ở nhiều nước trên khắp thế giới. Thay vì dùng lao động rẻ, các công ti đang trả giá cao hơn để có công nhân có kĩ năng trong các khu vực đặc biệt mà họ được cần và nhu cầu này thường làm thay đổi nhu cầu thị trường. Thay vì hội tụ vào việc viết mã và kiểm thử, các công ti đang yêu cầu vòng đời phát triển toàn bộ tuân theo qui trình được xác định rõ; thay vì làm việc với nhiều công ti khoán ngoài, các công ti đang tự họ phát triển phần mềm (khoán trong) nhưng có nhiều tổ ở các nước khác nhau; thay vì hội tụ chỉ vào phát triển phần mềm, các công ti đang chuyển nhanh vào cung cấp phần mềm như dịch vụ, tính toán mây, phát triển di động, và thiết lập doanh nghiệp trong thị trường địa phương để mở rộng kinh doanh của họ trên toàn cầu.
Với toàn cầu hoá, nhiều công ti phần mềm đang tiến hoá thành công ti toàn cầu và mở rộng kinh doanh của họ ra thị trường toàn cầu. Thay vì chuyển việc sang một nước như Ấn Độ, họ bây giờ phát triển các tổ ở Trung Quốc, Đông Nam Á, và Đông Âu. Trong những năm qua, các công ti toàn cầu đang thiết lập các trung tâm phát triển ở nhiều vị trí trên toàn thế giới bởi vì với việc sẵn có lớn hơn về công nhân có kĩ năng, họ có thể thuê người nhanh chóng, tổ chức hiệu quả hơn, và phát triển phần mềm nhanh chóng đáp ứng cho cả nhu cầu toàn cầu và nhu cầu địa phương. Bằng việc có các tổ ở các múi giờ khác nhau, họ có thể phát triển phầm mềm 24 giờ (nguyên lí phát triển “Đuổi theo mặt trời”); và có sự hiện diện trong một thị trường địa phương, họ có thể hội tụ vào việc bản địa hoá ứng dụng, cũng như cung cấp dịch vụ hiệu quả hơn trong thị trường địa phương.
Với công nghệ thông tin, các thành viên tổ dùng email, hội nghị từ xa, và công cụ cộng tác để tạo điều kiện tương tác giữa các thành viên tổ và một yêu cầu then chốt cho những tổ này là thành thạo tiếng Anh. Một người điều hành phần mềm giải thích: “Điều quan trọng cho người phát triển phần mềm là biết tiếng Anh; nó là kĩ năng bản chất cho hôm nay và tương lai. Khi nhiều phần mềm sẽ được thực hiện trong các tổ phân bố, học tiếng Anh là quan trọng tương đương như học cách viết mã. Vì chúng ta sắp mở các trung tâm phát triển trên khắp thế giới, chúng ta cần người phát triển thành thạo tiếng Anh.”
—-English version—-
The new global trend in software development
Today softwares development has evolved rapidly to meet the high demand of industry. Few years ago outsourcing was the trend to reduce cost but today cost is no longer an issue but skills are a major issue as companies compete with each other for fewer number of computer graduates. According the industry forecast, this critical shortage of skilled workers may last for the next ten or twenty years so software companies are changing their strategies to adjust to this trend.
Today successful country like India could not produce enough skilled workers to meet the global demand. An Indian executive admitted: “For years we have been successful with testing and coding. We train millions of students in this area but the global need is changing to total solution development. It would take us few more years to change our curriculum to meet the new demand.” As some changes are taking place but the quality of training is questionable. Even India Information Technology (IT) industry group admitted that massive training does not work as expected. Currently over 75% of current Indian IT graduates do not have the skills to work in industry. An Indian School administrator explained: “It is not difficult to train people just to write code or conduct tests. We can train million of them in six months to a year but for the entire development life cycle; for total software solution would need different type of training. We must select the right people; we must use different teaching methods as it takes time and cannot be quick. That is why we failed because there is a big difference between quantitative training and qualitative training.”
The shortage of skilled workers has opened a good opportunity for China, a country with millions of computer graduates each year. However China could not fulfill the global demand because of language deficiency. A software executive lamented: “We have good education systems; we have graduates who have skills to perform the entire software development. We are very selective in our school systems as students must pass tests with high score to get into university system. They must keep up with our strict training programs but one thing we did not focus is on foreign language proficiency. Over 85% of our IT graduate does not speak English well. We lost a great opportunity to compete with India for the global market.”
In today competitive market, speed is the rule. Software companies must create software as fast as possible to meet industry demand and capture the market. A new way to accommodate this is to develop softwares by global teams using skilled workers from around the world. Companies can develop software faster by doing it 24-hour a day. When one team completes their work and goes home, other team continues the work in another country; and by having teams in three different time zones, they can develop software nonstop.
The newest trends in software industry are: Instead of outsource software to India; companies are developing software in multiple countries around the world. Instead of cheaper labors, companies are paying premium price to get skilled workers in specific areas that they are needed and the need is constantly changing to market demand. Instead of focusing on coding and testing, companies are demanding total development life cycle following a well-defined process; Instead of working with multiple outsourcing companies, companies are develop software themselves (Insource) but having teams in different countries; instead of focus on software development only; companies are moving quickly into providing software as a services, cloud computing, mobile development, and established business in local market to expand their business globally.
With globalization, many software companies are evolving into global companies and expand their business into the global market. Instead of moving work to a single country such as India, they are now developing teams in China, South East Asia, and Eastern Europe. In the past years, global companies are establishing development centers in multiple locations worldwide because with a larger available of skilled workers, they can hire quickly, organize more efficiently, and develop software quickly to meet both global demand and local needs. By having teams in different time zones, they can develop software 24 hours (The “Follow the sun” development principle); and have a presence in a local market, they can focus on localization of applications, as well as providing service more efficiency in local market.
With Information technology, team members use email, teleconference, and collaboration tools to facilitate interaction among team members and the key requirement for these teams is English proficiency. A software executive explains: “It is important for software developers to know English; it is an essential skill for today and the future. As more software will be done in distributed teams, learning English is equally important as learning how to write code. Since we are opening development centers all over the world, we need developers who are fluent in English”.