การพัฒนาที่ขับเคลื่อนด้วยคุณลักษณะของซอฟต์แวร์ (Feature Driven Development- FDD)
FDD เริ่มขึ้นจากการคิดค้นของ Peter Coad และคณะ เพื่อใช้เป็นแบบจำลองกระบวนการเชิงปฏิบัติการของวิศวกรรมซอฟต์แวร์เชิงวัตถุ
Stephen Palrner และ John Felsing ได้ขยายและเพิ่มเติมงานของ Coad อธิบายการปรับตัว กระบวนการอาไจลที่อาจประยุกต์กับโครงการขนาดกลางและขนาดใหญ่ขึ้น
ภายใต้บริษัทของเอฟดีดี คุณลักษณะเป็น “หน้าที่ที่ลูกค้าเห็นว่ามีคุณค่า” ที่สามารถอิมพลีเม้นต์ได้ภายในเวลาสองสัปดาห์หรือน้อยกว่า” นิยามของคุณลักษณะให้ประโยชน์ต่อไปนี้
1. เนื่องจากคุณลักษณะเป็นส่วนเล็กๆ ของซอฟต์แวร์ที่ทำงานได้ ผู้ใช้จึงสามารถอธิบายได้ง่าย เข้าใจความสัมพันธ์ระหว่างกันได้ง่าย และสามารถทบทวนได้ดีกว่าเมื่อมีความคลุมเครือข้อผิดพลาด หรือการหลงลืม
2. คุณลักษณะอาจถูกจัดระเบียบ เป็นกลุ่มลำดับชั้นที่มีความสัมพันธ์ทางธุรกิจได้
3. เนื่องจากลักษณะเป็นรุ่น ๆ ของคุณลักษณะของซอฟต์แวร์ที่ต้องส่งมอบได้มรการพัฒนาแบบเอฟดีดี ทีมงานจะมุ่งพัฒนาซอฟต์แวร์ให้มีคุณลักษณะใหม่ ๆ ที่ทำงานได้ทุก ๆ สองสัปดาห์
4. เนื่องจากคุณลักษณะมีขนาดเล็ก ตัวแบบและตัวโค้ดของคุณลักษณะจึงง่ายต่อการตรวจทานอย่างละเอียด
5. การวางแผนโครงการ การจัดตารางงาน และการติดตามจะขับเคลื่อนด้วยคุณลักษณะตามลำดับชั้น ซึ่งดีกว่าการใช้ชุดงานย่อยที่เลือกมาแบบสุ่ม
Coad และคณะแนะนำแม่แบบต่อไปนี้สำหรับนิยามคุณลักษณะ
<action> the <result> <by I for I of I to> a (n) <object>
เมื่อ <object> หมายถึง “บุคคล สถานที่ หรือสิ่งของ (รวมถึงบทบาท จังหวะเวลา หรือช่วง ของเวลา หรือคำอธิบายทำนองเดียวกับในแคตตาล็อกสินค้า) ตัวอย่างของคุณลักษณะ สำหรับแอพพลิเคชั่น อีคอมเมิร์ช อาจเช่น”
Add the product to a shopping cart
Display the technical – specifications of a product
Store the sipping – information for a customer
กลุ่มชุดคุณลักษณะ จะเชื่อมโยงคุณลักษณะเข้ากับการทำงานทางธุรกิจ จะนิยามดังนี้
<action> <-ing> a (n) <object>
ตัวอย่างเช่น Making a product sale เป็นชุดคุณลักษณะที่อาจรวมเอาคุณลักษณะที่กล่าวถึงข้างต้นทั้งหมดและคุณลักษณะอื่นๆ ที่อาจมีเข้าไว้ด้วยกัน
วิธีการเอฟดีดี นิยามกิจกรรมกรอบงานสำหรับ“การร่วมมือกัน” 5 อย่างเรียกว่ากระบวนการ
11. Develop an overall model
22. Build a features list
33. Plan By Feature
44. Design by feature
5 5. Develop by feature
Feature Driven Development
FDDได้ให้รายละเอียดและเทคนิคของการจัดการโครงการมากกว่าวิธีอาไจลอื่น ๆ เมื่อโครงการเติบโตขึ้นทั้งขนาดและความซับซ้อน การจัดการโครงการเฉพาะกิจอาจไม่เพียงพอจึงจำเป็นที่นักพัฒนา ผู้จัดการและลูกค้าต้องเข้าใจสถานะของโครงการ ว่าได้บรรลุเป้าหมายอะไรไปบ้างแล้ว มีปัญหาอะไรบ้างที่พบถ้าเส้นตายเป็นเรื่องสำคัญ การกำหนดขนาดของรุ่นต่าง ๆ ที่รวมเอาคุณลักษณะไว้ควรจัดลงตารางงานอย่างเหมาะสม ดังนั้น เอฟดีดีจึงมีหลักไมล์อยู่ 6 หลัก ในช่วงการออกแบบ และการอิมพลีเมนต์คุณลักษณะคือ การออกแบบคร่าวๆ การออกแบบการตรวจทานการออกแบบการโค้ด การตรวจทานการโค้ด และการส่งเสริมการสร้าง”