Vấn đề với dự án phần mềm

GS John Vu12/12/2024 12:00
Vấn đề với dự án phần mềm

Theo nghiên cứu mới nhất về công nghiệp phần mềm Mĩ, nhiều dự án phần mềm vẫn thất bại với tỉ lệ cao mặc cho nhiều nỗ lực cải tiến.

Nghiên cứu này thấy nhiều lí do cho thất bại phần mềm, sau đây là năm lí do hàng đầu mà nghiên cứu này nhận diện ra:

Đa số người phát triển phần mềm không tính tới thời gian hiểu nhu cầu khách hàng. Họ không được đào tạo để trắc nghiệm các yêu cầu với khách hàng mà vội vàng qua ngay pha lập kế hoạch và thiết kế để sang viết mã. Thái độ “Mã trước, và hỏi câu hỏi sau” là nguyên nhân số một cho nhiều thất bại dự án. Cuối cùng, khi phần mềm được đưa ra, người phát triển mới thấy ra là điều họ làm không phải là điều khách hàng muốn và họ phải sửa lại nó và điều đó tốn nhiều thời gian và tiền bạc.

Đa số những người quản lí dự án không có kĩ năng để ước lượng tài nguyên, thời gian, kích cỡ và phạm vi dự án. Phần lớn những người quản lí hoặc ước lượng thấp nỗ lực hoặc ước lượng tất nhưng lại đặt kế hoạch theo lịch biểu được khách hàng trao cho họ. Họ quản lí dự án theo lịch biểu không hiện thực và làm cho dự án bị chậm. Bởi vì sức ép lịch biểu, nhiều người quản lí yêu cầu người phát triển bỏ qua kiểm thử để đáp ứng lịch cho nên sản phẩm phần mềm cuối cùng đầy lỗi, điều này làm cho công ti tốn kém nhiều tiền bạc và thời gian hơn để sửa chữa.

Đa số các thành viên tổ dự án không được đào tạo trong qui trình hay phương pháp phần mềm, họ không biết cách kiểm soát thay đổi với phần mềm, mất kiểm soát phiên bản phần mềm tạo ra các vấn đề lớn về tích hợp và kiểm thử, điều đến lượt lại tạo ra sản phẩm chất lượng thấp và chi phí nhiều hơn để sửa chữa.

Khi dự án bị trục trặc, người quản lí quyết định thêm người để “tăng tốc mọi sự” để đáp ứng thời gian theo lịch biểu. Điều này tạo ra thêm vấn đề, lẫn lộn, và gây ra sản phẩm chất lượng kém, điều gây chậm trễ và cuối cùng tốn kém nhiều hơn.

Nhiều giờ làm việc lâu tạo ra căng thẳng lớn cho thành viên tổ phần mềm. Nhiều người trong số họ bỏ qua vài bước trong qui trình phát triển như kiểm thử, kiểm điểm để đáp ứng lịch biểu, điều gây ra sản phẩm lỗi cao. Trong tình huống bị căng thẳng, các thành viên tổ sẽ tranh cãi lẫn nhau, oán trách nhau, và thế rồi giữ thông tin cho riêng mình thay vì chia sẻ. Thiếu thông tin tạo ra lẫn lộn, dư thừa, lỗi, điều lại gây ra nhiều vấn đề cá nhân cho dự án phần mềm. Bởi vì thất vọng, nhiều người rời bỏ công ti làm cho việc đổi người cao, điều là bổ sung thêm vấn đề cho dự án phần mềm.

Nghiên cứu này kết luận rằng tất cả các vấn đề trên đều được gây ra bởi việc đào tạo phần mềm kém ở nhà trường. Sau khi kiểm điểm lại giáo trình của nhiều đại học, tổ nghiên cứu lưu ý rằng đa số sinh viên không được dạy về kỉ luật kĩ nghệ phần mềm bản chất như kĩ nghệ yêu cầu, quản lí dự án, lập kế hoạch dự án, phương pháp và qui trình phần mềm, và làm việc theo tổ. Đào tạo hàn lâm hiện thời tập trung phần lớn vào ngôn ngữ lập trình, điều chỉ là một phần nhỏ của qui trình phát triển phần mềm.

