Sơ đồ mạng ADM

**Phương pháp Sơ đồ mạng Mũi tên** (tiếng Anh: **Arrow Diagramming Method**, viết tắt: **ADM**, dịch nghĩa: *Phương pháp miêu tả [công việc] bằng sơ đồ mũi tên [thay vì nút]*) là một công cụ để tạo phần tiến độ của bản kế hoạch dự án. Cũng như các sơ đồ mạng MPM và sơ đồ mạng PDM, sơ đồ mạng ADM là một trong những dạng thể hiện của phương pháp Đường găng, một phương pháp tổ chức thực hiện công việc. Tuy nhiên, sơ đồ mạng ADM là dạng thể hiện đầu tiên của phương pháp Đường găng, nên thường bị đồng nhất với phương pháp CPM (phương pháp Đường găng).

Sơ đồ mạng ADM là một phương pháp xây dựng bản tiến độ dự án sơ đồ mạng theo phương pháp Đường găng (CPM), mà mỗi công việc (hay công tác) trong dự án được đại diện bởi một mũi tên (gọi là mũi tên công việc) đi ra từ một vòng tròn thể hiện sự kiện bắt đầu (khởi công) của công việc đó và hướng tới một vòng tròn thể hiện sự kiện kết thúc (hoàn thành) của công việc đó.

Theo George J. Ritz trong cuốn "Total Construction Project Management" (Quản lý tổng thể dự án xây dựng) viết: "*In Arrow diagraming, the basic unit is a work activity that occurs between two events or nodes. The events or notes are numbered sequentially, and the activity is identified by the beginning and ending event numbers.*", dịch nghĩa là: Trong sơ đồ biểu diễn bằng mũi tên, các đơn vị cơ bản là công việc nằm giữa hai sự kiện hoặc hai nút. Các sự kiện hay nút được đánh số theo thứ tự, và các công việc được xác định nhờ hai con số sự kiện bắt đầu và kết thúc. Tên của mỗi công việc được gọi theo tên hai sự kiện bắt đầu và kết thúc.

Mối quan hệ thứ tự ưu tiên giữa các công việc được biểu diễn bởi vòng tròn sự kiện, kết nối với một hoặc nhiều mũi tên công việc lại với nhau, trở thành một mạng lưới các vòng tròn sự kiện và mũi tên công việc xâu chuỗi móc xích với nhau. Chiều dài của mũi tên công việc đại diện cho thời gian thực hiện công việc (thời gian công việc) được mũi tên công việc đó thể hiện.

Đôi khi một "công tác ảo" (hay "công việc ảo") được thêm vào trong thành phần của một sơ đồ mạng ADM, để đại diện cho một sự phụ thuộc giữa các công tác (công việc), mà không đại diện cho bất kỳ một công tác nào cả.

## Công việc trong sơ đồ mạng ADM
Các công việc trong sơ đồ mạng ADM, (tiếng Anh là *activity*, hoặc *work activity*, hay *task*), thường ở 3 dạng sau:
### Công việc thông thường
Các công việc thông thường trong sơ đồ mạng mũi tên ADM, là các công việc khoán gọn (tức là các gói công việc, hay công việc trọn gói) (tiếng Anh là: Work package), được phân chia thành nhiều cấp độ bởi Cơ cấu phân chia công việc, mà cấp độ nhỏ nhất của các công việc này là một công tác (tiếng Anh là task, dịch nghĩa là nhiệm vụ), tức là một hoạt động công việc do một tổ đội công nhân làm trên một phân đoạn sản phẩm (công đoạn). Các công tác thông thường sử dụng tới mọi loại nguồn lực (tài nguyên) như: nhân vật lực (tổ đội thợ và máy công cụ), nguyên vật liệu và thời gian (dạng tài nguyên đặc biệt). Các công tác (task) (còn gọi là công tác con - subtask, hay công tác chi tiết) là công việc trên một phân đoạn. Các cấp độ phân chia công việc, lớn hơn công tác có thể là các công tác tổng (hay còn gọi là các công tác khái quát - Summary task), trong dự án xây dựng là: các đợt thi công, tầng công trình, hạng mục công trình, toàn bộ một công trình, hay toàn bộ một tổ hợp công trình. Cấp độ cao nhất của công việc được phân chia bởi cơ cấu phân chia công việc là toàn bộ dự án (Dự án là một công việc tổng quát nhất). Các công tác có cùng tính chất chuyên môn, sẽ được thực hiện bởi cùng một loại nguồn nhân vật lực (thợ chuyên nghiệp), nếu được tổ chức tuần tự, liên tục nhau về mặt thời gian và liên tục cho ra các gói sản phẩm cùng loại, thì được gọi là một dây chuyền (production line) hay một công việc chuyên môn. Công việc thông thường là các công việc thật sự có tiêu tốn các loại tài nguyên.

