Dự án phần mềm lớn

GS John Vu12/04/2026 13:00
Dự án phần mềm lớn

Ngày nay, phần lớn các dự án phần mềm đều lớn, phức tạp, và tổ dự án thường bao gồm nhiều người với các vai trò và nhiệm vụ khác nhau.

Với cấu trúc này, người phát triển có thể cảm thấy không thoải mái và khó điều chỉnh. Điều đầu tiên là thiếu hiểu biết về điều người khác làm. Để cho tổ được hiệu quả, mọi thành viên tổ đều cần hiểu mọi vai trò, trách nhiệm và thẩm quyền bên trong qui trình phát triển của dự án. Bằng việc hiểu rõ ràng chúng, họ có thể tránh xung đột thường xảy ra  trong dự án lớn. Điều thứ hai là vấn đề với cách làm việc tổ và kĩ năng mềm. Trao đổi hiệu quả, lắng nghe, động viên, và dẹp bỏ “bản ngã cá nhân” là các ví dụ về “kĩ năng mềm” được cần tới cho tổ hiệu quả. Thiếu những kĩ năng này thường dẫn tới quyết định không hiệu quả, họp không hiệu quả, và nhiều xung đột cá nhân hơn. Khó khăn thứ ba là không tuân theo qui trình đã xác định của dự án. Cho dù nhiều dự án có đào tạo về qui trình nhưng chừng nào còn chưa có chỉ đạo rõ ràng và cơ chế giám sát mạnh tại chỗ, thành viên tổ có thể làm nhiều điều dựa trên kinh nghiệm riêng của họ thay vì tuân theo qui trình được người quản lí dự án xác định.

Trong quá khứ, khi các dự án còn nhỏ, có thể năm tới hai mươi người, những người phát triển có cách làm công việc riêng của họ qua qui trình cá nhân “không chính thức”. Sau khi chúng được thực hiện, công việc của họ thành chủ đề để kiểm điểm và kiểm thử cho tới khi chúng được khách hàng chấp nhận. Cho tới khi họ làm cho việc của mình được hoàn thành, người quản lí dự án không quan tâm về cách họ làm cho công việc của họ được thực hiện hay họ tuân theo qui trình gì. Trong dự án lớn, đôi khi hàng trăm người tham gia, trình tự phát triển thay đổi. Qui trình để tạo ra phần mềm phải được xác định và phân công vì việc phát triển bây giờ bao gồm nhiều người thế với nhiều việc phải được tích hợp. Người quản lí dự án không thể cho phép mọi người làm bất kì cái gì họ muốn hay tuân theo bất kì qui trình nào họ thích, điều đó sẽ là hỗn độn.

Tổ phải hiểu qui trình được xác định của dự án vì công việc của họ phải được tích hợp dựa trên kiến trúc. Chẳng hạn, tổ phải đồng ý về những đặc trưng thiết kế nào đó là hướng dẫn cho các cá nhân làm công việc riêng của họ. Tổ và cá nhân làm mịn lặp đi lặp lại và đồng ý với nội dung như nó được tạo ra. Kết quả là sự cộng tác với trách nhiệm chung về sản phẩm. Về căn bản, dãy công việc được đảo ngược với kiểm điểm xuất hiện trước sáng tạo cá nhân. Trong kiểu công việc này, môi trường cộng tác tạo khả năng cho mọi người có truy nhập ngay vào sản phẩm công việc khi chúng đang được tạo ra để thực hiện có hiệu quả dự án lớn khi nhiều việc đang tiến hành đồng thời. Đây là lí do tại sao dự án lớn là khó vì nó yêu cầu nhiều lập kế hoạch, điều phối với các vai trò và trách nhiệm được nhận diện rõ ràng thậm chí trước khi dự án bắt đầu.

Cấu trúc dự án phải dựa trên việc phân chia chính xác vai trò và trách nhiệm của thành viên tổ để tạo ra bầu không khí làm việc năng suất; tránh việc trùng lặp nỗ lực tốn kém; cải tiến trao đổi giữa những người tham gia; động viên việc tự quản về phần những người tham gia trong việc thực hiện trách nhiệm của họ. Về căn bản, vai trò là chức vụ trong cấu trúc tổ dự án. Vai trò tương ứng với một tập các trách nhiệm. Một số người tham gia có thể giữ một vai trò và một số người tham gia có thể giữ nhiều vai trò. Điều này thông thường tuỳ thuộc vào phạm vi của dự án. Trách nhiệm là hoạt động được tiến hành bởi người tham gia trong một khu vực đặc biệt. Nó ngụ ý quyền ra quyết định và bắt buộc giả định nhận hậu quả của quyết định của người ta. Việc phân công rõ ràng vai trò và trách nhiệm là cần thiết để đảm bảo rằng từng thành viên tổ trong dự án biết đích xác cái gì được mong đợi từ họ và các thành viên khác trong tổ.