Trong nhiều năm, công nghiệp phần mềm đã phàn nàn về thiếu đào tạo môn này trong đại học nhưng vấn đề vẫn còn chưa được giải quyết. Sự kiện là đào tạo các môn kĩ nghệ phần mềm yêu cầu kinh nghiệm công nghiệp nào đó mà nhiều giáo sư hàn lâm không có cho nên họ bỏ qua nó. Sự kiện khác là lĩnh vực phần mềm đã thay đổi nhanh thế và thật khó cho các giáo sư theo kịp với những thay đổi này. Nhiều đại học không muốn mạo hiểm danh tiếng của mình bằng việc chấp thuận cái gì đó mới mà họ không cảm thấy thoải mái.

Để đổi từ khoa học máy tính sang kĩ nghệ phần mềm yêu cầu thay đổi sâu sắc về lập kế hoạch phương pháp dạy và các bài học, điều đại học không thể đảm đương được. Như với bất kì thay đổi nào, dù xứng đáng đến đâu, bao giờ cũng bị chống lại.

Ngày nay, phần lớn các dự án phần mềm đều lớn và phức tạp. Sản phẩm phần mềm hiếm khi có thể được phát triển bằng tổ vài người. Các phương pháp hiện thời yêu cầu tổ phát triển được tổ chức theo cách sử dụng hiệu quả kĩ năng của mọi người. Có một số vai trò, trách nhiệm cho các thành viên tổ và họ phải được tổ chức tương ứng với tri thức, kĩ năng và kinh nghiêm như người quản lí dự án, người phân tích nghiệp vụ, chuyên viên mạng, người kiểm thử, người phát triển, đảm bảo chất lượng, chuyên gia cấu hình v.v.

Trong dự án lớn, trao đổi là mấu chốt cho nên khách hàng, người dùng, thành viên tổ phải làm việc cùng nhau và trao đổi với nhau trên cơ sở thường xuyên. Tuy nhiên làm việc tổ lại không được dạy trong các chương trình hàn lâm truyền thống và trong các trường hàn lâm truyền thống, bất kì cộng tác nào giữa các sinh viên đều bị coi là “gian lận” cho nên nhiều sinh viên vẫn gặp khó khăn trong làm việc cùng nhau.

Toàn cầu hoá bắt đầu làm thay đổi điều đó, khi các công ti có thể thuê người từ bất kì đâu và không nhất thiết phải thuê người trong biên giới nước họ. Với sự thiếu hụt người làm phần mềm trong ngành công nghiệp đang bành trướng nhanh này, nhiều công ti toàn cầu bắt đầu thuê người làm phần mềm và đưa họ vào công việc ở nước họ hay mở các tiện nghi ở nước cung cấp dư thừa về công nhân phần mềm. Mỗi năm, Mĩ phải đưa vào trên 80,000 công nhân phần mềm, phần lớn từ Ấn Độ qua chương trình thị thực đặc biệt H1B. Nhiều nước châu Âu đang làm cùng điều đó với các công nhân có đủ tư cách từ Nga, và Đông Âu. Tuy nhiên, vấn đề nền tảng vẫn còn là liệu những người làm phần mềm này có tri thức và kĩ năng đúng không?

Cuộc khủng hoảng tài chính bắt đầu làm thay đổi rằng, khi công ti chậm thuê người do ngân sách bị hạn chế, họ có nhiều thời gian để lựa người có kĩ năng đúng và đào tạo đúng. Thay vì thuê người có bằng cấp ở đại học, nhiều công ti đang áp dụng kĩ thuật phỏng vấn theo kịch bản để nhận diện công nhân có tri thức và kĩ năng đúng. Thay vì đi sang bất kì nước nào, họ nhận diện các nước có chương trình đào tạo tốt, đặc biệt chương trình đào tạo đang hiện hành cùng nhu cầu của họ. Theo nhiều người quản lí phần mềm, cuộc khủng hoảng tài chính này là việc chạy không ổn trong thời hạn ngắn nhưng việc lấy nhân viên là đầu tư dài hạn cho nên các công ti phải lập kế hoạch cho tương lai bằng việc nhận diện công nhân tri thức, người có khả năng tạo ra nhiều cơ hội hơn, nhiều sản phẩm tốt hơn cho doanh nghiệp của họ.

English version

Problems with software projects

According to the latest study of the U.S Software industry, many software projects are still failing at very high rate despite so many improvement attempts. The study found many reasons for software failure, following are the top five reasons identified by the study:

A majority of software developers do not take time to understand customers’ needs. They are not trained to verify requirements with customers but hurry through the planning and design phases to get to coding. This “Code first, ask question later” attitude is the number one reason for many project failure. Eventually, when software is released, developers found out that what they built was not what the customer wanted and they have to fix it and it costs a lot of time and money.

