Đồng nghiệp (phi kỹ thuật) của tôi đã đe dọa tôi với biểu đồ Gantt cho một dự án mới mà chúng tôi hiện đang lên kế hoạch. Điều này có khả năng cung cấp cho chúng ta là gì, và nó sẽ là một công cụ hữu ích?
Đồng nghiệp (phi kỹ thuật) của tôi đã đe dọa tôi với biểu đồ Gantt cho một dự án mới mà chúng tôi hiện đang lên kế hoạch. Điều này có khả năng cung cấp cho chúng ta là gì, và nó sẽ là một công cụ hữu ích?
Câu trả lời:
Như Wikipedia nói rằng biểu đồ Gannt là một loại biểu đồ thanh (thường là "loại đường") giúp lập kế hoạch dự án. Nó thường được vẽ thủ công trên tường trên một tờ giấy lớn (thực sự lớn), vì nó dễ dàng được sửa đổi theo định dạng đó.
Nó là một loại công cụ lập kế hoạch rất đơn giản; bạn có thể sản xuất nó trong Excel hoặc một số tương đương; và khá hiệu quả, miễn là thời gian cần thiết cho các giai đoạn nhất định của dự án có thể được ước tính đại khái. Nếu có sự chậm trễ - không có vấn đề gì - một dòng bị chậm lại, các dòng khác vẫn giữ nguyên và bạn có một ngày kết thúc dự án mới.
Các giai đoạn chồng chéo (theo thời gian) có thể dễ dàng nhìn thấy trên đó, dễ dàng như sự phụ thuộc của việc bắt đầu một giai đoạn dựa vào kết thúc của một giai đoạn khác.
Tất cả chỉ có thế.
Tất nhiên, vấn đề với Gannt (hay "biểu đồ thời gian" như thường được gọi ở phần của tôi trên thế giới) là, khi bắt đầu một dự án, bạn đã vẽ nó lên tường một cách độc đáo, cảm thấy nhiệt tình và hạnh phúc, ... sau đó một sự chậm trễ xảy ra, và bạn thay đổi nó trên biểu đồ, và bạn vẫn đang vui vẻ ... sau đó một sự chậm trễ khác xảy ra, bạn vẽ lại và bạn vẫn cảm thấy khá tốt .. Sự chậm trễ 100 lần xảy ra ... bạn đang cảm thấy như _______ (bị kiểm duyệt).
Có nghĩa, nó chỉ là một công cụ lập kế hoạch dự án tốt nếu bạn thực sự bám sát những thời hạn nhỏ đó. Vì vậy, ngừng lãng phí thời gian ở đây và đi làm!
Một biểu đồ Gantt được sản xuất và duy trì tốt có thể là một công cụ tuyệt vời. Những lợi ích chính là cho thấy những nhiệm vụ nào phụ thuộc vào các nhiệm vụ khác, dự đoán làm thế nào dự án có thể bị ảnh hưởng bởi sự chậm trễ và làm nổi bật những giờ lãng phí vì bạn đang chờ đợi điều gì khác.
Tôi đã sử dụng thành công biểu đồ Gantt trong quá khứ để quản lý dự án phần mềm. Tôi cũng đã thấy mọi người bỏ rơi họ trong thất vọng.
Bất kỳ công cụ quản lý dự án nào cũng chỉ hữu ích nếu nó trả lời các câu hỏi mà ai đó thực sự đang hỏi. Trong trường hợp của tôi, tôi liên tục được hỏi hai câu hỏi và biểu đồ Gantt của tôi có thể trả lời:
Vì vậy, những yếu tố cần thiết cho một biểu đồ Gantt là hữu ích?
Điều đó nên rõ ràng. Nếu chỉ có một thành viên trong nhóm, thì tất cả những gì bạn cần là một danh sách các nhiệm vụ trong một cột. Bạn sẽ chỉ làm chúng lần lượt.
Đây có vẻ như là một tuyên bố rõ ràng khác, nhưng bạn sẽ ngạc nhiên khi có nhiều dự án phần mềm không được xác định rõ đủ để có thể chia thành các nhiệm vụ. Bạn thực sự sẽ cần một đặc điểm kỹ thuật trả trước, và một số mức độ của thiết kế trả trước. Trong một số phương pháp nhanh / cực đoan, bạn không thể sử dụng biểu đồ Gantt, vì bạn không biết nhiệm vụ nào sẽ được thực hiện trong vòng lặp 3 tuần tiếp theo.
Ai đó đã dành thời gian để duy trì sự việc. Quá thường xuyên, ai đó dành nhiều ngày để tạo ra một biểu đồ Gantt chi tiết, sau đó bỏ qua nó. Có lẽ anh ta sẽ lấy nó ra một tháng sau đó, cười một cách lo lắng và vứt nó đi, không bao giờ nói về nó nữa.
Khi bạn có các nhiệm vụ và ước tính tốt nhất, bạn đưa chúng vào biểu đồ. Và khi nhiệm vụ đầu tiên đã hoàn thành, bạn phải đánh dấu nó trên biểu đồ và sau đó đưa ra tất cả các nhiệm vụ khác xung quanh để bù cho thực tế ước tính của bạn là sai. Và hai ngày sau bạn làm lại. Và sau đó một lần nữa, hai ngày sau. Và tất nhiên, khi bạn quên một thứ gì đó hoặc một lỗi xuất hiện, bạn phải đặt các nhiệm vụ mới lên biểu đồ.
Điều đó có vẻ như là một cam kết thời gian liên tục đáng kể, và bạn đã đúng. Động lực để làm điều này đến từ đâu?
Thời gian tôi đã sử dụng biểu đồ Gantt thành công là nơi có các cuộc họp quản lý dự án hàng tuần. Người quản lý sẽ đi quanh phòng yêu cầu mỗi trưởng nhóm phát biểu khi nào dự án của họ sẽ được giao. Nếu một dự án đang chạy phía sau thì tài nguyên sẽ được phân bổ lại. Trong hai cuộc họp đầu tiên, tôi sẽ nói lắp rằng tôi không thực sự biết khi nào nó sẽ được giao, và sẽ đưa ra một "mơ hồ trong ba tháng" mơ hồ. Sự bối rối về điều này khiến tôi thay đổi chiến lược của mình và chắc chắn rằng tôi đã có một biểu đồ Gantt cập nhật và chính xác trước mỗi cuộc họp.
Là một tác dụng phụ, điều này làm cho dự án của tôi được tổ chức tốt hơn và hiệu quả hơn, và các thành viên trong nhóm của tôi có động lực hơn.
Không có phát minh duy nhất nào xứng đáng nhận được nhiều tín dụng hơn cho việc lập kế hoạch dự án là không phổ biến như ngày nay so với Theo dõi Gantts. Theo dõi Gantts không chỉ được coi là có hại - chúng nên được coi là xấu xa. Đây là lý do tại sao.
Lý do số 1: Động lực của họ
Theo dõi Gantts cho bạn thấy, đối với từng bước trong kế hoạch của bạn, bạn nghĩ sẽ mất bao lâu và thực sự mất bao lâu. Bạn có thể biết, mỗi ngày và trong cuộc họp trạng thái, giai đoạn X đó được cho là bắt đầu vào tháng 3, nhưng rõ ràng là nó sẽ không bắt đầu cho đến tháng Năm. Tuyệt vời. Bạn đã biết, khi bạn lập kế hoạch ban đầu, kế hoạch sẽ phải thay đổi khi dự án tiến triển. Thông tin mới được đưa ra ánh sáng. Con người và tài nguyên là không thể đoán trước, v.v ... Vậy tại sao điều quan trọng là liên tục được nhắc nhở, trong mỗi cuộc họp trạng thái, dự đoán ban đầu của bạn kém như thế nào trong cuộc sống thực?
Lý do # 2: Họ buộc bạn phải tuân theo kế hoạch ban đầu
Ý tưởng theo dõi biểu đồ Gantt của dự án có nghĩa là thay vì tập trung vào việc liên tục điều chỉnh kế hoạch công việc của bạn dựa trên thông tin mới, bạn chọn bám vào một kế hoạch lỗi thời, chỉ vì nó cho phép bạn chỉ tay và làm nổi bật những dự đoán sai đó là kết quả tất yếu của sự không chắc chắn rất lớn mà giai đoạn lập kế hoạch ban đầu của dự án đòi hỏi. Rốt cuộc, bạn không thể theo dõi Gantt nếu bạn cho phép kế hoạch thay đổi hoàn toàn, phải không? Nó phải có hình dạng chung giống nhau và bao gồm các bước giống nhau, nếu không thì không có gì để theo dõi ... Xương dính vào kế hoạch là lý do số một tại sao "Thác nước" thực sự được coi là một thuật ngữ miệt thị ngày nay. Kế hoạch trước bị nhầm lẫn với việc bám sát kế hoạch ban đầu.
Lý do thứ 3: Họ không dạy gì cho bạn
Nó không giống như sự chậm trễ trong dự án này thực sự sẽ thay đổi cách bạn lập kế hoạch cho dự án tiếp theo, trừ khi các dự án bạn dự định là tương tự và lặp đi lặp lại. Rốt cuộc, đó là những gì Gantts ban đầu được sử dụng cho - lập kế hoạch công việc trong các dây chuyền sản xuất của nhà máy, nơi các nhiệm vụ được xác định rất rõ và thời lượng của chúng là cực kỳ dễ đoán.
Giá trị theo dõi thêm vào biểu đồ Gantt phát triển phần mềm bằng không. Có thể cho rằng thậm chí ít hơn không. Không chỉ các ước tính trong quá khứ không liên quan đến các dự án mới, ảo tưởng rằng bạn thực sự có thể cải thiện khả năng ước tính của mình theo thời gian bằng cách hồi tưởng là nguy hiểm. Chắc chắn, một sinh viên CS có thể thực sự không biết rằng hội nhập cần nhiều thời gian trong cuộc sống thực. Nhưng bất cứ ai tham gia vào hơn hai dự án trong đời đều nhận thức rõ về những nghi phạm thông thường đối với các dự án bị trì hoãn. Các dự án lý do thực sự bị trì hoãn không phải là một số yếu tố lỗi toán học phải được áp dụng cho các ước tính nói chung - đó là sự không chắc chắn cố hữu đi kèm với việc làm lần đầu tiên và không biết chính xác nó sẽ diễn ra như thế nào.
Có những hệ thống quản lý dự án thực sự ngoài kia đang cố gắng tấn công vấn đề từ góc độ sai lầm này. Họ đo lường dự đoán của bạn so với hiệu suất thực tế và cố gắng điều chỉnh ước tính tổng thể của bạn bằng phân tích thống kê. Như thể "Daniel luôn đánh giá thấp mọi thứ 14,3%" là điều từng xảy ra. Danny không ngu ngốc, và cho rằng lỗi dự đoán của anh là có thể dự đoán được thực sự là ngu ngốc. Nó nhầm lẫn giữa "phương pháp chữa bệnh" nguyên thủy - thêm các yếu tố vào ước tính của bạn - với nguyên nhân của vấn đề. Ước tính của bạn không chính xác vì nó không được nhân với hệ số "chính xác". Kế hoạch của bạn chỉ đơn giản là không đầy đủ; và mọi kế hoạch đều không hoàn chỉnh theo cách riêng của nó.
Lý do 4: Họ tập trung sự chú ý của bạn vào những điều sai trái
Thay vì tập trung vào những gì cần hoàn thành để giao hàng đúng hạn, giờ đây bạn tập trung vào việc chứng minh những dự đoán không chính xác của mình. Thay vì tập trung vào việc lập kế hoạch chi tiết hơn và điều chỉnh kế hoạch của bạn với thông tin mới, bạn đang thực hiện lại một kế hoạch đã lỗi thời. Các dự án hiếm khi bị trì hoãn vì các phần của kế hoạch làm việc được ước tính không chính xác. Họ bị trì hoãn vì một đống thứ nhảm nhí chỉ đơn giản là bị loại khỏi kế hoạch ban đầu. Theo dõi Gantts làm cho điều này thậm chí còn tồi tệ hơn, bởi vì loại động lực nào bạn phải chèn thêm chi tiết vào kế hoạch của mình nếu tất cả chỉ được đưa ra làm nổi bật như một ước tính kém trong mỗi cuộc họp trạng thái? Chúng làm cho bạn gắn bó với khối lượng lớn công việc có thể theo dõi trong biểu đồ Gantt của bạn. Thay vì để bạn tập trung vào việc thích nghi và đi đúng hướng,
Ngoài ra còn có vấn đề là không có các công cụ đủ tốt để quản lý các kế hoạch được xây dựng đầy đủ. Bạn có cơ hội tốt hơn nhiều trong việc xây dựng một kế hoạch ban đầu (và ước tính) tốt nếu các công cụ của bạn cho phép bạn phơi bày tất cả những bước thường bị bỏ quên trên đường đi. Gantts truyền thống là những con thú có độ phân giải thấp được các nhà phát triển xem là những bức tranh biếm họa về thực tế của quản lý dự án. Điều cần thiết là một công cụ giúp bạn dễ dàng thêm càng nhiều thông tin vào kế hoạch làm việc ở giai đoạn sớm nhất, và sau đó làm cho nó dễ dàng điều chỉnh kế hoạch của bạn khi sương mù không chắc chắn dần dần biến mất khỏi dự án của bạn. Điều cuối cùng bạn cần là những lời nhắc nhở có độ phân giải thấp không ngừng về những dự đoán trong quá khứ không chính xác của bạn. Gantts theo dõi là tốt để chỉ ngón tay và che mông, không phải để hoàn thành công việc.
Phần mềm biểu đồ Gantt cho phép phân tích các phụ thuộc nội bộ phức tạp và dự đoán ảnh hưởng của tràn ngập và chậm trễ.
Tuy nhiên, đối với hầu hết các dự án phần mềm, có rất ít phụ thuộc nội bộ và đầu vào bên ngoài, do đó, chìa khóa để dự đoán là biết hệ số nhân nào sẽ sử dụng khi nhóm phần mềm cho biết sẽ mất 3 tuần.
Như những người khác đã nói một biểu đồ Gantt (thường được gọi một cách không chính thức là một kế hoạch dự án) là một cách ánh xạ các nhiệm vụ và sự phụ thuộc lẫn nhau giữa các nhiệm vụ đó, mục đích là để thiết lập tổng thời gian tối thiểu cho một dự án.
Từ góc độ quản lý, đầu ra chính là xác định đường dẫn quan trọng, đó là danh sách các nhiệm vụ mà nếu chúng bị trì hoãn thì dự án bị trì hoãn.
Một ví dụ rất đơn giản - giả sử hai lập trình viên đang làm việc trong một dự án với ba nhiệm vụ (mô-đun mã A mất một lập trình viên 10 ngày, mô-đun mã B mất một lập trình viên 5 ngày, sau đó tích hợp a và b mất cả hai lập trình viên 2 ngày). Hai nhiệm vụ đầu tiên (mô-đun mã hóa A và B) sẽ được thực hiện song song và mục đích là hoàn thành cả ba nhiệm vụ và do đó, dự án sẽ hoàn thành trong 12 ngày.
Trong trường hợp này, đường dẫn quan trọng là mô-đun mã hóa A sau đó thử nghiệm tích hợp. Việc mã hóa mô-đun B thực sự có thể bắt đầu trễ 5 ngày (hoặc chạy quá năm ngày) mà không ảnh hưởng gì ngay cả khi nó hoàn thành đúng hạn, mô-đun mã hóa A sẽ mất nhiều thời gian hơn. Mặt khác, nếu mô-đun mã hóa A hoặc kiểm tra tích hợp trượt bất cứ lúc nào, toàn bộ dự án sẽ trượt.
Biết loại điều này giúp bạn hiểu cách triển khai tài nguyên và liệu sự chậm trễ đối với một nhiệm vụ cụ thể có khả năng ảnh hưởng đến toàn bộ dự án hay không.
Chúng có hữu ích không? Rõ ràng là có, nhưng với một cảnh báo quan trọng: chỉ chừng nào thông tin đi vào chúng là tốt - đó là:
Và từ đó, nhóm phải làm việc với biểu đồ và thực hiện các nhiệm vụ theo đúng thứ tự (không làm điều gì thú vị hơn là nhiệm vụ được giao vì điều đó sẽ có khả năng trì hoãn điều gì đó / người khác xuống dòng).
Nếu bạn làm tất cả những điều đó thì có, nó thực sự có thể giúp bạn nhưng công việc phải được đưa lên phía trước để đảm bảo nó chính xác và thực tế.
Tôi yêu các biểu đồ Gantt và nếu có các lựa chọn phần mềm tốt hơn cho Mac để tạo chúng, tôi sẽ sử dụng chúng mọi lúc.
Nhận thấy sự phụ thuộc là rất lớn. "Nếu chúng tôi không hoàn thành phần chèn lấp dữ liệu của dự án, thì việc xây dựng các cải tiến whatsit không thể bắt đầu."
Nếu dự án của bạn là một dự án phát triển phần mềm thì biểu đồ Gantt sẽ không hữu ích và chủ yếu sẽ lãng phí thời gian. Chúng không được thiết kế cho bản chất lỏng của phát triển phần mềm, tức là.
Kết quả cuối cùng là bạn sẽ dành nhiều thời gian để cập nhật kế hoạch hơn là thực hiện công việc.
Chỉ cần quản lý các yêu cầu của bạn và mọi thứ khác sẽ tự chăm sóc bản thân.
YMMV