เรามีเว็บไซต์ขนาดใหญ่ (1200+ ชั่วโมง) ที่มีหนี้สินทางเทคนิคจำนวนมาก สาเหตุส่วนใหญ่เกิดจากสาเหตุ (ตามปกติ) ต่อไปนี้
- โปรแกรมเมอร์หลายคนที่เดินทางมาระหว่างการพัฒนา
- การเปลี่ยนแปลงข้อกำหนดในระหว่างการพัฒนา
- เพิ่มฟังก์ชันการทำงานจำนวนมากเข้ามา (ในช่วงเวลาสั้น ๆ )
ลูกค้าต้องการฟังก์ชั่นใหม่ ๆ มากมายและโดยทั่วไปแล้วจะทำงานกับโครงการนี้ทุกสัปดาห์เป็นเวลา 10+ ชั่วโมง
เนื่องจากหนี้ทางเทคนิคที่เราใช้จ่ายมากชั่วโมงการแก้ไขหรือตรวจสอบปัญหาที่มักพบต้นกำเนิดของพวกเขาในหนึ่งดังต่อไปนี้:
- ข้อบกพร่องที่ไร้ยางอายไร้สาระที่ทำให้ผู้คนร้องไห้
- คุณสมบัติใหม่ส่งผลให้เกิดขึ้นข้างต้นเพราะเราไม่ได้เล็งเห็นทุกสถานที่คุณลักษณะใหม่จะมีอิทธิพล
- ปัญหาอื่น ๆ ที่เราเผชิญ (การโอนย้ายเซิร์ฟเวอร์, การอัพเกรด)
เรามีปัญหาทุกวันและเราได้ลองทำสิ่งต่าง ๆ เพื่อให้หยุดชะงัก:
- สร้างเอกสารทางเทคนิคเกี่ยวกับการนำเข้าการชำระเงินและการทำงานทั่วไปของเว็บไซต์
- มีการประชุมในช่วงเริ่มต้นของสัปดาห์ - พูดคุยเกี่ยวกับปัญหาในปัจจุบันหรือการปรับปรุงและวิธีที่พวกเขาควรได้รับการแก้ไข
- มีแผนการทดสอบ โปรแกรมเมอร์ A การทดสอบ B, B ทดสอบ C และ C การทดสอบ A. จากนั้น Project Manager ของเราจะทำการทดสอบ เกี่ยวกับผลกระทบของคุณลักษณะที่เราใช้งานในสภาพแวดล้อมการจัดเตรียมและให้ลูกค้าตรวจสอบด้วยตัวเอง
ปัญหาคือว่าปัญหายังคงเกิดขึ้น ... และอย่างใดที่เราไม่สามารถจับมันได้ คุณลักษณะใหม่ยังคงทำให้เกิดข้อบกพร่องและข้อบกพร่องเก่า ๆ ยังคงกล่าวสวัสดี ยังไงก็เถอะ - บางทีอาจเป็นเพราะขนาดของโครงการ - เราไม่สามารถจับมันได้ในโครงการนี้
ฉันคิดว่ามีโปรแกรมเมอร์จำนวนมากทำงานในโครงการขนาดใหญ่แล้วสิ่งนี้ นั่นคือเหตุผลที่ฉันมาที่คำถามของฉัน:
เราจะทำอะไรได้บ้างหรือคุณจะทำอย่างไรเพื่อหลีกเลี่ยงปัญหาเหล่านี้ในโครงการขนาดใหญ่
แก้ไขเล็กน้อยข้อมูลเพิ่มเติม:
- เราใช้การควบคุมเวอร์ชัน (SVN)
- เรามีกระบวนการพัฒนา DTAP