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àm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Điều nước Mỹ cần

Theo báo cáo của chính phủ Mĩ, trong năm thứ hai liên tiếp, kĩ sư phần mềm là việc làm số một ở Mĩ.
4

Kỹ nghệ phần mềm và khoa học máy tính

Một sinh viên hỏi tôi: “Tại sao tôi cần học Kĩ nghệ phần mềm thay vì Khoa học máy tính? Sau rốt, chúng là như nhau và sau khi tốt nghiệp đằng nào chúng tôi cũng sẽ làm việc trong công nghiệp phần mềm?”
5

Tri thức và kỹ năng

Tuần trước, tôi đã thảo luận với sinh viên về kĩ năng mà công nghiệp phần mềm cần. Khi tôi bảo họ rằng có nhiều việc làm cho xây dựng ứng dụng di động và làm việc với các ứng dụng bán sẵn trên thị trường Commercial Off The Shelf (COTS) như SAP và PeopleSoft, một sinh viên lập tức lên tiếng lo ngại rằng những điều đó không được dạy trong 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 đề.

Làm việc hay không làm việc

Blog GS John VU - GS John Vu - 20/06/2026 12:00
Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”

‘Thuật nhìn người’ của Gia Cát Lượng: Quan sát 7 điều, người tài - người tệ không thể che giấu!

Kỹ năng - Diệu Đan - 20/06/2026 11:00
7 tiêu chí nhìn người của Gia Cát Lượng không chỉ đúng trong việc chọn tướng thời loạn, mà còn là kim chỉ nam hữu ích trong thời hiện đại khi quản trị nhân sự, kinh doanh ngày nay.

Bộ não của bạn đạt đỉnh cao ở độ tuổi nào?

Suy ngẫm - Phạm Hường - 20/06/2026 10:00
Khi tuổi trẻ dần trôi vào dĩ vãng, bạn có thể bắt đầu lo sợ về tuổi già, nhưng nghiên cứu cho biết nhiều người trong chúng ta, chức năng tâm lý tổng thể thực sự đạt đỉnh điểm ở độ tuổi từ 55 đến 60.

CEO Nvidia hé lộ bí mật thành công trong sự nghiệp của một con người

Phong cách sống - Mai Trang - 20/06/2026 09:00
Đó là hãy học cách yêu công việc mình đang làm thay bằng tìm kiếm công việc mình yêu thích.

Trạm dừng sinh tử: Quan sát trung thực về những cuộc gặp gỡ trong giây phút cuối cùng

Từ sách - Phim - TĐ - 20/06/2026 08:00
Có một câu hỏi mà hầu hết chúng ta đều né tránh suốt cả cuộc đời: điều gì xảy ra sau khi chúng ta chết?

Lập mục đích

Blog GS John VU - GS John Vu - 19/06/2026 12:00
Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?

Tâm lý CEO: Nghệ thuật giữ bình tĩnh, ra quyết định và dẫn dắt trong áp lực

Kỹ năng - Vũ Anh - 19/06/2026 11:00
Giữ được sự minh mẫn, kiểm soát cảm xúc và ra quyết định tỉnh táo trong khủng hoảng — đó là “môn võ thượng thừa” mà không trường lớp nào có thể dạy.

"Thần đồng" Đại học Thanh Hoa, 49 tuổi vẫn thất nghiệp: Khi ra tới biển lớn, mới biết bản thân chỉ là hạt cát nhỏ

Suy ngẫm - Nguyễn Phượng - 19/06/2026 10:00
Khi vào đại học Thanh Hoa, nam sinh được mệnh danh là "thần đồng" mới biết còn nhiều người giỏi hơn mình.

Con trai duy nhất của Gia Cát Lượng vì sao không thể nối nghiệp cha?

Phong cách sống - Linh Lan - 19/06/2026 09:00
Gia Cát Lượng chỉ có một con trai ruột, rất thông tuệ và sớm được trọng dụng, nhưng "bên ngoài chẳng giúp được quốc gia, bên trong chẳng thể thay đổi triều chính".

Minh triết từ nỗi bất an - Khi hiểu biết làm con người mệt mỏi hơn

Từ sách - Phim - Bảo Lam - 19/06/2026 08:00
Trong “Minh triết từ nỗi bất an”, Alan Watts viết về một nghịch lý rất gần với con người hiện đại: càng cố hiểu, cố dự đoán và kiểm soát đời sống để thấy an toàn, ta lại càng dễ mắc kẹt trong lo âu.

Công nghệ và cơ hội

Blog GS John VU - GS John Vu - 18/06/2026 12:00
Nếu chúng ta nhìn lại thành tựu của công nghệ, chúng ta sẽ ngạc nhiên về tiến bộ đã được thực hiện.

Warren Buffett tiết lộ nguyên tắc vàng, đảm bảo sự thành công bền vững

Phong cách sống - Thiên Di - 18/06/2026 11:41
Bên cạnh những phân tích sắc sảo về báo cáo tài chính hay các thương vụ đầu tư trị giá hàng tỷ USD, huyền thoại Warren Buffett mới đây đã chia sẻ về một triết lý sống cốt lõi mà ông cho rằng là chìa khóa để duy trì sự thành công và bền vững cho mọi tổ chức.

Sắp phát hành: Sức mạnh của nghỉ ngơi

Tủ sách - FN - 18/06/2026 08:00
Chúng ta thường nghĩ rằng nghỉ ngơi là ngủ một giấc, nằm yên một lúc, tạm rời công việc rồi cơ thể sẽ tự hồi phục lại. Nhưng có lúc ta ngủ đủ mà vẫn thức dậy trong trạng thái nặng nề. Cơ thể có thể không quá mỏi, nhưng đầu óc vẫn quay cuồng; ta vẫn thấy mình phải trả lời tin nhắn, phải tỏ ra ổn, phải chiều lòng người khác, phải tiếp tục.

Phần mềm mã nguồn mở

Blog GS John VU - GS John Vu - 17/06/2026 12:00
Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.

Người già khôn ngoan thường giả bộ 3 điều này với con cái

Kỹ năng - Thanh Hương - 17/06/2026 11:00
Có những thứ nên giả bộ cho qua
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