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

Thăng tiến nghề nghiệp

Tháng trước tôi có ăn trưa với vài cựu sinh viên. Bữa ăn nhanh chóng trở thành cuộc đối thoại về xu hướng hiện thời trong công nghiệp phần mềm, cách các công ti phần mềm toàn cầu lập kế hoạch và cách kĩ sư phần mềm có thể khớp với những kế hoạch đó.
2

Tài năng nước ngoài

Tạp chí Business Week đăng một bài báo thú vị: “Vẫn còn được cần tới: Tài năng nước ngoài và Thị thực.”
3

Việc làm phần mềm

Nhiều sinh viên tin rằng bằng việc có kĩ năng lập trình như Java, C, và C++ họ có thể thành công trong công nghiệp phần mềm. Kĩ năng lập trình là cần nhưng KHÔNG đủ.
4

Nhân viên mới trong công ty

Điều gì xảy ra khi sinh viên mới tốt nghiệp gia nhập công ti phần mềm?
5

Quản lý dự án phần mềm

Tuần trước, tôi có cuộc họp với vài sinh viên thuộc chương trình thạc sĩ về quản trị kinh doanh (MBA). Họ hỏi tôi tại sao nhiều dự án phần mềm thất bại và liệu người quản lí doanh nghiệp tốt nghiệp từ chương trình MBA có thể quản lí dự án phần mềm được không.

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.

Tài năng nước ngoài

Blog GS John VU - GS John Vu - 25/03/2025 13:00
Tạp chí Business Week đăng một bài báo thú vị: “Vẫn còn được cần tới: Tài năng nước ngoài và Thị thực.”

Cách dạy Văn độc lạ của cô giáo Đồng Nai nổi đình đám mạng xã hội

Truyền cảm hứng - Kim Anh - 25/03/2025 12:00
Nếu chỉ giảng dạy Ngữ văn theo phương pháp thông thường, cô Hương cho rằng giáo viên rất dễ trở thành "người gây mê" trong mắt học trò.

Vì sao giọng nói của bạn trên ghi âm nghe khác hoàn toàn so với giọng bạn tự nghe?

Kỹ năng - Anh Việt - 25/03/2025 11:00
Điều thú vị là, trong khi bạn cảm thấy giọng mình trên ghi âm nghe không ổn, những người khác thường không nhận ra sự khác biệt đó.

“Chúng ta đang nuôi dưỡng sản phẩm lỗi trong thời đại AI” – Chỉ trích của Nhậm Chính Phi tạo cơn địa chấn giáo dục

Suy ngẫm - Trang Đào - 25/03/2025 10:00
Những lời của Nhậm Chính Phi khiến các bậc phụ huynh trên khắp đất nước bắt đầu nghi ngờ rằng chúng ta đều đang nuôi dưỡng "những sản phẩm lỗi trong thế giới AI".

Chiến thắng con quỷ bên trong - Phụ nữ muốn sống một cuộc đời rực rỡ, nhất định phải hiểu 3 điều này

Từ sách - Phim - Thùy Linh - 25/03/2025 09:00
Khi nhận diện được những nỗi sợ đang chi phối mình, bạn đã đi được nửa chặng đường đến tự do.

Nobita từng 2 lần đạt kỷ lục thế giới, số lần phá hủy trái đất, bán nhà gây sốc nhất!

Từ sách - Phim - Trần Hà - 25/03/2025 08:00
Đọc Doraemon nhiều năm nhưng có thể bạn chưa biết điều này.

Nhân viên mới trong công ty

Blog GS John VU - GS John Vu - 24/03/2025 13:00
Điều gì xảy ra khi sinh viên mới tốt nghiệp gia nhập công ti phần mềm?

Bạn sẽ bị đánh giá là EQ thấp nếu trang cá nhân xuất hiện 3 thứ này

Kỹ năng - Đông - 24/03/2025 12:00
Những gì bạn đăng tải trên trang cá nhân có thể phản ánh khá nhiều điều đó.

Tác giả cuốn sách 'Harry Potter' phát biểu tại ĐH Harvard: Nỗi sợ lớn nhất không phải nghèo đói mà là Thất bại

Truyền cảm hứng - Ứng Hà Chi - 24/03/2025 11:00
Bài phát biểu của bà đã truyền cảm hứng cho không chỉ sinh viên Harvard mà cả nhiều bạn trẻ trên toàn thế giới.

Trong 3 năm tới, người không bị bỏ lại, thậm chí ‘đạp gió rẽ sóng’ là người biết duy trì độ đàn hồi

Suy ngẫm - Diệu Đan - 24/03/2025 10:00
Biển rộng cho cá nhảy, trời cao để chim bay. Đó là quy luật muôn đời. Khi bạn rèn luyện bản thân đến mức cao nhất, dù thời thế có thay đổi ra sao, bạn cũng có thể khiêu vũ với vận mệnh của mình.

Đường vào thiền - Osho Tôi đã cố gắng kiểm soát cảm xúc, nhưng vì sao càng kiểm soát càng mệt mỏi?

Từ sách - Phim - TĐ - 24/03/2025 09:00
Có thể bạn quyết định mình sẽ không tức giận; bạn có thể nghĩ rằng giận dữ là xấu, nhưng khi cơn giận ập tới, suy nghĩ của bạn bị gạt qua một bên và bạn trở nên tức giận.

Con đường chính trực - Nạn nhân, kẻ ác, người tốt: Bạn đang đóng vai gì trong câu chuyện của chính mình?

Từ sách - Phim - Quìn - 24/03/2025 08:00
Chúng ta thường xuyên nghe những câu chuyện về những người bị tổn thương, những kẻ gây ra tổn thương và những anh hùng lao vào để giải cứu. Nhưng bạn có bao giờ nhận ra rằng chúng ta cũng có thể vô thức đóng một trong ba vai này?

Đã tìm ra lý do vì sao Nobita thường xuyên bị điểm 0, hóa ra nhiều người giống Nobita lắm!

Từ sách - Phim - Đông - 23/03/2025 13:00
Nobita học kém tất cả là vì những lý do này.

Cách phát hiện và mở tin nhắn ẩn trên Zalo mà không cần dùng mật khẩu

Kỹ năng - Nhật Hạ - 23/03/2025 12:00
Ẩn tin nhắn trên Zalo giúp bảo mật cuộc trò chuyện, tuy nhiên điều này có thể gây khó khăn khi cần tìm lại, dưới đây là cách phát hiện và mở tin nhắn ẩn dễ dàng và nhanh chóng.

Bí mật mối tình sét đánh Mộng Cô và Hư Trúc

Thư giãn - Nguyệt Phạm - 23/03/2025 11:00
Hư Trúc và Mộng Cô, hai con người tưởng chừng như khác biệt, lại nên duyên chỉ sau ba lần gặp gỡ ngắn ngủi.
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
Thứ 3, 25/03/2025