A majority of project managers do not have the skill to estimate resources, time, size and scope of the project. Most managers either underestimate the efforts or do not estimate at all but based their plans on the schedule given to them by customers. They manage projects according to an unrealistic schedule and cause projects to be late. Because of schedule pressure, many managers asked developers to skip testing to meet the schedule so the final software product is full of defects which in turn cost the company more money and time to fix.

A majority of project team members are not trained in software process or methods, they do not know how to control changes to the software, losing control of software versions resulting in significant integration and testing issues which in turn create low quality products and cost much more to fix.

When project is in trouble, managers decide to add more people to “speed things up” to meet schedule dateline. This creates more problems, confusions, and result in poor quality products that are late and eventually cost more.

Long working hours creates significant stress for software team members. Many of them skip few steps in the development process such as testing, reviewing to meet the schedule which resulting in high defects product. In stressful situation, team members will argue with each others, blame each others, and then keep the information to themselves rather than sharing. Lack of information creates confusions, redundancies, defects which create more personal problems for software projects. Because of frustration, many leave the company and cause high turnover, which add more problems to the software project.

The study concluded that all of the above problems are caused by poor software trainings in schools. After reviewing several university curricula, the research team noted that a majority of students are not taught essential software engineering disciplines such as requirements engineering, project management, project planning, software methods and process, and team work. Current academic trainings are focusing mostly on programming languages which is only a small part of the software development process. For many years, the software industry has complained about the lack of discipline training in universities but the issue still remains unsolved. The fact is software engineering disciplines training requires certain industry experiences that many academic professors do not have so they ignore it. Another fact is the software field has changed so fast and it is difficult for professors to keep up with changes. Many universities do not want to risk their reputation by adopting something new that they do not feel comfortable. To change from computer science to software engineering requires profound changes to the teaching method and lessons planning which university can not afford. As with any change, no matter how worthwhile, it always be met by resitance.

Today, most software projects are large and complex. Software product can rarely be developed by a few persons team. Current methods require development team to be organized in a manner that results in efficient use of people’s skills. There are certain roles, responsibilities for team members and they must be organized according to knowledge, skills and experiences such as project manager, business analyst, requirements specialist, technical leaders, chief architect, platform specialist, network specialist, testers, developers, quality assurance, configuration specialist etc. In large project, communication is crucial so customers, users, managers, team members must work together and communicate with each others on a frequent basis. However teamwork is not taught in traditional academic programs and in traditional academic school, any collaboration among students is considered “Cheating” so many students are still having difficulty in working together.

Globalization begins to change that, as companies can hire people from anywhere and not necessary have to hire them within their borders. With the shortage of software people in a fast expanding industry, many global companies begin to hire software people and bring them to work in their country or opens facilities in country that provide abundant software workers. Each year, the U.S have to bring in over 80,000 software workers, mostly from India via special H1B program. Many European countries are doing the same with qualified workers from Russia, and Eastern Europe. However, the fundamental question is still remain on whether these software people have the proper knowledge and skills?

The financial crisis begins to change that, as companies are slow to hire due to restricted budget, they have more time to select people with the right skills and right training. Instead of hiring people with degrees from university, many are applying scenario interview techniques to identify workers with the proper knowledge and skills. Instead of go to any country, they are identify countries with good training programs, especially training programs that are current with their needs. According to several software managers, the financial crisis is a short term glitch but staffing is a long term investment so companies still have to plan for the future by identify knowledge workers who can create more opportunities, better products for their businesses.


Gửi bình luận
(0) Bình luận
1

Phần mềm di động

Phát triển ứng dụng di động là qui trình qua đó phần mềm được phát triển cho điện thoại di động hay thiết bị cầm tay tương tự.
2

Nhu cầu cấp bách

Tuần trước, tôi đã viết về vài “khu vực nóng” trong thị trường công nghệ và tôi tin nền di động sẽ là một trong chúng trong vài năm tới.
3

Hệ thống giáo dục mới

Tôi để ba tuần giảng dạy ở Trung Quốc.
4

Kinh nghiệm của kỹ sư phần mềm

“Em đã làm năm việc trong ba năm. Chẳng có gì để tự hào nhưng hồi tưởng lại, em đã học được bài học tốt và đó là lí do tại sao em quay lại thăm thầy.”
5

Lời khuyên từ bạn bè