Các công việc trong sơ đồ mạng mũi tên, thường được biểu diễn dưới dạng một mũi tên có hướng, luôn bắt đầu bằng một sự kiện (sự kiện bắt đầu của công việc đó) và kết thúc cũng được đánh dấu bằng một sự kiện (sự kiện kết thúc của công việc). Hai sự kiện của mỗi một công việc thường được thể hiện bằng một nút dạng vòng tròn, gọi là vòng tròn sự kiện. Mỗi vòng tròn sự kiện thể hiện các thông số sự kiện sau: thời điểm sớm nhất của sự kiện đó (là thời điểm sớm nhất mà sự kiện đó có thể xảy ra), thời điểm muộn nhất của sự kiện (là thời điểm muộn nhất mà sự kiện đó có thể xảy ra, số thứ tự của sự kiện đó trong sơ đồ mạng mũi tên ADM.

### Công việc chờ đợi
Công việc chờ đợi hay sự chờ đợi là một "quá trình thực hiện công việc mà không thực hiện gì cả", ở đó chỉ tiêu tốn một loại tài nguyên đặc biệt chính là thời gian. Công việc chờ đợi thể hiện các gián đoạn công nghệ giữa các công việc thông thường liền kề nhau, theo đúng logic công nghệ. Công việc chờ đợi không tiêu tồn nhân vật lực và nguyên vật liệu. Công việc chờ đợi là một dạng công việc thật sự vì nó có tiêu tốn tài nguyên.

Các công việc chờ chính là các gián đoạn công nghệ (hay gián đoạn kỹ thuật) trong quy trình công nghệ, là các gián đoạn bắt buộc do khách quan gây ra, (khác với các gián đoạn tổ chức do chủ quan người tổ chức thực hiện công việc tạo ra).

### Công việc ảo
Nhược điểm lớn nhất của sơ đồ mạng mũi tên ADM là chỉ thể hiện được trình tự các công việc theo kiểu tuần tự (quan hệ giữa các công việc trước sau chỉ theo một kiểu mối quan hệ duy nhất là: Kết thúc-Bắt đầu (Finish to Start, FS)). Giữa hai sự kiện bắt đầu và kết thúc, không thể biểu diễn được hai hay nhiều công tác con khác nhau, song song cùng bắt đầu tại một sự kiện và lại cùng kết thúc bởi sự kiện kia (tức là không tồn tại nhiều mũi tên công việc độc lập (cung đoạn độc lập, cung đoạn đơn), song song với nhau hoàn toàn, cùng xuất phát tại một sự kiện lại cùng kết thúc chung tại một sự kiện khác). Dạng thể hiện công việc tuần tự này chỉ thích hợp cho việc tổ chức sản xuất theo phương pháp tuần tự, mà không thích hợp cho việc tổ chức sản xuất theo các phương pháp tổ chức khác như: phương pháp tổ chức sản xuất song song, phương pháp tổ chức sản xuất theo dây chuyền, phương pháp tổ chức hỗn hợp (kết hợp tuần tự, song song, dây chuyền). Một công việc độc lập (subtask) chỉ có thể được tiến hành song song với một chuỗi hay nhiều chuỗi các công tác liên tiếp (tạo thành một công tác tổng summary task, cung đoạn phức), thì sơ đồ mạng ADM lại thể hiện được.

Để cải thiện nhược điểm trên, cho đúng thực tế là các công tác độc lập có thể được tổ chức thực hiện song song, muốn thể hiện bằng sơ đồ mạng ADM thì phải chuyển gần như toàn bộ các công tác song song độc lập (cung đoạn đơn) sang dạng cung đoạn phức nối hai sự kiện, chỉ để lại duy nhất một công tác song song độc lập nối hai sự kiện đó. Trên mỗi cung đoạn phức, công tác thật được nối tiếp với một mũi tên công việc mà mũi tên công việc này không tiêu tồn bất kỳ một nguồn tài nguyên nào cả. Mũi tên công việc được thêm vào đó gọi là công việc ảo hay công tác ảo (dummy activity, hay dummy task), nó không thể hiện bất kỳ một công tác thật (công việc thông thường và công việc chờ đợi) nào, mà chỉ thể hiện mối quan hệ phụ thuộc giữa các sự kiện trong sơ đồ mạng. Điều này đồng nghĩa với việc qua hai sự kiện **i** và **j**, chỉ có một công tác **ij** duy nhất, nhưng lại có thể có nhiều chuỗi các công tác nối tiếp **ik**, **kj** (mà hoặc **ik**, hoặc **kj** là một công tác ảo, còn công tác kia là công tác thật).

Công tác ảo còn được gọi là sự phụ thuộc, vì nó thể hiện sự phụ thuộc vào nhau giữa một sự kiện nguồn (sự kiện coi là bắt đầu của công tác ảo) với một sự kiện đích (sự kiện coi là kết thúc của công tác ảo), qua đó nó thể hiện được mối quan hệ phụ thuộc của mọi công tác bắt đầu khởi công từ sự kiện đích (ở trên) với tất cả các công tác kết thúc bởi sự kiện nguồn (ở trên).

Việc sử dụng công tác ảo, làm cho cách thể hiện tiến độ bằng sơ đồ mạng mũi tên ADM trở nên đúng thực tiễn hơn. Tuy nhiên, do phải thêm hàng loạt các công việc ảo vào tiến độ thể hiện bằng sơ đồ mạng ADM, nên làm cho tiến độ trở nên rất cồng kềnh và phức tạp. Chính vì vậy mà người Mỹ về sau chuyển sang sử dung mạng PDM, là dạng mạng nút, cải tiến từ mạng MPM và mạng ADM, trong các phần mềm quản lý dự án như Microsoft Project.

## Đường găng
Cũng giống như các phương pháp sơ đồ mạng Đường găng CPM khác (như sơ đồ mạng MPM, hay sơ đồ mạng PDM), đường găng của sơ đồ mạng ADM cũng là đường xuyên mạng (đường nối từ sự kiện khởi công dự án đến sự kiện hoàn thành dự án) **dài nhất** (tức tổng thời gian thực hiện lớn nhất) và đi qua các **[[công việc găng]]** (các công việc có dự trữ toàn phần bằng 0). Đường găng xác định tổng thời lượng ngắn nhất có thể để dự án được hoàn thành. Trong phương pháp sơ đồ mạng ADM, đường găng là **đường dài nhất** đi **qua các [[sự kiện găng]]** (sự kiện có dự trữ sự kiện bằng 0 nằm trên đường xuyên mạng dài nhất, chỉ các sự kiện găng này mới xác định những công việc (công tác) găng). Một số các công việc, cũng bắt đầu và kết thúc bằng cả hai sự kiện găng nhưng vẫn không là công việc găng, vì chúng vẫn còn có dự trữ riêng khác 0.

Việc xác định đường găng cũng giống như các phương pháp sơ đồ mạng khác như PDM, MPM,... trong sơ đồ mạng ADM cũng phải tính toán theo 2 lượt:
*lượt đi (xác định đường xuyên mạng dài nhất): **S**i = max**L**1-i = max(**S**e + **T**ei, **S**g + **T**gi, **S**h + **T**hi,...) với **S**1 = 0.
*lượt về (tìm các sự kiện găng trên đường xuyên mạng dài nhất, qua đó xác định các công việc găng): **M**i = min**L**i-n = min(**M**j - **T**ij, **M**k - **T**ik, **M**m - **T**im,...) với **M**n = **S**n = max**L**1-n.

### Dự trữ của sự kiện
Dự trữ thời gian của sự kiện là khoảng thời gian chênh lệch giữa thời điểm sớm nhất có thể và thời điểm muộn nhất có thể để sự kiện đó xảy ra. Hay cũng có nghĩa là sự kiện **i** chỉ có thể xảy ra vào một thời điểm nào đó nằm trong khoảng dự trữ của sự kiện **i** đó. Dự trữ sự kiện **D**i = **S**i - **M**i; trong đó: **S**i là thời điểm sớm nhất có thể để sự kiện **i** xảy ra và **M**i là thời điểm sớm nhất có thể để sự kiện **i** xảy ra.

### Dự trữ của công việc

Dự trữ thời gian của công việc (tiếng Anh là: Float) có thể phân làm các dạng sau:
*Dự trữ toàn phần, hay dự trữ chung hoặc dự trữ tổng (total float): là lượng dự trữ thời gian lớn nhất mà công việc có thể sử dụng, nhằm kéo dài thời gian thực hiện của nó (Duration) hoặc trì hoãn thời điểm bắt đầu của nó, mà không ảnh hưởng đến thời hạn hoàn thành dự án. Trong sơ đồ mạng ADM, dự trữ toàn phần được tính bằng: **DT**ij = (**M**j - **S**i - **T**ij) = **D**j + **DR**ij + **D**i = **DS1**ij + **D**j = **DS2**ij + **D**i. Nếu một công việc dùng hết dự trữ toàn phần của nó, thì nó sẽ lấy hết phần dự trữ sự kiện kết thúc của mọi công việc ngay trước nó (các công việc này chỉ có thể còn dự trữ tự do), đồng thời nó cũng lấy hết phần dự trữ sự kiện của mọi công tác liền ngay sau nó (các công việc này chỉ có thể còn dự trữ độc lập). Nếu công việc **ij** được gắn lên trục thời gian theo thời điểm bắt đầu sớm nhất có thể (chính là thời hạn sớm của sự kiện khởi công **i**: **S**i), thì toàn bộ dự trữ toàn phần nằm ở phía sau công việc, gọi là dự trữ toàn phần khởi trước (trường hợp này nên được áp dụng trong thực tế). Nếu công việc **ij** được gắn lên trục thời gian theo thời điểm kết thúc muộn nhất có thể (chính là thời hạn muộn của sự kiện kết thúc **j**: **M**j), thì toàn bộ dự trữ toàn phần nằm ở phía trước công việc (công việc được bắt đầu sau khi đã sử dụng hết dự trữ), gọi là dự trữ toàn phần khởi sau (trường hợp này tạo nên một hiệu ứng không tốt trong quản lý dự án gọi là hiệu ứng sinh viên, hay ở Việt Nam gọi là tình trạng "**Nước đến chân mới nhảy**").
*Dự trữ tự do, hay dự trữ tự do (khởi sau) (free float): là một phần của dự trữ toàn phần, đồng thời là dự trữ thời gian của công việc mà khi công việc sử dụng nó thì không làm ảnh hưởng đến việc bắt đầu sớm nhất của mọi công việc sau. Dự trữ tự do (khởi sau) được tính bằng: **DS1**ij = (**S**j - **S**i - **T**ij) = **DT**ij - **D**j = **DR**ij + **D**i.
*Dự trữ độc lập, hay dự trữ tự do (khởi trước) (free float): là một phần của dự trữ toàn phần, đồng thời là dự trữ thời gian của công việc mà khi công việc sử dụng nó thì không phụ thuộc vào mọi công việc trước (mọi công việc liền trước đều kết thúc muộn nhất trước khoảng dự trữ này). Dự trữ tự do (khởi trước) được tính bằng: **DS2**ij = (**M**j - **M**i - **T**ij) = **DT**ij - **D**i = **DR**ij + **D**j.
*Dự trữ riêng: là một phần của dự trữ toàn phần, đồng thời là một phần của các dự trữ độc lập và tự do, đây là lượng dự trữ thời gian bé nhất của công việc mà khi công việc sử dụng nó thì không phụ thuộc vào mọi công việc trước nó và không làm ảnh hưởng tới việc bắt đầu sớm của mọi công việc sau. Dự trữ riêng được tính bằng: **DR**ij = (**S**j - **M**i - **T**ij)

## Chuyển sơ đồ mạng ADM lên trục thời gian
Nhược điểm của sơ đồ mạng ADM cũng như tất cả các phương pháp thể hiện tiến độ bằng sơ đồ mạng khác là không thể hiện được tiến độ gắn với **trục thời gian** và **trục không gian thực hiện** như các dạng tiến độ thể hiện bằng sơ đồ ngang Gantt và sơ đồ xiên. Để theo dõi được tiến độ bắt buộc cần phải gắn các dạng tiến độ sơ đồ mạng (trong đó có sơ đồ mạng ADM) lên trục thời gian, tức là chuyển đổi thể hiện sang dạng sơ đồ ngang Gantt hay các dạng cải tiến của sơ đồ ngang.

Trong sơ đồ mạng ADM có 2 cách thể thể hiện (gắn) tiến độ lên trục thời gian:
***theo hạn sớm** là kiểu gắn các công việc trong dự án theo thời điểm khởi sớm của sự kiện bắt đầu công việc **S**i (thời điểm bắt đầu sớm nhất có thể của mỗi công việc). Trong kiểu biểu gắn này thời lượng thực hiện của công tác (duration) sẽ nằm trước dự trữ toàn phần của công tác đó. Kiểu này chính là kiểu ràng buộc trên trục thời gian: **Sớm nhất có thể** (As soon as possible) trong sơ đồ mạng PDM, là **BS**ij (PDM)).
***theo hạn muộn** là kiểu gắn các công việc trong dự án theo thời điểm kết muộn của sự kiện kết thúc công việc **M**j (thời điểm kết thúc muộn nhất có thể của mỗi công việc). Trong kiểu biểu gắn này thời lượng thực hiện của công tác (duration) sẽ nằm sau dự trữ toàn phần của công tác đó. Kiểu này chính là kiểu ràng buộc trên trục thời gian: **Muộn nhất có thể** (As late as possible) trong sơ đồ mạng PDM, là **KM**ij (PDM).

