เคล็ดลับ / เทคนิคในการจัดการทีมใหม่ด้วยรหัสใหม่ [ปิด]


9

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

ฝ่ายบริหารยืนยันในการเพิ่มผลผลิตของทีมทั้งหมดและในฐานะนักพัฒนาอาวุโสคุณมีความรับผิดชอบ

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


ควรอยู่ใน pm.stackexchange.com
JBRWilkinson

5
@JBRWilkinson ฉันไม่เห็นด้วย นี่เป็นเรื่องเกี่ยวกับการเป็นผู้นำทางเทคโนโลยีของนักพัฒนารุ่นเยาว์ที่มีกำหนดเส้นตายแน่นหนา ฉันจะยอมรับว่ามันเกี่ยวกับวิธีการจัดการโครงการของนักพัฒนารุ่นน้อง แต่การเป็นผู้นำทางเทคโนโลยีนั้นแตกต่างจากการเป็น PM
maple_shaft

คำตอบ:


13

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

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


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

1
@David - คุณออกกำลังกาย 5 ชั่วโมงได้อย่างไร (จริงๆแล้วมันไม่ใช่ตัวเลขที่แย่ที่จะใช้ แต่เราจะรู้ได้อย่างไร)? เพียงยอมรับการประเมินโครงการดังกล่าวเป็นอึยิงและบอกการจัดการ
mattnz

3
ฉันคิดว่าคนส่วนใหญ่มีประสิทธิผลประมาณ 6 ถึง 6.5 ชั่วโมงต่อวัน จัดการน้อยกว่านี้ แต่ฉันคิดว่านี่เป็นค่าเฉลี่ยที่ดี แต่เนื่องจากทีมเป็นของใหม่อย่างน้อยหนึ่งชั่วโมงต่อวันจึงต้องใช้การเรียนรู้ และฉันเชื่อในการประเมิน - แม้ว่าจะไม่ใช่ทุกคนที่เก่ง แต่มันก็ต้องดีกว่าเพียงแค่กระโดดเข้ามาและเขียนโปรแกรมโดยไม่ต้องรู้ว่างานจะใช้เวลานานแค่ไหน
Dawood ibn Kareem

มันจะช่วยให้ซื้อถ้าคุณได้รับสมาชิกในทีมในการพัฒนาประมาณการของพวกเขาก่อนที่จะเห็นเวลาที่วางแผนไว้และพวกเขาจะไม่เกินแผนอย่างมีนัยสำคัญ ให้พวกเขาประมาณก่อนที่จะเห็นการประเมินอื่น ๆ นอกจากนี้ยังจะหลีกเลี่ยงการให้น้ำหนักประมาณ
BillThor

@BillThor: แน่นอนคุณได้คนที่แต่งตัวประหลาดในการทำงานเพื่อประเมินและใช้ตัวเลขของเขาเป็นจุดเริ่มต้น ฉันเพิ่งประมาณงานและได้รับการบอกว่า "เราจะเป็นหนึ่งในสามของนั้น" ทำไมพวกเขาถึงรบกวนถามฉันว่าคนรู้ใช้เวลานานแค่ไหน?
mattnz

7

ก่อนอื่นให้เริ่มใช้ระบบควบคุมซอร์สโค้ดจากบรรทัดแรกของโค้ด รับนิสัยในการตรวจสอบรหัสในช่วงต้นและบ่อย

ประการที่สองการตัดสินใจเกี่ยวกับกลยุทธ์การทดสอบ แน่นอนว่าควรหมายถึงการทดสอบหน่วย แต่คุณควรพิจารณาวิธีการทดสอบการยอมรับอัตโนมัติ

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

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

เนื่องจากทีมส่วนใหญ่เป็นนักพัฒนารุ่นเยาว์ให้วางแผนการตรวจสอบรหัสบ่อยครั้งเพื่อให้แน่ใจว่าพวกเขาจะไม่เพิ่มหนี้ทางเทคนิคมากเกินไปให้กับระบบของคุณ

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


2
+1 สำหรับการควบคุมเวอร์ชันและการตรวจสอบโค้ดตั้งแต่ต้นและบ่อยครั้ง
jmq

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

6

นอกจากนี้ยังตอบโดย @chrisaycock ... อย่าประมาทเวลาที่คุณจะต้องจัดสรรให้คำปรึกษา / ฝึกอบรมเป็นต้นในฐานะผู้นำคุณจะต้องเรียนรู้ที่จะปล่อยรายละเอียดและไว้วางใจทีมของคุณ งานของคุณคือกลายเป็นตัวกำจัดสิ่งกีดขวางบนถนนและเรียกใช้การรบกวนเมื่อการจัดการโผล่เข้ามาในทีม "ปกติ" ที่ประมาณ 7 หรือ 8 ผู้นำไม่ได้โปรแกรมอีกต่อไปในสถานการณ์ของคุณลดลงถึง 3 หรือ 4 (อาจจะน้อยกว่านี้) คุณไม่ใช่แหล่งโปรแกรมสำหรับโครงการ


+1 ในการจัดสรรเวลาสำหรับการให้คำปรึกษาและฝึกอบรม การนำเทคโนโลยีที่มีประสิทธิภาพทำให้นักพัฒนารุ่นใหม่มีประสิทธิภาพ
maple_shaft

"คุณไม่ใช่แหล่งโปรแกรมสำหรับโครงการ" ฉันสงสัยว่าผู้บริหารของเขารู้สึกแบบเดียวกันใช่ไหม ฉันหวังว่าคุณจะไม่ได้เป็นโปรแกรมเมอร์ "ฮีโร่" สำหรับโปรเจ็กต์นี้
jmq

ฉันรู้สึกว่า OP เป็นเพียงผู้พัฒนาที่อาวุโสที่สุดและไม่มีชื่อหรือหน้าที่พิเศษ (เช่นเขาไม่ใช่ "ผู้นำทางเทคโนโลยี" หรือ "สถาปนิก") ในกรณีนี้เขาเป็นทรัพยากรการพัฒนาอย่างแน่นอนและคาดว่าน่าจะเป็นแหล่งผลิตที่มีประสิทธิภาพที่สุด
TMN

@ TMN: ฉันสะท้อนให้เห็นถึงความเป็นจริงของสิ่งที่เกิดขึ้นในทีมกับผู้ชายที่มีทักษะ / มีประสบการณ์คนหนึ่งและคนอื่น ๆ ที่มีทักษะน้อยลงอย่างมีนัยสำคัญ ไม่ต้องสงสัยเลยว่าคนที่มีประสบการณ์ถ้าเขารหัสจะได้ผลดีที่สุดและคาดว่าจะได้รหัส ทีมจะได้ผลดีที่สุดถ้าเขาไม่ทำ ในองค์กรที่ไม่มีการแจ้งเตือนผู้จัดการวัดการแสดงของแต่ละบุคคลดังนั้นคนที่แต่งตัวประหลาดอันดับต้น ๆ ดูไม่ดีที่ทำสิ่งที่ดีที่สุด - ทำให้ทีมแสดงและได้รับรางวัลเล็ก ๆ น้อย ๆ เขาดีกว่าที่จะแขวนจูเนียร์ออกให้แห้งและทำให้ตัวเองดูดี
mattnz

1

เน้นการสื่อสารในสองด้าน

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

2) การสื่อสารระหว่างทีม ตั้งค่าการปฏิบัติที่เป็นทางการเช่นไบรอันและคนอื่น ๆ แนะนำ ตรวจสอบให้แน่ใจว่าคุณพบกันเป็นประจำเช่นกันสัปดาห์ละครั้งนอกเหนือจากการต่อสู้แบบรายวัน รับความเคารพและความไว้วางใจจากการฟังซึ่งเป็นเครื่องมือที่สำคัญที่สุดของคุณ ตรวจสอบให้แน่ใจว่าคุณมุ่งเน้นการช่วยเหลือ หลีกเลี่ยงการวิจารณ์เชิงลบที่ค่าใช้จ่ายทั้งหมด เมื่อจำเป็นต้องใช้การวิจารณ์เชิงบวกและให้กำลังใจเช่น "ดีมากสิ่งหนึ่งที่คุณอาจต้องการพิจารณาคือ X" เหนือ "ซึ่งไม่ใช่สิ่งที่เราต้องการคุณต้องทำ X แทน"


0

สิ่งที่ฉันได้ทำคือการระบุคนที่มีความสามารถและแบ่งและพิชิต ฉันเลือกอันดับ 2 หรือ 3 และทำให้เป็นกัปตัน จากนั้นคนอื่น ๆ ก็แบ่งออกเป็นทีมอย่างสม่ำเสมอหลังจากกัปตันไปยังทีมเล็ก ๆ ของพวกเขาเอง

ฉันให้ชิ้นส่วนกัปตันหรือโมดูลเพื่อทำโปรแกรม

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

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

มันใช้งานได้ดีกับโปรแกรมเมอร์ประมาณ 10-20 คน กลุ่มที่เล็กกว่าเพิ่งอยู่ในกลุ่มเดียวและฉันยังไม่ได้ทำงานกับอะไรที่ใหญ่กว่านี้


Divide & Conquer มีข้อผิดพลาด ฉันเห็นว่าสิ่งนี้จบลงเมื่อทุกกลุ่มย่อยทำการคิดค้นวงล้อใหม่ (ไม่ดี) สำหรับปัญหาที่คล้ายกันซึ่งทั้งทีมเผชิญ
NWS

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