Để có hiệu quả tốt hơn, từng tổ phải có mục tiêu xác định với thủ tục ra quyết định thống nhất. Tổ phải nhận được đào tạo nhiều tuần trước khi dự án bắt đầu và đào tạo phải giải thích rõ ràng trình tự công việc, kiến trúc tổng thể và cơ chế giám sát. Tất nhiên, không phải mọi người đều sẽ đồng ý với cách dự án đang được tổ chức cho nên sẽ có thách thức và đây là chỗ kĩ năng của người quản lí và kiến trúc sư hệ thống được cần tới để giải quyết loại tình huống này.  Một số người lãnh đạo kĩ thuật có thể nghi ngờ miền trao quyền. Điều đó là thông thường cho miền khởi đầu được xác định không đầy đủ. Đôi khi người lãnh đạo kĩ thuật sẽ ra quyết định bên ngoài miền của mình hay ai đó không trong tổ có thể ra quyết định bên trong miền này. Trong cả hai trường hợp, phải thận trọng để giải thích cơ sở cho thay đổi quyết định để chắc rằng tổ và cách tiếp cận dự án không bị phá hoại.

Trao đổi dự án là việc thu thập, phát tán và có thông tin dự án đúng thời hạn. Trao đổi cung cấp móc nối cốt yếu giữa con người, và trao đổi ý tưởng và thông tin (như mệnh lệnh, thông điệp, báo cáo trạng thái, chính sách, v.v.) giữa các cá nhân cần cho việc thực hiện dự án. Mọi người tham gia vào trong dự án gửi và nhận thông tin, và họ phải hiểu cách trao đổi mà theo đó họ được tham gia sẽ ảnh hưởng tới dự án như một toàn thể. Người quản lí dự án phải làm việc để xây dựng trao đổi hiệu quả với các thành viên tổ dự án và quản lí cấp trên. Họ phải xác định nhu cầu trao đổi và thông tin của những người tham gia dự án, và cài đặt công cụ để nắm bắt thông tin, và để tạo điều kiện thuận tiện cho việc truy nhập và phân phối thông tin dự án có liên quan, theo chiều ngang cũng như theo chiều đứng bên trong tổ chức. Xác định nội dung đúng (như tóm tắt điều hành, nội dung đại cương hay chi tiết), và phương thức phân phối một mặt cho một thành viên tổ và mặt khác cho toàn tổ là điều bản chất cho thành công của dự án.

English version

Large software project

Today, most software projects are large, complex and project team usually consists of many people with different roles and responsibilities. With this structure, developers may feel uncomfortable and difficult to adjust. The first is the lack of understanding of what others are doing. For the team to be effective, all team members need to understand all the roles, responsibilities and authorities within the project’s development process. By clearly understand them, they can avoid conflict which often happen in large project. The second is the issue with teamwork and soft-skills. Effective communication, listening, encouragement, and the suppression of “individual egos” are examples of the “soft skills” that are needed for the team to be effective. Lack of these skills often leads to ineffective decision, ineffective meetings, and more personal conflicts. The third difficulty is not following the project’s defined process. Even many projects do have training on process but unless there is a clear direction and strong monitoring mechanism in place, team members may do things based on their own experiences rather than follow a process defined by the project manager.

In the past, when projects are small, maybe five to twenty people, developers have their own ways of doing works through “informal” individual process. After they are done, their works are subjected to reviews and tests until they are accepted by the customer. As long as they get their works done, project manager does not care about how they get their works done or what process they are following. In a large project, sometime hundreds of people are involved, the sequence of development changes. The process to create software must be defined and assigned as the development now involves so many people with a lot of works must be integrated. Project manager can not afford to allow people do whatever they want or follow whatever process that they like, it will be chaotic.

The team must understand the project’s defined process as their works must be integrated based on an architecture. For example, the team must agree on the certain design characteristics as guidance to individuals doing their own works. The teams and individuals iteratively refine and agree to the content as it is being created. The result is a collaboration with shared responsibilities of the product. Basically, the work sequence is reversed with the review occurring prior to the individual creation. In this type of work, a collaborative environment that enables everyone to have immediate access to the work products as they are being created is required to effectively implement large project as many works are concurring. This is why large project is difficult as it requires a lot of planning, coordination with roles and responsibilities clearly identified before the project even starts.

