ทางเลือกของวิธีการติดตามเวลา [ปิด]


12

คำถามแรก:มีทางเลือกอะไรบ้างในการติดตามเวลาสำหรับพนักงานใน บริษัท พัฒนาเว็บ / ซอฟต์แวร์และทำไมพวกเขาถึงมีตัวเลือกที่ดีกว่า

คำอธิบาย:

ฉันทำงานที่ บริษัท ที่เราทำงานอย่างนี้ ทุกคนได้รับเงินเดือน เรามี 3 ประเภทของงานสัญญา Adhoc และภายใน (ไม่เรียกเก็บเงิน) Adhoc เป็นเพียงการเปลี่ยนแปลงเล็กน้อยที่ใช้เวลาสองสามชั่วโมงและเราเพิ่งเรียกเก็บเงินลูกค้าเมื่อสิ้นเดือน มีการลงนามในสัญญาและเรามีกระบวนการที่ยาวนานอันยิ่งใหญ่นี้ตามปกติ

เราคำนวณจำนวนเงินที่ต้องชำระโดยการประเมินเวลาที่เกี่ยวข้อง (จากการออกแบบและนักพัฒนา) คูณด้วยอัตรารายชั่วโมงของเราและนั่นคือมัน สมมติว่าเราประมาณ 50 ชั่วโมงสำหรับเว็บไซต์ เรามีซอฟต์แวร์การติดตามเวลาและต้องบันทึกเวลาใน 15 ที่เราใช้ไปกับมัน (ตัวอย่างเช่น 7:00 ถึง 7:15) ชื่อโครงการและแสดงความคิดเห็น

ตอนนี้ถ้าเราไปมากกว่า 50 ชั่วโมงเราทั้งคู่กำลังสูญเสียเงินและไร้ประสิทธิภาพ

ตอนนี้ฉันได้อธิบายวิธีการทำงานของระบบแล้วคำถามของฉันคือวิธีการอื่นที่ทำได้ถ้ามีวิธีที่ดีกว่า (ซึ่งฉันแน่ใจว่าต้องมี) ไม่มีใครที่นี่ชอบระบบปัจจุบันเราไม่สามารถหาทางเลือกอื่นได้ ฉันยินดีที่จะทำงานหลังจากเวลาผ่านไปหลายชั่วโมงเพื่อให้งานเสร็จตามกำหนดเวลา แต่ฉันก็อยากทำกับระบบปัจจุบันมาก ฉันชอบที่จะสามารถสรุป (หรือลิงก์) ไปยังโพสต์นี้สำหรับผู้จัดการของฉันเพื่อแสดงให้พวกเขาเห็นว่าทำไมเราควรใช้ระบบ abc แทนระบบนี้

คำตอบ:


8

การประเมินซอฟต์แวร์เป็นเรื่องยากเสมอ ซอฟต์แวร์เป็นธุรกิจที่สร้างสรรค์และแว็กซ์และความคิดสร้างสรรค์ ฉันเพิ่งเริ่มตีกลับหลังจากหนึ่งสัปดาห์ที่เหนื่อยอ่อนมาก - เมื่อคืนก่อนมันใช้เวลาหลายชั่วโมงกว่าจะทำงานได้ 15-30 นาที ...

พิจารณาว่านักพัฒนาแต่ละคนมีความสามารถในการประเมินแตกต่างกัน ผู้พัฒนาที่มีระเบียบวินัยหรืออาวุโสกว่าจะมีแนวโน้มที่จะมีความแม่นยำมากขึ้นและนักพัฒนาซอฟต์แวร์ที่อายุน้อยกว่าหรือไม่มีวินัยจะมีความแม่นยำน้อยกว่า นอกจากนี้ความแม่นยำจะเปลี่ยนแปลงตลอดเวลาด้วย

