ฉันคิดว่าสิ่งแรกที่ต้องตระหนักคือความแตกต่างระหว่างการมีความคล่องตัวและความคล่องตัว เทคนิคและคุณลักษณะที่คล่องตัวช้า ๆ - ทีมข้ามสายงาน, การวางแผนแบบปรับตัว, การส่งแบบวิวัฒนาการ / ส่วนเพิ่ม, การวนซ้ำแบบกำหนดเวลาและแม้แต่การแนะนำแนวคิดจากLeanนั้นแตกต่างจากการแนะนำ Extreme Programming, Scrum หรือ Crystal
คุณพูดถึงการมีส่วนร่วมของลูกค้าอย่างชัดเจน ใช่วิธีการ Agile จำนวนมากเรียกร้องให้มีส่วนร่วมกับลูกค้า แต่นั่นไม่จำเป็นต้องคล่องตัว ในทุกโปรแกรมที่เกี่ยวข้องกับการป้องกัน / รัฐบาลฉันมีโปรแกรมหรือผู้จัดการโครงการที่เป็นจุดติดต่อกับลูกค้าเสมอ บุคคลนี้กลายเป็น "เสียงของลูกค้า" อาจช้าลงเนื่องจากการประชุมทางไกลหรือส่งอีเมลหรือโทรและชี้แจง แต่คุณสามารถมีคนเดียว (หรือกลุ่มถ้าคุณมีรอง PM เช่นกัน) ซึ่งเป็นตัวแทนลูกค้าของทีมของคุณ ยอมรับว่ามันไม่เหมือนกันเลยทีเดียว แต่ความคล่องแคล่วว่องไวไม่ยืดหยุ่นและตอบสนองต่อการเปลี่ยนแปลง
นอกจากนี้คุณยังกล่าวถึงแนวคิดหลักสองสามข้อ: ข้อกำหนดที่กำหนดไว้ล่วงหน้าโดยมีการร้องขอคุณสมบัติ "โยนข้ามกำแพง" ขาดการจัดลำดับความสำคัญเนื่องจาก "สิ่งเหล่านี้มีความสำคัญ" และโครงการที่มีต้นทุนคงที่และ / หรือกำหนดเวลาตายตัว แต่ละสิ่งเหล่านี้สามารถแก้ไขได้หลายวิธี
หากคุณคิดว่าคุณมีความต้องการทั้งหมดของคุณล่วงหน้าคุณก็ไม่มีโอกาส ข้อกำหนดมีการเปลี่ยนแปลง เพียงเพราะคุณมีข้อกำหนด "เสร็จสิ้นและลงชื่อออก" ไม่ได้หมายความว่าตั้งค่าไว้ในรูปแบบของหิน ระบุสิ่งที่คุณต้องการเอกสารจับพวกเขาว่าคุณรู้สึกสะดวกสบายและ / หรือในลักษณะที่ระบุไว้ในสัญญาและส่งมอบข้อกำหนดการออกแบบและสถาปัตยกรรม นอกจากนี้ดูว่าคุณสามารถปฏิบัติต่อเอกสารเหล่านี้ได้หรือไม่ (เอกสารการออกแบบที่ฉันเห็นในวันนี้ในที่ทำงานมีป้ายกำกับว่า Revision G ซึ่งหมายความว่าเป็นฉบับปรับปรุงครั้งที่ 8) ถามว่าคุณสามารถออกจาก TBD เป็นจำนวนเท่าใดในการวนซ้ำที่กำหนดไว้และเท่าไหร่ที่ต้องได้รับการยืนยันในตอนนี้ - อาจมีการให้และรับบางอย่าง
จงคล่องด้วยเอกสารของคุณ อย่าพยายามซ้ำซ้อนระหว่าง "สิ่งที่ทีมของคุณต้องการ" และ "สิ่งที่ลูกค้าต้องการ" ตัวอย่างเช่นหากลูกค้าของคุณต้องการข้อกำหนดคุณสมบัติซอฟต์แวร์แบบดั้งเดิมและทีมของคุณต้องการใช้เรื่องราวของผู้ใช้พยายามปรับให้เข้ากับ SRS แบบดั้งเดิมและใช้รายการการดำเนินการและรายการไอเท็มแอ็คชันแทนเรื่องราวของผู้ใช้เพื่อให้คุณไม่ใช้เวลา กำหนดทั้ง "ระบบจะ ... " และ "จะต้องสามารถเพราะ" แม้ว่าจะต้องใช้วินัยในส่วนของทีมเพื่อปรับให้เข้ากับความแตกต่างระหว่างโครงการ จับปัญหาในภาพสะท้อน
เมื่อคุณได้รับการพัฒนาแล้วคุณอาจเรียกใช้การวนซ้ำ 5 หรือ 6 ครั้งจากนั้นเชิญลูกค้าของคุณเข้าสู่สถานที่ของคุณเพื่อดูชุดย่อยของการใช้งานของคุณ ล้างและทำซ้ำขั้นตอนนี้ มันไม่ใช่การมีส่วนร่วมอย่างต่อเนื่องที่เรียกร้องโดยวิธีการบางอย่าง แต่คุณมีข้อได้เปรียบในการมองเห็นสูง หากลูกค้าของคุณตอบว่าไม่อย่างน้อยคุณก็ลอง หากพวกเขาตอบว่าใช่คุณสามารถสอนให้พวกเขามีความคล่องแคล่ว ในโครงการหนึ่งที่ฉันทำลูกค้าเยี่ยมชมเว็บไซต์ทุกสองสามเดือน (โดยปกติ 3-5 เดือน) พวกเขาจะดูเราผ่านการทดสอบ QA พวกเขาจะหารือข้อกังวลกับวิศวกรและธุรกิจกับสำนักงาน / โครงการ มันเป็นโอกาสสำหรับทุกคนในหน้าเดียวกัน
การทดสอบและการบำรุงรักษาเกิดขึ้นเช่นเดียวกับในโครงการความคล่องตัวอื่น ๆ สร้างขั้นตอนการทดสอบและข้อบกพร่องของเอกสารในวิธีที่เหมาะสมติดตามตัวชี้วัดต่อภาระผูกพันตามสัญญาและผลการทดสอบเอกสาร หากคุณต้องการติดตาม TDD ไปเลย การบูรณาการอย่างต่อเนื่องเป็นความคิดที่ดีอีกประการหนึ่ง ในระหว่างการประชุมสถานะโครงการผู้จัดการโครงการของคุณสามารถใช้ข้อมูลนี้เพื่อพูดว่า "เราได้ดำเนินการตามข้อกำหนด N มีการทดสอบ M, ผ่านการทดสอบ X" และอัปเดตเกี่ยวกับสุขภาพของโครงการและสถานะกับคนที่มีเงิน
การพูดของเงินเรามีปัญหาต้นทุนคงที่และ / หรือกำหนดเวลาแน่นอน
การจัดการกับตารางเวลาที่แน่นอนนั้นค่อนข้างตรงไปตรงมา ด้วยความต้องการของคุณคุณจะรู้ว่าคุณต้องทำซ้ำกี่ครั้ง ภาระงานของคุณสำหรับการทำซ้ำแต่ละครั้งนั้นมีการกำหนดไว้อย่างดีในแง่ของคุณสมบัติที่จะนำไปใช้ทดสอบและรวม อาจเป็นเรื่องยาก แต่ก็เป็นไปไม่ได้ที่จะแยกคุณลักษณะและกำหนดให้กับการทำซ้ำล่วงหน้า สิ่งนี้กลับไปที่จุดของฉันเกี่ยวกับการเชิญลูกค้า - ถ้าคุณมีเวลาหนึ่งปีและใช้การทำซ้ำ 2 สัปดาห์อาจเชิญลูกค้ารายไตรมาส (และเชิญพวกเขาทุกไตรมาส) และแสดงผลลัพธ์ของงานก่อนหน้านี้ ให้พวกเขาเห็นลำดับความสำคัญของข้อกำหนดแผนในอนาคตของคุณและวิธีการที่คุณจะเกี่ยวกับการจัดตารางเวลา
การจัดการกับงบประมาณคงที่คล้ายกัน คุณรู้ว่าคุณมีเวลาเท่าไรทรัพยากรจำนวนเท่าใดที่คุณมีสำหรับโครงการต้นทุนเท่าไหร่ดังนั้นทุกคนสามารถทำงานได้กี่ชั่วโมงต่อการทำซ้ำ มันเป็นเรื่องของการรับรองว่าทุกคนจะติดตามเรื่องนี้อย่างระมัดระวัง หาก บริษัท ของคุณสามารถกินค่าล่วงเวลาได้ มิฉะนั้นให้แน่ใจว่าทุกคนทำงานตามระยะเวลาที่เหมาะสมและใช้ทักษะการจัดการเวลาที่ดีและการชกมวยเวลาเพื่อให้ทุกคนมีประสิทธิผล ชั่วโมงการผลิตที่มากขึ้นคือสิ่งที่คุณต้องการเพื่อลดค่าใช้จ่าย - ส่งมอบเอกสารและซอฟต์แวร์ที่มีมูลค่าเพิ่มมากขึ้นโดยไม่ต้องเสียค่าใช้จ่ายในการประชุมและค่าใช้จ่าย
ในท้ายที่สุดมันไม่ได้เกี่ยวกับการเป็นเปรียว แต่ใช้สิ่งที่ทำให้เปรียวดีและว่องไว สามารถตอบสนองต่อการเปลี่ยนแปลงความต้องการสามารถส่งมอบซอฟต์แวร์ได้บ่อยครั้งแม้ว่าลูกค้าไม่ต้องการเพียงสร้างเอกสารการเพิ่มมูลค่า (พร้อมกับสิ่งที่คุณมีภาระผูกพันตามสัญญาในการผลิต) และอื่น ๆ