A project structure must be based on a precise division of team member’s roles and responsibilities to create a productive work climate; avoids costly duplication of effort; improves communication among participants; encourages autonomy on the part of participants in the execution of their responsibilities. Basically, role is a position in the project team structure. A role correspond to a set of responsibilities. Several participants can play a single role and a single participant can play several roles. This normally depends on the scope of the project. Responsibility is the activities undertaken by a participant in a specific area. It imply a decision-making power and an obligation to assume the consequences of one’s decisions. A clear assignment of roles and responsibilities is necessary to ensure that each team member in the project knows exactly what is expected of them and other team members.

For better effectiveness, each team must have specific objectives with consensus decision-making procedures. The teams must receive training several weeks before the project starts and the training must clearly explain the sequence of works, the overall architecture and monitoring mechanisms. Of course, not everybody will agree with the way the project is being organized so there will be challenge and this is where the skill of the project manager and system architect are needed to handle this kind of situation.  Some technical leaders may question the domain of its empowerment. It is normal for the initial domain to be incompletely defined. Sometimes technical leader will make a decision outside of its domain or someone not on the team may make a decision within the domain. In either case, care must be taken to explain the basis for changing the decision to make sure that the team and project approach is not undermined.

Project communication is the timely collection, dissemination and disposition of project information. Communication provides the critical links among people, and the exchange of ideas and information (i.e. instructions, messages, status reports, policies, etc.) between the individuals that are necessary for the execution of the project. Everyone involved in the project sends and receives information, and they must understand how the communications in which they are involved affect the project as a whole. Project managers must work at building effective communication with project team members and upper management. They must determine the communication and informational needs of project participants, and implement the tools to capture information, and to facilitate the access and distribution of relevant project information, horizontally as well as vertically within the organization. Determining the correct content (e.g. an executive summary, an outlined or detailed content), and mode of distribution to a single team member on the one hand and to all team members on the other hand is essential to the success of the project.

 


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

Lời khuyên về giáo dục

Theo một nghiên cứu toàn cầu mới, năm nay các công ti sẽ thuê nhiều sinh viên tốt nghiệp đại học hơn năm ngoái nhưng chỉ với những bằng cấp nào đó. Khoa học máy tính, kĩ nghệ phần mềm, y học và chăm sóc sức khoẻ là NÓNG.
2

Công nhân có kỹ năng cho công việc dự án

Mục tiêu then chốt của mọi dự án phần mềm là đáp ứng nhu cầu của khách hàng. Điều khách hàng muốn là tổ dự án chuyển giao sản phẩm tương ứng theo lịch biểu, trong chi phí, và có chất lượng cao. Tuy nhiên, điều quan trọng nhất với nhiều người quản lí dự án là lịch biểu dự án.
3

Phát triển phần mềm Agile

Agile là cách tiếp cận phát triển phần mềm trong đó tổ xây dựng phần mềm trong vài lần lặp ngắn, thay vì mọi thứ đi từ bắt đầu tới kết thúc. Agile cung cấp ích lợi như linh hoạt, dễ thay đổi, chất lượng tốt, ít rủi ro và thoả mãn khách hàng tốt hơn nhưng có “tiền điều kiện” mà tổ chức phải có để đạt tới những ích lợi này.
4

Vấn đề với cách tiếp cận Agile

Một người phát triển phần mềm hỏi tôi: “Người quản lí của tôi nói rằng hoạt động chính của Agile chỉ là viết mã và kiểm thử. Bạn không cần tài liệu cho nên chúng tôi có thể hoàn thanh nhanh và đó là lí do tại sao cái tên “Agile – mau lẹ” tới. Điều đó có đúng không?”
5

Chương trình bằng cấp chuyên sâu

Có vài lí do mà sinh viên muốn tiếp tục theo đuổi các bằng cấp chuyên sâu như Thạc sĩ hay Tiến sĩ. Nhiều người muốn chuyên sâu tri thức của họ và đẩy mạnh giáo dục của họ nhưng một số người không biết làm cái gì, cho nên họ quyết định ở lại trường.

Phần mềm như dịch vụ tuyệt hảo

Nhiều người không phân biệt rõ rệt sự khác biệt giữa “Phần mềm như sản phẩm” và “Phần mềm như dịch vụ”. Như dịch vụ, phần mềm cần ba điều: mong đợi, nhất quán và thông cảm.

