สาเหตุหลักของความคับข้องใจของคุณกับสถานการณ์อาจเป็นหนึ่งในการรับรู้และทำให้เข้าใจผิด / ผิดเงื่อนไขที่ลูกค้าใช้ ลูกค้ามักไม่ได้มาหาคุณพร้อมกับรายการข้อกำหนดแต่เป็นรายการสิ่งที่ปรารถนาทุกสิ่งที่พวกเขาคิดว่าอาจเป็นประโยชน์กับพวกเขา เหล่านี้จะไม่ทุกความต้องการเนื่องจากลูกค้ายังไม่ได้ใช้เวลาอยู่เลยจริงๆคิดว่าถ้าแต่ละคุณลักษณะเป็นจริงที่จำเป็น
นี่ไม่ใช่ปัญหาเสมอไป
หากลูกค้าของคุณมีเงินสำหรับคุณสมบัติเหล่านั้นและยินดีที่จะเป็นส่วนหนึ่งกับมันและคุณไม่สนใจที่จะแก้ไขปัญหาที่เกิดขึ้นจริงที่ลูกค้ามีอยู่จริงนี่อาจเป็นโครงการที่มีกำไรมาก มันเกิดขึ้นเพียงน้อยมากและสำหรับนักพัฒนาส่วนใหญ่มันเป็นงานฆ่าวิญญาณเพราะคุณสามารถรู้สึกล่วงหน้าว่าโครงการจะไม่ประสบความสำเร็จสำหรับลูกค้าในที่สุด (แม้ว่าจะประสบความสำเร็จทางการเงินสำหรับคุณในฐานะนักพัฒนา) นอกจากนี้ยังมีความเสี่ยงสูงเพราะคุณน่าจะจบโครงการที่มีต้นทุนคงที่ที่มีความไม่แน่นอนจำนวนมากและเป็นปัญหาที่จะตัดสินความเสี่ยงจากโครงการขนาดใหญ่
เกิดอะไรขึ้นถ้ามันเป็นปัญหา
สมมติว่าคุณไม่ได้อยู่ในสถานการณ์ที่หายาก ในกรณีนี้คุณจะต้องพูดถึงข้อบกพร่องหลักสองประการของรายการสิ่งที่ปรารถนาตามที่ระบุ:
- ไม่น่าเป็นไปได้ที่ลูกค้าจะมีความคิดที่ถูกต้องเกี่ยวกับต้นทุนในการพัฒนาข้อกำหนดจำนวนมากดังนั้นคุณจึงไม่น่าจะได้รับสัญญาสำหรับจำนวนเงินที่คุณต้องใช้จริง
- ไม่น่าเป็นไปได้ที่รายการความปรารถนานี้จะอธิบายปัญหาที่แท้จริงที่ลูกค้ามีและต้องการแก้ไขอย่างชัดเจนและรัดกุม
จากประสบการณ์ของฉันคุณต้องแก้ไข 2 เพื่อแก้ไข 1. การเจาะลึกถึงปัญหาที่แท้จริงหมายความว่าคุณผู้พัฒนาตอนนี้มีข้อมูลที่จำเป็นเพื่อให้ leaps สร้างสรรค์ในการแก้ปัญหาด้วยวิธีที่ลูกค้าเองไม่เคยคิดถึง โซลูชั่นเหล่านี้มีแนวโน้มที่จะถูกกว่าและเร็วกว่าการใช้งานรายการสิ่งที่ปรารถนาอย่างเต็มรูปแบบ
คุณจะแก้ไขได้อย่างไร
เช่นเดียวกับ Matthew Flynn กล่าวในคำตอบของเขา - เริ่มต้นด้วยการทำให้ลูกค้าจัดลำดับความสำคัญตามข้อกำหนด นี่ไม่ใช่เรื่องง่ายเสมอไป แต่บังคับให้พวกเขาทำ หากจำเป็นให้ใช้วลี "หากมีใครจับปืนไว้ที่หัวคุณจะเก็บข้อกำหนดข้อใดไว้" บ่อยครั้งที่คุณจะพบว่าลูกค้าไม่ได้มีความคิดที่ชัดเจนเกี่ยวกับความต้องการของแต่ละบุคคล ในกรณีนั้นทำตามที่ Peter Rowell แนะนำและให้ลูกค้าทำงานผ่านเรื่องราวของผู้ใช้ คุณและลูกค้าจะเริ่มเข้าใจปัญหาและข้อกำหนดต่าง ๆ ได้ดีขึ้นจากนั้นคุณสามารถกลับไปจัดลำดับความสำคัญได้ ทำซ้ำขั้นตอนเหล่านั้นได้บ่อยเท่าที่คุณจะต้องจนกว่าคุณจะรู้สึกสะดวกสบายที่คุณรู้ว่าพอที่จะแก้ปัญหาของลูกค้า
นั่นจะตอบคำถามของการพัฒนาวิธีแก้ปัญหาได้อย่างไร?
เมื่อคุณมีรายการข้อกำหนดที่มีการจัดลำดับความสำคัญคุณมีข้อมูลที่คุณต้องการเพื่อแนะนำกระบวนการพัฒนาที่เพิ่มขึ้นให้กับลูกค้าของคุณ คุณไม่จำเป็นต้องเรียกมันว่า Agile แต่คุณสามารถแนะนำให้แบ่งสัญญาออกเป็นชิ้นเล็ก ๆ สำหรับแต่ละความต้องการ (หรือชุดข้อกำหนดที่แบ่งแยกไม่ได้) และส่งมอบให้พวกเขาทีละคนด้วยการตรวจสอบโดยลูกค้า หรือคุณสามารถใช้ประโยชน์จากแหล่งข้อมูลมากมายทั้งแบบออนไลน์และออฟไลน์เพื่อโน้มน้าวลูกค้าว่าเป็นประโยชน์ที่สุดในการร่วมมือในรูปแบบการพัฒนาแบบ Agile ไม่ว่าในกรณีใดคุณสามารถจัดทำสัญญา / ข้อเสนอโครงการของคุณในแบบฟอร์มที่แสดงถึงการสร้างข้อกำหนดของลำดับความสำคัญอย่างชัดเจนโดยแต่ละลำดับมีค่าใช้จ่ายและข้อสรุปของตนเอง ถือแครอทนั้นไว้ต่อหน้าลูกค้า