Năm ngoái, một sinh viên năm thứ nhất nói với tôi trong ngày đầu tiên lên lớp: “Thầy nói cứ như là bố mẹ em nói, học, học và học nữa. Cuộc sống KHÔNG chỉ là học tập và là sinh viên đại học, em KHÔNG cần những lời khuyên có vẻ như của bố mẹ thế.”

Kỹ năng học tập

Kĩ năng học tập mới là điều quan trọng nhất để cải tiến và duy trì nghề nghiệp của bạn.

Tồn tại trong toàn cầu hoá

Bạn tôi, người quản lí một công ti phần mềm nói với tôi về cách cuộc khủng hoảng tài chính đã tác động lên doanh nghiệp của ông ấy.

Phần mềm và đồ ăn béo

Tháng trước, khi tôi ở Bangalore tôi thấy một bài báo rất thú vị trong tờ The Guardian, cảnh báo rằng nhiều công nhân phần mềm ở Ấn Độ đang đối diện với bệnh béo phị trong khi hàng triệu người nghèo của Ấn Độ vẫn đang vật lộn vì không có đủ thức ăn để ăn.

Thầy giáo

Về truyền thống, thầy giáo là nguồn tri thức và lớp học là nơi việc truyền thụ tri thức xảy ra. Trong các lớp học này, thầy dạy bằng lời và trò lắng nghe chăm chú.

Thầy giáo có thể tạo ra khác biệt

Ngày nay công nghiệp công nghệ dẫn lái cho kinh tế toàn cầu. Xem như kết quả, tương lai của một nước tuỳ thuộc vào việc có lực lượng lao động thành thạo kĩ thuật, được giáo dục tốt.

Viếng thăm Ấn Độ

Khi tôi ở Bangalore, tôi thấy một vụ tai nạn giao thông và phải mất nhiều giờ xe cứu thương mới tới. Lí do có thể là tắc nghẽn giao thông hay có thể là cái gì đó khác, vì ở hầu hết các thành phố Ấn Độ, giao thông rất tệ. Nhưng bây giờ điều mới đã xảy ra.

Cải tiến giáo dục trong thế giới toàn cầu hoá

Theo nghiên cứu mới nhất của UNESCO, phần lớn các nước đang phát triển đều tụt lại sau khá xa trong giáo dục so với việc cần cung cấp tri thức cho tăng trưởng kinh tế của họ trong thế giới toàn cầu hoá.

Chọn lĩnh vực học tập

Tôi đã nhận được nhiều email hỏi về kĩ năng của kĩ sư phần mềm mà các công ti toàn cầu cần tới.

Minh triết từ nỗi bất an - Khi chúng ta không sống trong hiện tại

Có lẽ không ít người cảm nhận rằng chúng ta đang sống giữa thời đại đầy lo lắng. Tại sao con người luôn lo lắng, bất an? Nỗi bất an đến từ đâu?  Làm sao tìm được sự an ổn?. “Minh triết từ nỗi bất an” của Alan Watts là quyển sách sẽ chia sẻ với chúng ta thông điệp mang đến sự bình an giữa thời đại đầy lo lắng này.

Minh triết từ nỗi bất an - Khi chúng ta không sống trong hiện tại

Từ sách - Phim - Thu An - 02/06/2026 08:00
Có lẽ không ít người cảm nhận rằng chúng ta đang sống giữa thời đại đầy lo lắng. Tại sao con người luôn lo lắng, bất an? Nỗi bất an đến từ đâu?  Làm sao tìm được sự an ổn?. “Minh triết từ nỗi bất an” của Alan Watts là quyển sách sẽ chia sẻ với chúng ta thông điệp mang đến sự bình an giữa thời đại đầy lo lắng này.

Bài học từ khoán ngoài

Blog GS John VU - GS John Vu - 01/06/2026 12:00
Khi tôi ở Trung Quốc tháng trước, tôi thấy điều gì đó mà tôi chưa bao giờ trông chờ: Việc đóng cửa một số nơi chế tạo ở Thượng Hải và Shenzheng.

Zalo ra mắt tính năng phụ đề cuộc gọi video

Kỹ năng - Nhật Hạ - 01/06/2026 11:00
Zalo vừa tung ra một tính năng AI mới vô cùng hữu ích giúp người dùng chuyển lời nói thành chữ theo thời gian thực ngay trên màn hình.

12 triệu người nghe Võ Hà Linh nói về điều hối hận nhất tuổi 34

Phong cách sống - Nguyễn Phượng - 01/06/2026 09:00
"Stress thì mua matcha latte, socola đá xay mà uống cho mát ruột chứ đi xăm gì cho cực", Võ Hà Linh nói.