Phần mềm ở Trung Đông

Tôi mới dành một tuần giảngi ở Carnegie Mellon tại Qatar rồi đi tới Riyadh, thủ đô của Saudi Arabia để thăm một số sinh viên cũ.

Tình hình khoán ngoài

Trường kinh tế London đưa ra báo cáo ‘Bên ngoài BRIC – Thuê nước ngoài ở các nước không thuộc BRIC: Ai Cập – một thị trường tăng trưởng mới’. Nhiều người bị bất ngờ bởi viễn tượng về nghiên cứu toàn cảnh của nghiên cứu nhìn ra bên ngoài BRIC, đã có nhiều đồn đoán rằng Ấn Độ đang mất sự nắm giữ sắt của nó vào công nghiệp khoán ngoài cho nên báo cáo này đưa ra đã là điều cay đắng.

Thị trường khoán ngoài

Thị trường khoán ngoài phần mềm tiếp tục thay đổi khi nhiều nước đi vào cạnh tranh. Theo hãng tư vấn KPMG, năm nay Trung Quốc đã thay thế Ấn Độ như “chọn lựa hàng đầu” cho khoán ngoài phần mềm và có thể là đến trước năm 2014, thị trường khoán ngoài của Trung Quốc có thể làm ra $43.9 tỉ đô la.

PSP và TSP

Qui trình phần mềm cá nhân – Personal Software Process (PSP) là phương pháp cho cá nhân kĩ sư phần mềm để cải tiến kĩ năng phát triển của họ trong xây dựng sản phẩm chất lượng.

Nghề phần mềm trong năm 2010

Ngày nay, hầu hết các việc làm đều yêu cầu bằng đại học và nếu bạn có bằng, bạn sẽ kiếm được nhiều tiền hơn là không có bằng. Tất nhiên, có những ngoại lệ, một số người kiếm việc tốt mà không có bằng đại học hay một số người có bằng nhưng không thể tìm được việc làm.

Quản lý dịch vụ

Cuộc khủng hoảng tài chính đã buộc nhiều công ti phải dịch chuyển tổ chức công nghệ thông tin (CNTT) của mình từ chức năng “hỗ trợ doanh nghiệp” sang chức năng “thực thi chiến lược” nơi mọi hoạt động doanh nghiệp đều được tạo khả năng bởi công nghệ và mọi quyết định công nghệ đều dựa trên nhu cầu doanh nghiệp.

Cạnh tranh với Ấn Độ

Ngày nay khu vực khoán ngoài của Ấn Độ là lớn nhất thế giới và là khu vực phát triển nhanh nhất và chiếm tới 15% tổng sản phẩm Ấn Độ (GDP). Tuy nhiên, thành công nhanh chóng của nó đang bắt đầu chỉ ra một số dấu hiệu của vấn đề.

Thần đồng 15 tuổi đỗ đại học, trở thành thiên tài thi ca nhưng cuộc đời khép lại ở tuổi 25

Phong cách sống - Thiên An - 15/08/2026 10:00
Cuộc đời của một trong những nhà thơ tài hoa nhưng đoản mệnh nhất Trung Quốc hiện đại vẫn còn để lại nhiều suy ngẫm cho đến tận ngày nay.

Chia sẻ từ trái tim - Mùa Vu Lan: Đứa con liệt sanh

Từ sách - Phim - FN - 15/08/2026 09:00
Bây giờ đến dạng con thứ ba. Nếu cha mẹ tu hành, làm thiện, làm lành mà đứa con lại không thiện, không lành thì đứa con đó, đức Phật gọi là liệt sanh.

Vấn đề với cách tiếp cận Agile

Blog GS John VU - GS John Vu - 14/08/2026 11:00
Một người phát triển phần mềm hỏi tôi: “Người quản lí của tôi nói rằng hoạt động chính của Agile chỉ là viết mã và kiểm thử. Bạn không cần tài liệu cho nên chúng tôi có thể hoàn thanh nhanh và đó là lí do tại sao cái tên “Agile – mau lẹ” tới. Điều đó có đúng không?”

Tâm lý học: Tài sản quý giá nhất của người phụ nữ

Suy ngẫm - Tr. Quang - 14/08/2026 10:00
Tài sản quý giá nhất của người phụ nữ không bao giờ là tuổi trẻ hay sắc đẹp, mà chính là hai khả năng tưởng chừng như trái ngược nhau này. 

