ข้อมูลพื้นหลังบางส่วน
ฉันเป็นส่วนหนึ่งของทีมพัฒนาซอฟต์แวร์ภายในองค์กร มันประกอบด้วย
- นักพัฒนา 5 คน (ด้วยประสบการณ์ตั้งแต่ 2 ถึง 5 ปีฉันเป็นหนึ่งในนั้น)
- 3 เจ้าหน้าที่ดำเนินงาน (พวกเขาทำการปรับใช้ซอฟต์แวร์และฝึกอบรม)
- และผู้จัดการโครงการ 1 คน
เราพัฒนาโครงการขนาดเล็กถึงขนาดกลางจำนวนมากและระยะเวลาของโครงการมักจะทับซ้อนกัน การพัฒนาเป็นเช่นนี้:
- "ลูกค้า" ทำให้เรามีชุดของความต้องการเริ่มต้น
- เราพัฒนาระบบเพื่อสเปคดังกล่าว
- นำเสนอระบบดังกล่าวเพื่อ "ลูกค้า"
- "ลูกค้า" ให้ข้อกำหนดเพิ่มเติมแก่เราตามการนำเสนอดังกล่าว
- ทำซ้ำ 2-4 จนกระทั่ง "ไคลเอนต์" หมดข้อกำหนดใหม่หรือวันที่เป้าหมายการปรับใช้ใกล้จะหมด
- ตั้งค่าและปรับใช้ระบบ
สิ่งนี้พร้อมกับความจริงที่ว่ามันเป็น "ลูกค้า" ที่จัดการกับกำหนดเวลาส่วนใหญ่ (ซึ่งเป็นธงสีแดงจากสิ่งที่ฉันเห็นที่นี่ในโปรแกรมเมอร์และ PM.SE) และเราไม่ปฏิบัติตามวิธีการพัฒนาที่ชัดเจน เพื่อการเข้ารหัสโคบาลรหัสใกล้เคียงและข้อบกพร่องที่ได้รับจากการผลิตเหนือสิ่งอื่นใด นั่นเป็นเหตุผลที่เราเลือกใช้วิธีการแบบ Agile-based เช่น Scrum
ทำไมต้องแย่งชิงกัน?
มันเป็นความคิดริเริ่มของผู้จัดการของเราและทุกคนดูเหมือนจะเห็นด้วยกับสถานการณ์ปัจจุบันของเรา
มีปัญหากับการแย่งชิงกัน
องค์ประกอบบางส่วนของ Scrum มีข้อขัดแย้งกับการตั้งค่าปัจจุบันของเราที่เราไม่สามารถพูดได้อย่างง่ายดาย ทีมการปรับใช้ไม่ทราบวิธีการเขียนโปรแกรมและนักพัฒนามีทักษะการสื่อสารและการฝึกอบรมต่ำกว่าค่าเฉลี่ย และผู้เล่นตัวจริงนี้จะไม่เปลี่ยนแปลงตลอดเวลาในไม่ช้า
คำถาม
มันจะส่งผลกระทบต่อประสิทธิผลของการต่อสู้เป็นวิธีการหรือไม่? จำเป็นต้องทำการเปลี่ยนแปลงอื่น ๆ เพื่อชดเชยหรือไม่ หรือจะเป็นการดีกว่าที่จะละทิ้งความคิดไปพร้อม ๆ กันและคิดเกี่ยวกับวิธีการที่แตกต่างออกไป?