Làm chủ AI - 90.000 giờ lao động và cỗ máy vô hình: Giữ lại phẩm giá trong đời đi làm

Từ sách - Phim - Quang Anh - 01/06/2026 08:00
Sau giai đoạn hào hứng ban đầu với AI tạo sinh, nhiều người bắt đầu nhìn thấy một mặt khác của nó. Công việc không hẳn nhẹ đi. Áp lực cũng chưa chắc giảm xuống. Có khi, mọi thứ còn trở nên dày hơn.

Thị trường việc làm ngày nay

Blog GS John VU - GS John Vu - 31/05/2026 12:00
Theo tin tức mới nhất, phần lớn các công ti đều tin tưởng về phục hồi kinh tế và bắt đầu thuê người.

Giờ tôi mới phát hiện Google Maps có tính năng chỉ đường hay đến vậy

Kỹ năng - Quốc Vinh - 31/05/2026 11:00
Google Maps không chỉ là xem bản đồ mà có vô vàn các tính năng hữu ích giúp bạn tiết kiệm được thời gian.

Cú điện thoại theo hướng dẫn của ChatGPT và sự nghiệp đổ sập của huyền thoại bóng chày Nhật Bản

Suy ngẫm - Đồng An - 31/05/2026 10:00
Một cuộc cãi vã trong bữa tối, một cú nhấc cổ áo, một câu hỏi gõ vội cho ChatGPT - và 25 năm sự nghiệp của Shinnosuke Abe, huyền thoại đội Yomiuri Giants, kết thúc trong nước mắt giữa buổi họp báo từ chức. Cô con gái 18 tuổi, người đã vô tình kích hoạt chuỗi sự kiện đó, sau này thú nhận: "Người sốc nhất khi cảnh sát đến chính là tôi."

Trào lưu Birdwatching khiến giới trẻ Trung Quốc dõi theo, kéo cả các thương hiệu lớn vào cuộc

Phong cách sống - Yên Yên - 31/05/2026 09:00
Từ một trào lưu 820 triệu lượt xem trên Xiaohongshu, birdwatching (ngắm chim) đang đặt ra câu hỏi thực sự cho các thương hiệu: Làm sao tiếp cận một thế hệ chủ động thoát khỏi vòng lặp nội dung?

“Sách xa hoa” trở thành cơn sốt mới: Khi độc giả chi hàng nghìn USD để săn các ấn bản đặc biệt

Từ sách - Phim - TĐ - 31/05/2026 08:00
Những cuốn sách với cạnh in màu, bìa dập nổi, minh họa độc quyền và thiết kế cầu kỳ đang tạo nên một cơn sốt mới trong cộng đồng yêu sách toàn cầu. Từ một thị trường ngách dành cho người sưu tầm, các “special edition” (ấn bản đặc biệt) giờ đây đã trở thành xu hướng bùng nổ, đặc biệt trong dòng sách romance và fantasy.

Một số sự kiện về cách tiếp cận Agile

Blog GS John VU - GS John Vu - 30/05/2026 12:00
Một sinh viên hỏi tôi: “Nếu Agile là cách tiếp cận tốt để phát triển phần mềm thì tại sao chúng ta phải học cách tiếp cận khác?”

Anthropic ra mắt "trợ lý AI ngành luật", thu hút hơn 20.000 người đăng ký

Kỹ năng - Lại Dịu - 30/05/2026 11:00
Anthropic đang biến Claude thành “trợ lý pháp lý AI” có thể kết nối trực tiếp với các phần mềm luật chuyên dụng, làm nóng thêm cuộc đua AI trong ngành pháp lý.

“Thần kinh doanh” Kazuo Inamori: Nếu không tài năng, cần biết 1 con đường “lợi hại” này để làm giàu

Suy ngẫm - Kim Linh - 30/05/2026 10:00
Theo tỷ phú Nhật Bản Inamori Kazuo, muốn trở thành một người giàu có và thành công cần có sự kiên nhẫn phi thường trong công việc.

Từ chiếc máy tính cũ, nam sinh Bách khoa thắng lớn với “Tiệm phở anh Hai”

Truyền cảm hứng - Mỹ Hà - 30/05/2026 09:00
Từ chiếc máy tính cũ và những dự án trò chơi âm thầm suốt nhiều năm, nam sinh Đại học Bách khoa Hà Nội tạo nên “cơn sốt” với “Tiệm phở anh Hai”, đồng thời thắng lớn hai giải thưởng.
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS