ดูเหมือนว่าปัญหาของคุณจะกว้างขึ้น
ปัญหาการเปลี่ยนโครงสร้างเป็นทั้งอาการและการบรรเทาที่อาจเกิดขึ้นจากส่วนหนึ่งของปัญหา
หัวหน้ากลุ่มซอฟต์แวร์และทีมจัดสรรเวลาของทีม
จากประสบการณ์ของฉันฉันคิดว่าคุณอาจประสบปัญหาที่ฉันเรียกว่า "ทุกคนเป็นผู้จัดการซอฟต์แวร์" ผู้จัดการผลิตภัณฑ์ผู้จัดการโครงการและวิศวกรระบบและผู้ทดสอบอาจมีชื่อเสียงในการพยายามพัฒนาผู้บริหารระดับไมโครซึ่งอาจมีผู้จัดการซอฟต์แวร์ที่มีประสบการณ์อยู่แล้ว คุณอาจมีสมาชิกบางคนในทีมของคุณที่เชื่อว่าบทบาทของพวกเขาคือการจัดการ
หากคุณเป็นผู้จัดการซอฟต์แวร์ทำการมอบหมายให้ทำการรีแฟคเตอร์ที่คุณต้องการหรือดีกว่าให้ทีมของคุณเสนอการรีแฟคเตอร์ให้คุณเพื่อขออนุมัติ เพื่อที่จะไม่ใช้จุลชีพคุณอาจมีแนวทางเกี่ยวกับอายุ / ผู้แต่ง / ขนาด / บริบทของโค้ดที่จะทำการรีแฟคเตอร์ใหม่ที่สามารถรีแฟคเตอร์ได้อย่างอิสระเทียบกับการอนุมัติที่จำเป็น หากสมาชิกในทีมของคุณต้องการสร้างโครงสร้างรหัสขนาดใหญ่สี่คลาสขนาดใหญ่ขึ้นใหม่อย่างหนักเขาไม่ได้เขียนที่ไม่ได้เป็นส่วนหนึ่งของคุณสมบัติของเขาการเบี่ยงเบนสองสัปดาห์ของเขาคือปัญหาของคุณดังนั้นคุณต้องมีโอกาสปฏิเสธ
คุณสามารถแอบเข้าไปดูได้ แต่ฉันคิดว่าเป็นการดีกว่าที่จะสร้างการประมาณของคุณอย่างรอบคอบด้วยเวลาสำหรับการวิเคราะห์การออกแบบการเข้ารหัสการทดสอบหลายรูปแบบ (อย่างน้อยหน่วยและการรวม) การปรับโครงสร้างและความเสี่ยง ประสบการณ์หรือความคมชัดที่เกี่ยวข้องกับงาน หากคุณเปิดกว้างเกี่ยวกับการทำงานของทีมของคุณ (หรือมีสมาชิกในทีมของคุณ) มันอาจเป็นการดีที่จะ จำกัด ช่องทางการสื่อสารให้แคบลงเพื่อให้พวกเขาผ่านคุณและหารือเกี่ยวกับทรัพยากรและผลลัพธ์ไม่ใช่วิธีการ
ตัวเลือกโครงการก่อนสร้างวัฏจักรชั่วร้ายสำหรับการปรับโครงสร้างใหม่
การบำรุงรักษาซอฟต์แวร์นั้นยาก มันยากเป็นสองเท่าถ้าคนอื่น ๆ ในองค์กรกำลังตัดสินใจเลือกค่าใช้จ่ายของคุณ สิ่งนี้ผิด แต่ไม่ใช่เรื่องใหม่ มันได้รับการแก้ไขโดย Barry Boehm ซึ่งเป็นหนึ่งในนักเขียนซอฟต์แวร์ที่ยอดเยี่ยมของเราที่นำเสนอรูปแบบการจัดการที่เขาอธิบายว่าเป็นทฤษฎี W.
http://csse.usc.edu/csse/TECHRPTS/1989/usccse89-500/usccse89-500.pdf
บ่อยครั้งที่นักพัฒนาซอฟต์แวร์ใช้ค้อนทุบเพื่อผลิตภายใต้วิธีการจัดการ Theory-X ซึ่งบอกว่าคนงานขี้เกียจโดยทั่วไปและจะไม่ทำงานจนกว่าจะถูกส่งเข้ามา Boehm สรุปและเปรียบเทียบโมเดลที่เสนอของเขาดังนี้:
"แทนที่จะทำให้ผู้จัดการเป็นผู้มีอำนาจเด็ดขาด (ทฤษฎี X), โค้ช (ทฤษฎี Y) หรือผู้อำนวยความสะดวก (ทฤษฎี Z) ทฤษฎี W แสดงบทบาทหลักของผู้จัดการในฐานะผู้เจรจาระหว่างหน่วยงานต่าง ๆ ของเขาและผู้ทำโครงการแก้ปัญหา ด้วยเงื่อนไขการชนะสำหรับทุกฝ่ายนอกเหนือจากนี้ผู้จัดการยังเป็นผู้กำหนดเป้าหมายติดตามความคืบหน้าสู่เป้าหมายและนักกิจกรรมในการค้นหาความขัดแย้งของโครงการที่แพ้และแพ้ในแต่ละวัน และเปลี่ยนพวกเขาเป็นสถานการณ์ที่ชนะ "
เร็วและสกปรกมักจะเป็นเพียงสกปรก
Boehm กล่าวต่อไปถึงเหตุผลที่สิ่งต่าง ๆ มีความสุขสำหรับนักพัฒนาในทีมบำรุงรักษา
"การสร้างผลิตภัณฑ์ที่รวดเร็วและเลอะเทอะอาจเป็น" win "ราคาต่ำระยะสั้นสำหรับนักพัฒนาซอฟต์แวร์และลูกค้า แต่มันจะเป็น '' สูญเสีย '' สำหรับผู้ใช้และผู้ดูแลรักษา" โปรดทราบว่าในรูปแบบของ Boehm ลูกค้าเป็นผู้ดูแลสัญญามากกว่าผู้ใช้ปลายทาง ใน บริษัท ส่วนใหญ่ให้คิดว่าผู้จัดการผลิตภัณฑ์เป็นตัวแทนลูกค้าหรืออาจเป็นบุคคลที่ซื้อผลิตภัณฑ์สำหรับรายการคุณสมบัติ
ทางออกของฉันจะไม่ปล่อยทีมพัฒนาดั้งเดิม (หรืออย่างน้อยนำต้นฉบับ) จนกว่ารหัสจะ refactored อย่างน้อยตามมาตรฐานการเข้ารหัส
สำหรับลูกค้าฉันคิดว่ามันสมเหตุสมผลที่จะนับผู้จัดการผลิตภัณฑ์ในฐานะตัวแทนลูกค้าและกลุ่มคนที่ได้รับรางวัลสำหรับการส่งมอบสิ่งที่รวดเร็วและสกปรกสามารถขยายได้อย่างแน่นอนดังนั้นจึงมีการเลือกตั้งครั้งใหญ่ในการทำสิ่งที่ผิด
การเปลี่ยนโครงสร้างไม่สามารถต่อรองได้
โปรดอย่าถอยกลับจากบทบาทของคุณในฐานะผู้จัดการซอฟต์แวร์ คุณควรมีสิทธิ์และดุลยพินิจในการใช้เวลาของทีมในการปรับปรุงกระบวนการและผลิตภัณฑ์ ในบทบาทนั้นคุณอาจต้องเจรจาเลือกของคุณเพื่อให้ทีมของคุณเป็นมืออาชีพมากขึ้น อย่างไรก็ตามเกี่ยวกับกระบวนการอย่าต่อรองกับการตลาดเพราะในประสบการณ์ของฉันนั่นเป็นเกมที่แพ้ เจรจาต่อรองกับการจัดการด้านวิศวกรรม มันแสดงให้เห็นว่าคุณมีวิสัยทัศน์ การสร้างทีมซอฟต์แวร์มืออาชีพเป็นส่วนขยายของบทบาทของพวกเขาและมีแนวโน้มที่จะถูกมองว่าเป็น win-win