เพื่อนร่วมงานของฉัน (ที่ไม่ใช่ด้านเทคนิค) ได้ข่มขู่ฉันด้วยแผนภูมิ Gantt สำหรับโครงการใหม่ที่เรากำลังวางแผน สิ่งนี้มีแนวโน้มที่จะให้สำหรับเราและมันจะเป็นเครื่องมือที่มีประโยชน์หรือไม่
เพื่อนร่วมงานของฉัน (ที่ไม่ใช่ด้านเทคนิค) ได้ข่มขู่ฉันด้วยแผนภูมิ Gantt สำหรับโครงการใหม่ที่เรากำลังวางแผน สิ่งนี้มีแนวโน้มที่จะให้สำหรับเราและมันจะเป็นเครื่องมือที่มีประโยชน์หรือไม่
คำตอบ:
ตามที่ Wikipedia บอกว่าแผนภูมิ Ganntเป็นประเภทของแผนภูมิแท่ง (มักจะเป็น "ประเภทบรรทัด") ที่ช่วยในการวางแผนโครงการ มันมักจะถูกวาดด้วยตนเองบนผนังบนกระดาษชิ้นใหญ่ (ใหญ่จริงๆ) เนื่องจากมันถูกดัดแปลงในรูปแบบนั้นอย่างง่ายดาย
เป็นเครื่องมือการวางแผนแบบง่าย ๆ คุณสามารถสร้างมันใน Excel หรือเทียบเท่า; และค่อนข้างมีประสิทธิภาพตราบใดที่เวลาที่จำเป็นสำหรับระยะของโครงการสามารถประมาณคร่าว ๆ ได้ หากมีความล่าช้า - ไม่มีปัญหา - หนึ่งบรรทัดได้รับเล้ง, อื่น ๆ อยู่เหมือนกันและคุณมีวันที่สิ้นสุดโครงการใหม่
ขั้นตอนที่เหลื่อมล้ำ (เวลาที่เหมาะสม) สามารถมองเห็นได้ง่ายเช่นเดียวกับการขึ้นต่อกันของการเริ่มต้นเฟสหนึ่งโดยพึ่งพาจุดสิ้นสุดของอีกเฟสหนึ่ง
ทั้งหมดนี้มีไว้เพื่อมันจริงๆ
แน่นอนว่าปัญหาของ Gannt (หรือ "time chart" ซึ่งมักจะถูกเรียกในส่วนของฉันของโลก) ก็คือว่าในช่วงเริ่มต้นของโครงการคุณได้วาดมันขึ้นมาบนผนังอย่างรู้สึกกระตือรือร้น และมีความสุข ... จากนั้นเกิดความล่าช้าหนึ่งครั้งและคุณเปลี่ยนมันบนแผนภูมิและคุณยังคงรู้สึกสุขใจ ... จากนั้นอีกความล่าช้าก็เกิดขึ้นคุณวาดมันขึ้นมาอีกครั้งและคุณยังรู้สึกดีอยู่ .. . ความล่าช้า 100x เกิดขึ้น ... คุณรู้สึกเหมือน _______ (ถูกเซ็นเซอร์)
ความหมายมันเป็นเพียงเครื่องมือในการวางแผนโครงการที่ดีหากคุณยึดติดกับเส้นตายเล็กน้อย ดังนั้นหยุดเสียเวลาที่นี่และไปทำงาน!
แผนภูมิแกนต์ที่ผลิตและบำรุงรักษาอย่างดีสามารถเป็นเครื่องมือที่ยอดเยี่ยม ประโยชน์หลักคือการแสดงว่างานใดขึ้นอยู่กับงานอื่น ๆ ทำนายว่าโครงการจะได้รับผลกระทบจากความล่าช้าและเน้นชั่วโมงที่สูญเปล่าเพราะคุณกำลังรออย่างอื่น
ฉันเคยใช้แผนภูมิของแกนต์มาก่อนในการจัดการโครงการซอฟต์แวร์ ฉันเคยเห็นผู้คนละทิ้งพวกเขาด้วยความหงุดหงิด
เครื่องมือการจัดการโครงการใด ๆ ที่มีประโยชน์ก็ต่อเมื่อตอบคำถามที่มีคนถามจริง ในกรณีของฉันฉันถูกถามอย่างต่อเนื่องสองคำถามและแผนภูมิ Gantt ของฉันสามารถตอบได้:
ดังนั้นปัจจัยใดบ้างที่จำเป็นสำหรับแผนภูมิแกนต์ที่จะเป็นประโยชน์?
นั่นควรจะชัดเจน หากมีสมาชิกในทีมเพียงคนเดียวสิ่งที่คุณต้องมีก็คือรายการของงานในหนึ่งคอลัมน์ คุณจะทำมันทีละอย่าง
ดูเหมือนว่าจะเป็นคำแถลงที่ชัดเจน แต่คุณจะประหลาดใจว่ามีโครงการซอฟต์แวร์จำนวนเท่าใดที่ไม่ได้รับการกำหนดอย่างเพียงพอที่จะสามารถแบ่งออกเป็นงานต่างๆได้ คุณจะต้องมีคุณสมบัติตรงไปตรงมาและการออกแบบในระดับต้น ๆ ในวิธีการแบบว่องไว / สุดขีดบางอย่างคุณไม่สามารถใช้แผนภูมิ Gantt ได้เนื่องจากคุณไม่รู้ว่างานใดจะอยู่ในการคำนวณซ้ำ 3 สัปดาห์ถัดไป
ใครบางคนได้ใช้เวลาในการรักษาสิ่ง บ่อยครั้งที่บางคนใช้เวลาเป็นวันในการสร้างแผนภูมิ Gantt ที่มีรายละเอียดแล้วละเลยมัน บางทีเขาอาจจะเอามันออกไปในอีกหนึ่งเดือนต่อมาหัวเราะอย่างหงุดหงิดแล้วโยนมันทิ้งไปอย่าพูดถึงมันอีกเลย
เมื่อคุณมีงานและการประมาณการที่ดีที่สุดคุณก็วางมันลงในแผนภูมิ และเมื่องานแรกเสร็จสมบูรณ์คุณต้องทำเครื่องหมายบนแผนภูมิและจากนั้นกระตุกงานอื่นทั้งหมดรอบ ๆ เพื่อชดเชยความจริงที่คุณคาดการณ์ไว้ผิด และสองวันต่อมาคุณทำมันอีกครั้ง จากนั้นอีกครั้งอีกสองวันต่อมา และแน่นอนเมื่อปรากฎว่าคุณลืมบางสิ่งบางอย่างหรือมีข้อบกพร่องเกิดขึ้นคุณต้องใส่งานใหม่ลงในแผนภูมิ
นั่นอาจฟังดูเป็นคำมั่นสัญญาต่อเนื่องที่สำคัญและคุณพูดถูก แรงจูงใจในการทำสิ่งนี้มาจากไหน
เวลาที่ฉันใช้แผนภูมิ Gantt ประสบความสำเร็จคือที่ซึ่งมีการประชุมการจัดการโครงการประจำสัปดาห์ ผู้จัดการจะไปรอบ ๆ ห้องเพื่อขอให้หัวหน้าทีมแต่ละคนระบุว่าจะส่งมอบโครงการเมื่อใด หากโครงการกำลังทำงานอยู่เบื้องหลังทรัพยากรจะถูกจัดสรรใหม่ สำหรับการประชุมสองครั้งแรกฉันจะพูดติดอ่างว่าฉันไม่รู้จริง ๆ ว่าจะส่งมอบอย่างไรและจะเกิดความคลุมเครือ "ในสามเดือน" ความลำบากใจของสิ่งนี้ทำให้ฉันเปลี่ยนกลยุทธ์ของฉันและทำให้แน่ใจว่าฉันมีแผนภูมิ Gantt ที่ทันสมัยและถูกต้องก่อนการประชุมแต่ละครั้ง
ผลข้างเคียงนี้ทำให้โครงการของฉันจัดระเบียบได้ดีขึ้นและมีประสิทธิภาพมากขึ้นและสมาชิกในทีมของฉันมีแรงจูงใจมากขึ้น
ไม่มีสิ่งประดิษฐ์เดียวที่สมควรได้รับเครดิตมากขึ้นสำหรับการวางแผนโครงการที่ไม่เป็นที่นิยมเหมือนในปัจจุบันมากกว่าการติดตามแกนต์ การติดตามแกนต์ไม่ควรเพียงพิจารณาว่าเป็นอันตรายเท่านั้น แต่ควรถือว่าเป็นความชั่วด้วย นี่คือเหตุผล
เหตุผล # 1: แรงจูงใจของพวกเขา
การติดตามแกนต์ช่วยให้คุณเห็นว่าในแต่ละขั้นตอนของแผนคุณคิดว่าจะใช้เวลานานแค่ไหนและใช้เวลานานเท่าใด คุณจะได้รับรู้ทุกวันและในการประชุมสถานะเฟสนั้นควรเริ่มต้นในเดือนมีนาคม แต่จะไม่เริ่มต้นอย่างชัดเจนจนถึงเดือนพฤษภาคม น่ากลัว คุณรู้แล้วว่าเมื่อคุณวางแผนครั้งแรกแผนจะต้องเปลี่ยนเมื่อโครงการดำเนินไป ข้อมูลใหม่มาถึงแสง ผู้คนและทรัพยากรต่าง ๆ ไม่สามารถคาดเดาได้ ฯลฯ ดังนั้นเหตุใดจึงสำคัญที่ต้องได้รับการเตือนตลอดเวลาในการประชุมสถานะทุกครั้งการคาดการณ์ก่อนหน้านี้ของคุณไม่ยุติธรรมในชีวิตจริงอย่างไร
เหตุผลที่ # 2: พวกเขาบังคับให้คุณยึดติดกับแผนเดิม
แนวคิดในการติดตามแผนภูมิ Gantt ของโครงการหมายความว่าแทนที่จะมุ่งเน้นที่จะปรับแผนการทำงานของคุณตามข้อมูลใหม่อย่างต่อเนื่องคุณเลือกที่จะยึดติดกับแผนการที่ล้าสมัยเพียงเพราะมันช่วยให้คุณใช้นิ้วชี้และเน้นการคาดการณ์ผิดพลาด ผลลัพธ์ที่หลีกเลี่ยงไม่ได้จากความไม่แน่นอนจำนวนมากที่ช่วงการวางแผนเริ่มต้นของโครงการได้รับมา ท้ายที่สุดคุณไม่สามารถติดตาม Gantt ได้หากคุณอนุญาตให้เปลี่ยนแผนอย่างรุนแรงใช่ไหม มันจะต้องมีรูปร่างที่เหมือนกันและประกอบไปด้วยขั้นตอนเดียวกันมิฉะนั้นไม่มีอะไรที่จะต้องติดตาม ... การยึดติดกับแผนคือเหตุผลอันดับหนึ่งที่ทำให้ "น้ำตก" ถือเป็นคำเหยียดหยามในสมัยนี้ การวางแผนล่วงหน้าสับสนกับการผสานกับแผนเดิม
เหตุผล # 3: พวกเขาไม่ได้สอนอะไรคุณ
ไม่เหมือนความล่าช้าในโครงการนี้จริง ๆ แล้วจะเปลี่ยนวิธีที่คุณวางแผนในโครงการถัดไปเว้นแต่ว่าโครงการที่คุณกำลังวางแผนนั้นคล้ายคลึงกันและซ้ำซาก ท้ายที่สุดแล้วนั่นคือสิ่งที่แกนต์ใช้ในการวางแผนงานในสายการผลิตของโรงงานซึ่งมีการกำหนดภารกิจเป็นอย่างดีและสามารถคาดการณ์ระยะเวลาได้มาก
ค่าที่การติดตามเพิ่มลงในแผนภูมิการพัฒนาแกนต์ของซอฟต์แวร์เป็นศูนย์ เนื้อหาแม้แต่น้อยกว่าศูนย์ ไม่เพียง แต่การประเมินในอดีตที่ไม่เกี่ยวข้องกับโครงการใหม่ภาพลวงตาที่คุณสามารถปรับปรุงความสามารถในการประมาณค่าของคุณเมื่อเวลาผ่านไปโดยการหวนกลับเป็นสิ่งที่อันตราย แน่นอนว่านักเรียน CS อาจไม่ทราบว่าการบูรณาการต้องใช้เวลามากมายในชีวิตจริง แต่ใครก็ตามที่มีส่วนร่วมในโครงการมากกว่าสองโครงการในช่วงชีวิตของพวกเขาก็ตระหนักดีถึงผู้ต้องสงสัยตามปกติสำหรับโครงการล่าช้า เหตุผลที่แท้จริงโครงการล่าช้าไม่ใช่ปัจจัยข้อผิดพลาดทางคณิตศาสตร์ที่ต้องใช้กับการประเมินโดยทั่วไป - มันเป็นความไม่แน่นอนโดยธรรมชาติที่มาพร้อมกับการทำบางสิ่งบางอย่างเป็นครั้งแรกและไม่รู้ว่ามันจะทะลักออกมาอย่างไร
จริงๆแล้วมีระบบการจัดการโครงการที่พยายามโจมตีปัญหาจากมุมที่เข้าใจผิดนี้ พวกเขาวัดการคาดการณ์ของคุณเทียบกับประสิทธิภาพที่แท้จริงและพยายามแก้ไขการประมาณโดยรวมของคุณโดยใช้การวิเคราะห์ทางสถิติ ราวกับว่า "แดนนี่ประเมินทุกสิ่งต่ำกว่า 14.3%" เสมอ แดนนี่ไม่ใช่คนโง่และการสันนิษฐานว่าข้อผิดพลาดของการทำนายของเขานั้นเป็นสิ่งที่โง่เง่า มันสร้างความสับสนให้กับ "การรักษา" แบบดั้งเดิม - เพิ่มปัจจัยในการประมาณของคุณ - ด้วยสาเหตุของปัญหา การประมาณของคุณไม่ถูกต้องเนื่องจากไม่ได้คูณด้วยปัจจัย "ถูกต้อง" แผนของคุณไม่สมบูรณ์ และทุกแผนไม่สมบูรณ์ในแบบของตัวเอง
เหตุผลที่ # 4: พวกเขาเน้นความสนใจของคุณในสิ่งผิด
แทนที่จะมุ่งเน้นไปที่สิ่งที่ต้องทำเพื่อส่งมอบตรงเวลาตอนนี้คุณมุ่งเน้นไปที่การพิสูจน์การคาดการณ์ที่ไม่ถูกต้อง แทนที่จะมุ่งเน้นการวางแผนในรายละเอียดมากขึ้นและปรับแผนของคุณเป็นข้อมูลใหม่คุณกำลังทำแผนการที่ล้าสมัย โครงการล่าช้าเล็กน้อยเนื่องจากชิ้นส่วนของแผนงานมีการประเมินอย่างไม่ถูกต้อง พวกมันล่าช้าเพราะภาระสิ่งต่าง ๆ เหลืออยู่เพียงแค่แผนเดิม การติดตามแกนต์ทำให้เรื่องนี้แย่ลงเพราะคุณต้องใส่รายละเอียดลงในแผนของคุณถ้ามันจะจบลงด้วยการเน้นย้ำว่าเป็นการประเมินที่ไม่ดีในการประชุมสถานะทุกครั้ง? มันทำให้คุณยึดติดกับชิ้นงานขนาดใหญ่ที่สามารถติดตามได้ในแผนภูมิ Gantt ของคุณ แทนที่จะปล่อยให้คุณมุ่งเน้นไปที่การปรับตัวและเข้าสู่เส้นทางที่ถูกต้อง
นอกจากนี้ยังมีปัญหาของการไม่มีเครื่องมือที่ดีพอในการจัดการแผนที่ซับซ้อนอย่างเพียงพอ คุณมีโอกาสที่ดีกว่ามากในการสร้างแผนเริ่มต้นที่ดี (และการประเมิน) หากเครื่องมือของคุณอนุญาตให้คุณเปิดเผยขั้นตอนที่ถูกทอดทิ้งบ่อยครั้งไปพร้อมกัน Gantts แบบดั้งเดิมเป็นสัตว์ที่มีความละเอียดต่ำซึ่งนักพัฒนาเห็นอย่างถูกต้องว่าเป็นภาพล้อเลียนของความเป็นจริงของการจัดการโครงการ สิ่งที่จำเป็นคือเครื่องมือที่ช่วยให้สามารถเพิ่มข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้กับแผนงานในระยะแรกและจากนั้นให้ปรับเปลี่ยนแผนของคุณได้ง่ายเหมือนหมอกที่เกิดจากความไม่แน่นอนค่อยๆจางหายไปจากโครงการของคุณ สิ่งสุดท้ายที่คุณต้องการคือการแจ้งเตือนความละเอียดต่ำไม่หยุดหย่อนจากการคาดการณ์ที่ไม่ถูกต้อง การติดตาม Gantts นั้นดีสำหรับการใช้นิ้วชี้และการปิดลาไม่ใช่เพื่อการทำงานให้เสร็จ
ซอฟต์แวร์แผนภูมิแกนต์ช่วยให้การวิเคราะห์ระหว่างการพึ่งพาที่ซับซ้อนและคาดการณ์ผลกระทบของการใช้จ่ายเกินกำลังและความล่าช้า
อย่างไรก็ตามสำหรับโครงการซอฟต์แวร์ส่วนใหญ่มีการพึ่งพาระหว่างกันและอินพุตภายนอกน้อยดังนั้นกุญแจสำคัญในการทำนายคือการรู้ว่าตัวคูณที่ถูกต้องที่จะใช้เมื่อทีมซอฟต์แวร์บอกว่าจะใช้เวลา 3 สัปดาห์
ตามที่คนอื่น ๆ ได้พูดว่าแผนภูมิแกนต์ (โดยทั่วไปมักเรียกกันอย่างไม่เป็นทางการว่าเป็นแผนของโครงการ) เป็นวิธีการทำแผนที่งานและการพึ่งพาซึ่งกันและกันระหว่างงานเหล่านั้นโดยมีจุดประสงค์ที่จะสร้างเวลารวมขั้นต่ำสำหรับโครงการ
จากมุมมองของการจัดการผลผลิตสำคัญคือการระบุเส้นทางที่สำคัญนั่นคือรายการของงานที่ถ้าพวกเขาจะล่าช้าแล้วโครงการล่าช้า
ตัวอย่างง่ายๆ - สมมติว่าโปรแกรมเมอร์สองคนกำลังทำงานในโครงการที่มีสามงาน (โมดูลโค้ด A ใช้เวลาหนึ่งโปรแกรมเมอร์ 10 วันโค้ดโมดูล B ใช้หนึ่งโปรแกรมเมอร์ 5 วันจากนั้นรวม a และ b ใช้โปรแกรมเมอร์ทั้งสองวัน) สองงานแรก (โมดูลการเข้ารหัส A และ B) จะทำงานในแบบคู่ขนานและเป้าหมายคือการทำงานให้เสร็จสมบูรณ์ทั้งสามงานจึงทำให้โครงการเสร็จสมบูรณ์ภายใน 12 วัน
ในกรณีนี้เส้นทางที่สำคัญคือการเข้ารหัสโมดูล A แล้วการทดสอบการรวม การเข้ารหัสของโมดูล B สามารถเริ่มต้นได้ช้ากว่า 5 วัน (หรือเรียกใช้นานกว่าห้าวัน) โดยไม่มีผลกระทบใด ๆ แม้ว่าจะเสร็จสิ้นตรงเวลาโมดูลการเข้ารหัส A จะใช้เวลานานกว่านั้นมาก ในทางกลับกันถ้าการเข้ารหัสโมดูล A หรือการทดสอบการรวมหลุดในเวลาใด ๆ โครงการทั้งหมดจะหลุดมือ
การรู้สิ่งต่าง ๆ เช่นนี้ช่วยให้คุณเข้าใจวิธีการปรับใช้ทรัพยากรและความล่าช้าในงานเฉพาะนั้นมีแนวโน้มที่จะส่งผลกระทบต่อโครงการทั้งหมดหรือไม่
พวกเขามีประโยชน์หรือไม่ เห็นได้ชัดว่าใช่ แต่มีข้อแม้ที่สำคัญเพียงข้อเดียวเท่านั้นตราบใดที่ข้อมูลที่เข้ามานั้นดี - นั่นคือ:
และจากนั้นทีมจะต้องทำงานกับแผนภูมิและดำเนินงานตามลำดับที่ถูกต้อง (ไม่มีการทำอะไรที่น่าสนใจกว่านั้นเพราะงานที่ได้รับมอบหมายซึ่งอาจทำให้บางคน / คนอื่นไม่ทำงาน)
ถ้าคุณทำทุกอย่างแล้วใช่มันจะช่วยคุณได้จริงๆ แต่การทำงานจะต้องถูกวางไว้ด้านหน้าเพื่อให้แน่ใจว่ามันถูกต้องและสมจริง
ฉันชอบแผนภูมิของ Gantt และหากมีตัวเลือกซอฟต์แวร์ที่ดีกว่าสำหรับ Mac เพื่อสร้างมันฉันจะใช้มันตลอดเวลา
การได้เห็นการขึ้นต่อกันนั้นมีมากมาย "หากเราไม่ได้รับข้อมูลส่วนหนึ่งในการกรอกข้อมูลย้อนหลังของโครงการแล้วการก่อสร้างการปรับปรุงในส่วนของสิ่งที่จะทำไม่สามารถเริ่มได้"
หากโครงการของคุณเป็นโครงการพัฒนาซอฟต์แวร์แผนภูมิของแกนต์จะไม่เป็นประโยชน์และส่วนใหญ่จะเสียเวลา พวกเขาไม่ได้ออกแบบมาสำหรับลักษณะของการพัฒนาซอฟต์แวร์เช่น
ผลที่สุดคือคุณจะใช้เวลามากขึ้นในการปรับปรุงแผนกว่าการทำงาน
เพียงจัดการความต้องการของคุณและทุกอย่างจะดูแลตัวเอง
YMMV