ในประสบการณ์การให้คำปรึกษาส่วนตัวของฉันฉันพยายามผสมผสานประมาณการที่เหมือนจริงกับเพดาน โดยพื้นฐานแล้วพูดว่า "ฉันคาดหวังว่าฟีเจอร์นี้จะใช้เวลา 7-10 ชั่วโมง แต่อาจถึง 18 - มากที่สุดแม้ว่าจะใช้เวลา 40 ชั่วโมงคุณจะถูกเรียกเก็บเงินเป็นเวลา 18 ปี" โดยทั่วไปแล้ววิธีการนี้เป็นวิธีใหม่สำหรับลูกค้าและบางคนปฏิเสธว่า "ให้ราคาที่แน่นอน" แก่ลูกค้า - ลูกค้าเหล่านั้นจะได้รับการประมาณการแบบเพดาน (หรือฉันปฏิเสธธุรกิจของพวกเขาอย่างสุภาพ) สำหรับลูกค้าที่ยอมรับวิธีนี้พวกเขาเข้าใจว่าฉันจะติดตามเวลาโดยสุจริตและค่าสุดท้ายที่แท้จริงของพวกเขาจะสะท้อนเวลาที่ใช้ไปของฉัน (แต่จะไม่เกินเพดานที่กำหนด) โดยพื้นฐานแล้วนี่เป็นแนวทางแบบลีนพร้อมกับการรับประกันเพิ่ม และลูกค้าทราบว่าการเปลี่ยนแปลงข้อกำหนดใด ๆ จะทำให้เกิดการเปลี่ยนแปลงประมาณการ

โดยรวมแล้ววิธีการทำงานได้ดีสำหรับลูกค้าที่ยินดีที่จะยอมรับมัน เป้าหมายส่วนตัวของฉันคือการได้รับความไว้วางใจและทำธุรกิจซ้ำดังนั้นจึงเป็นเรื่องที่ฉันสนใจที่จะซื่อสัตย์และพยายามเข้ามาภายใต้เพดาน - และเพื่อประโยชน์ของพวกเขาที่จะช่วยให้ฉันอยู่ภายใต้การประเมินของฉัน การเปลี่ยนแปลงที่ล่าช้า ฯลฯ - ฉันจะแก้ไขประมาณการหากการเปลี่ยนแปลงนั้นมีอะไรมากกว่าเล็กน้อย)

หากคุณไม่มีฉันจะแนะนำให้อ่านThe Mythical Man Month


7

ลองดูที่การตั้งเวลาตามหลักฐาน สามารถช่วยให้คุณเห็นว่าการประมาณการของคุณมีความแม่นยำเพียงใด

ในช่วงปีที่ผ่านมาหรือที่ Fog Creek เราได้พัฒนาระบบที่ง่ายมากแม้แต่นักพัฒนาที่หัวแข็งของเราก็ยินดีที่จะไปพร้อมกับมัน และเท่าที่เราบอกได้มันสร้างตารางที่เชื่อถือได้อย่างยิ่ง มันเรียกว่าการจัดตารางตามหลักฐานหรือ EBS คุณรวบรวมหลักฐานซึ่งส่วนใหญ่มาจากข้อมูล Timesheet ในอดีตที่คุณป้อนกลับไปยังตารางเวลาของคุณ สิ่งที่คุณได้รับไม่ใช่แค่หนึ่งวันที่จัดส่ง: คุณได้รับเส้นโค้งการกระจายความเชื่อมั่นแสดงความน่าจะเป็นที่คุณจะจัดส่งในวันที่กำหนด ดูเหมือนว่านี้:

http://www.joelonsoftware.com/items/2007/10/26ebs1.png

ยิ่งความโค้งมากเท่าไหร่คุณก็มั่นใจมากขึ้นว่าวันที่จัดส่งเป็นจริง

นี่คือวิธีที่คุณทำ ...