Nhạc sĩ Nguyễn Văn Chung miễn tác quyền trong 7 trường hợp, người sử dụng không cần xin phép

Phong cách sống - Minh Ngọc - 14/08/2026 09:00
Nhạc sĩ cho biết sẵn sàng cho phép sử dụng và miễn tác quyền đối với nhiều hoạt động giáo dục, cộng đồng, tôn giáo hay mục đích cá nhân không tạo ra doanh thu. Thậm chí, với những trường hợp nằm trong danh sách này, mọi người không cần mất công nhắn tin xin phép anh trước khi sử dụng các ca khúc.

Chia sẻ từ trái tim - Mùa Vu Lan: Những đứa con tùy sanh

Từ sách - Phim - FN - 14/08/2026 08:00
Hồi nhỏ Pháp Hòa có một thú chơi mà nhiều người không thích: Pháp Hòa đi tìm con gián, con dế, con thằn lằn, v.v…, con nào chết, Pháp Hòa làm đám tang cho nó đàng hoàng.

Lời khuyên về giáo dục

Blog GS John VU - GS John Vu - 13/08/2026 11:00
Theo một nghiên cứu toàn cầu mới, năm nay các công ti sẽ thuê nhiều sinh viên tốt nghiệp đại học hơn năm ngoái nhưng chỉ với những bằng cấp nào đó. Khoa học máy tính, kĩ nghệ phần mềm, y học và chăm sóc sức khoẻ là NÓNG.

Tôi dùng ChatGPT thay cho 12 ứng dụng trên điện thoại và cái kết bất ngờ

Kỹ năng - Quốc Vinh - 13/08/2026 10:00
ChatGPT có thể thay thế được các ứng dụng trên điện thoại như báo thức, máy tính hay thời tiết hay không?

Nam sinh từng cõng mẹ tâm thần đi học ĐH, từ chối mức lương 2 tỷ để về núi dạy học

Truyền cảm hứng - Nhật Linh - 13/08/2026 09:00
Năm 2008, hình ảnh một tân sinh viên Trung Quốc tay xách hành lý, tay dắt theo người mẹ mắc bệnh tâm thần đến nhập học từng khiến hàng triệu người xúc động.

Chia sẻ từ trái tim - Mùa Vu Lan: Con cái là phước hay là nghiệp?

Từ sách - Phim - FN - 13/08/2026 08:00
Người ta thường nói: “Cha mẹ sinh con, trời sinh tánh”. Thật ra câu đó chỉ để an ủi thôi, chứ đúng ra cha mẹ sinh con là duyên của cha mẹ, còn con được như thế nào là giữa cái nghiệp của nó và phước của cha mẹ.

Chương trình bằng cấp chuyên sâu

Blog GS John VU - GS John Vu - 12/08/2026 11:00
Có vài lí do mà sinh viên muốn tiếp tục theo đuổi các bằng cấp chuyên sâu như Thạc sĩ hay Tiến sĩ. Nhiều người muốn chuyên sâu tri thức của họ và đẩy mạnh giáo dục của họ nhưng một số người không biết làm cái gì, cho nên họ quyết định ở lại trường.

Google Maps có tính năng mới mà rất nhiều người đang cần

Kỹ năng - Khả Vân - 12/08/2026 10:00
Không chỉ dừng lại ở chức năng chỉ đường truyền thống, bản cập nhật mới nhất của Google Maps đã chính thức biến ứng dụng này thành một trợ lý hữu ích nhờ công nghệ trí tuệ nhân tạo (AI).

Trải nghiệm nghe 365 album nhạc trong 365 ngày và sự trỗi dậy khỏi thuật toán của cộng đồng yêu nhạc

Phong cách sống - Lâm Mộc - 12/08/2026 09:00
Giữa làn sóng bội thực âm nhạc trên các nền tảng trực tuyến, ngày càng nhiều người nghe quyết định từ bỏ sự tiện lợi của thuật toán để quay về với lối thưởng thức chủ động và giàu tính kết nối hơn.

Vô vi có thật sự là “không làm gì” hay chính là bí quyết để đạt trạng thái dòng chảy?

Từ sách - Phim - Quang Anh - 12/08/2026 08:00
Chưa bao giờ chuyện cân bằng và nghỉ ngơi được nói đến nhiều như bây giờ. Thế nhưng ngồi yên vài phút vẫn là việc khó với không ít người. Tay lại tìm đến điện thoại, xem vài tin nhắn rồi tiện thể kiểm tra luôn email.
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