Trong sơ đồ mạng ADM, các công việc chỉ có một kiểu quan hệ với nhau duy nhất là kiểu quan hệ tuần tự FS (Finish to Start) với độ trễ bằng 0, nên khi chuyển lên trục thời gian **theo hạn sớm** thì chỉ thể hiện được các **dữ trữ tự do** của tất cả các công việc trong sơ đồ mạng, còn khi chuyển lên trục thời gian **theo hạn muộn** thì chỉ thể hiện được các **dự trữ độc lập** của tất cả các công việc trong sơ đồ mạng.

Còn nếu muốn xác định **dự trữ toàn phần** và **dự trữ riêng** của các công việc không găng trong sơ đồ mạng ADM, thì phải kết hợp hai dạng biểu diễn trên trục thời gian trên lại. Nghĩa là, **dự trữ toàn phần** của các công việc không găng là khoảng thời gian hợp giữa dự trữ độc lập và dự trữ tự do trên trục thời gian. Còn **dự trữ riêng** là khoảng thời gian giao (nhau) giữa dự trữ tự do và dự trữ độc lập.

## Chú thích

## Tham khảo
* Hướng dẫn về những kiến thức cốt lõi trong Quản lý dự án
**Total Construction Project Management* (Quản lý tổng thể dự án xây dựng) của George J. Ritz.
**Các phương pháp sơ đồ mạng trong xây dựng* của Trịnh Quốc Thắng, nhà xuất bản Xây dựng. 
**Quản lý dự án bằng sơ đồ mạng* của Lê Văn Kiểm và Ngô Quang Tường. 
**Tổ chức xây dựng 1: Lập kế hoạch, tổ chức và chỉ đạo thi công* của Nguyễn Đình Thám và Nguyễn Ngọc Thanh.