2
วิธีการที่ดีและครอบคลุม ส่วนที่ยากเกี่ยวกับการทำให้ลูกบอลกลิ้งไปตามแนวทางเหล่านี้คือการทำให้นักพัฒนาเข้าใจว่ามันโอเคสำหรับการคาดการณ์ของพวกเขาจะถูกปิด - ดังนั้นให้พวกเขาเข้าใจสิ่งที่ทำกับการประมาณของพวกเขาและทำให้พวกเขาเชื่อมั่นว่า พวกเขาเป็นขั้นตอนแรกที่สำคัญ
STW

0

ปัญหาของวิธีนี้คือไม่ต้องคำนึงถึงความเสี่ยงโดยธรรมชาติในการประมาณการ แนวทางปฏิบัติที่ดีที่สุดสำหรับการประมาณค่าใด ๆ คือการแสดงเป็นช่วงเวลาเช่น 50 ชั่วโมง± 15 ชั่วโมงหรือบางสิ่งที่คล้ายกัน คำผิดพลาดนั้นยากที่จะเกิดขึ้น แต่ไม่มีใครเชื่อว่าจะใช้เวลา 50 ชั่วโมง

มีวิธีการอื่นนอกเหนือจากตัวแบบราคาคงที่ คุณสามารถใช้อัตราที่ต่ำกว่าและเรียกเก็บเงินชั่วโมงโดยตรง แต่วันนี้ลูกค้าของคุณอาจต้องการโอนความเสี่ยงให้กับคุณ ไม่เป็นไร แต่ก็หมายความว่าคุณต้องคิดค่าความเสี่ยงที่เหมาะสมตามช่วงเวลาที่คุณคาดการณ์ไว้


0

เราทำการประเมินด้วยปัจจัย "ความไม่แน่นอน" แทนที่จะพยายามประมาณการด้วยปัจจัย "+/-" โปรแกรมเมอร์สามารถบอกคุณได้อย่างง่ายดายว่าจะต้องใช้เวลานานแค่ไหนในการ "คิดว่าไม่มีอะไรผิดปกติ" สิ่งที่พวกเขาไม่สามารถบอกคุณได้ง่ายคือจะต้องใช้เวลานานเท่าใดหากมีสิ่งผิดปกติเกิดขึ้น ดังนั้นเราจึงเพิ่มปัจจัยความไม่แน่นอน - "L" หมายถึง "เพิ่ม 25%" - "M" หมายถึง "เพิ่ม 50%" และ "H" หมายถึง "เพิ่ม 100% - สามารถเพิ่มเป็นสองเท่า" เรียลไทม์มีแนวโน้มที่จะอยู่ระหว่างเวลาโดยประมาณและเวลาที่ประมาณพร้อมกับความไม่แน่นอน

เท่าที่ติดตามเวลาของคุณวิธีที่แม่นยำที่สุดคือการเขียนโปรแกรมที่ปรากฏขึ้นในกล่องโต้ตอบทุกนาทีและถามคุณว่า "คุณกำลังทำอะไรอยู่" โดยมีกล่องรายการแบบหล่นลงของงานที่เป็นไปได้ รายการเดียวที่คุณต้องการจริงๆในกล่องรายการแบบหล่นลงคือ "เวลาการติดตาม" เพราะถ้าคุณถูกขัดจังหวะทุกนาทีคุณจะไม่ได้ทำอะไรเลย หลักการเดียวกันนี้ใช้กับช่วงเวลา 15 นาทีด้วยเช่นกันไม่เลว

สิ่งที่เราทำคือเรียกใช้โปรแกรมเล็ก ๆ ที่ช่วยให้เราเพิ่มงานลงในรายการและเลือกสิ่งที่เรากำลังทำงานอยู่ปล่อยให้มันเพิ่มเวลา หากเราลืมย้ายตัวเลือกไปยังงานที่ถูกต้องผลรวมสามารถแก้ไขได้ สิ่งใดที่ไม่อยู่ในแถวใดแถวหนึ่งไปที่ "อื่น ๆ " มันไม่ถูกต้องทั้งหมด แต่ความแม่นยำโดยรวมมีความสำคัญน้อยกว่าการรับเวลาไหล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.