敏捷开发系列之旅 第三站(认识FDD特征驱动开发)
生活随笔
收集整理的這篇文章主要介紹了
敏捷开发系列之旅 第三站(认识FDD特征驱动开发)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
上篇文章中,我們探討了什么是XP極限編程,以及極限編程的管理思想、核心價值觀等等。在敏捷開發(fā)之旅的第三站,我想要和大家一起分享FDD特征驅(qū)動開發(fā)方法。
特征驅(qū)動開發(fā)——Feature Driven Development
還是老規(guī)矩,討論之前,我們先了解一下什么是Feature?什么是FDD?
在FDD中,Feature(特征)是一個基本的開發(fā)單位,是(FDD)項目中的一個增量,是指用戶眼中最小的有用的功能,可以在很短時間內(nèi)實現(xiàn)(一般在兩周之內(nèi))。
特征驅(qū)動開發(fā)(FDD),是敏捷開發(fā)方法中的一種,他來源與新加坡的一個大型軟件開發(fā)項目,由著名軟件專家Jeff de Luca 、Eric Lefebvre、Peter Coad共同提出的。它強調(diào)特征驅(qū)動,快速迭代,即能保證快速開發(fā),又能保證適當(dāng)文檔和質(zhì)量。
他提出的每個功能開發(fā)時間不超過兩周,為每個用例user case限定了粒度,具有良好可執(zhí)行性,也可以對項目的開發(fā)進(jìn)程進(jìn)行精確及時地監(jiān)控。他抓住了軟件開發(fā)的核心問題領(lǐng)域,即正確和及時地構(gòu)造軟件。
FDD還打破了傳統(tǒng)的將領(lǐng)域和業(yè)務(wù)專家/分析師與設(shè)計者和實現(xiàn)者隔離開來的壁壘。分析師被從抽象的工作中解脫出來,直接參與到開發(fā)人員和用戶所從事的系統(tǒng)構(gòu)造工作中。
FDD方法包括5個過程,其中的按照功能設(shè)計和構(gòu)建是反復(fù)的迭代過程。
FDD使用特征,執(zhí)行領(lǐng)域走查,同時要建立一個全面的領(lǐng)域?qū)ο竽P?#xff0c;以便特征小組對每一組特征產(chǎn)生更好的設(shè)計。
XP中的正確性是由運行單元和功能測試來定義的。在FDD中,單元測試是“按照功能構(gòu)建”過程的一個部分。FDD沒有定義參與測試的形式化等級,由主程序員決定做什么更適合。
作為敏捷開發(fā)的方法之一,特征驅(qū)動開發(fā)很好的實現(xiàn)了敏捷的思想,它強調(diào)的是整體模型,是從全局觀的角度考慮問題的。同時,我們也要認(rèn)識到一點,特征驅(qū)動開發(fā)相對于其他的方法,還是比較復(fù)雜的。其方法的精致和結(jié)構(gòu)的規(guī)整,很容易讓使用者在本身固有的重型思維方式的引導(dǎo)下,走入于agile背道而馳的泥坑。這本身也是其復(fù)雜性的一個表現(xiàn)。
因此,要想使用FDD并不容易,但不可否認(rèn)的一點,FDD的確是一種非常好的敏捷開發(fā)方法論。而它具體的實施效果最終還是要看領(lǐng)導(dǎo)者以及實施者、使用者的具體實踐。
特征驅(qū)動開發(fā)——Feature Driven Development
還是老規(guī)矩,討論之前,我們先了解一下什么是Feature?什么是FDD?
Feature
在FDD中,Feature(特征)是一個基本的開發(fā)單位,是(FDD)項目中的一個增量,是指用戶眼中最小的有用的功能,可以在很短時間內(nèi)實現(xiàn)(一般在兩周之內(nèi))。
- 特征是小的
- 特征是具有客戶價值的
FDD
特征驅(qū)動開發(fā)(FDD),是敏捷開發(fā)方法中的一種,他來源與新加坡的一個大型軟件開發(fā)項目,由著名軟件專家Jeff de Luca 、Eric Lefebvre、Peter Coad共同提出的。它強調(diào)特征驅(qū)動,快速迭代,即能保證快速開發(fā),又能保證適當(dāng)文檔和質(zhì)量。
他提出的每個功能開發(fā)時間不超過兩周,為每個用例user case限定了粒度,具有良好可執(zhí)行性,也可以對項目的開發(fā)進(jìn)程進(jìn)行精確及時地監(jiān)控。他抓住了軟件開發(fā)的核心問題領(lǐng)域,即正確和及時地構(gòu)造軟件。
FDD還打破了傳統(tǒng)的將領(lǐng)域和業(yè)務(wù)專家/分析師與設(shè)計者和實現(xiàn)者隔離開來的壁壘。分析師被從抽象的工作中解脫出來,直接參與到開發(fā)人員和用戶所從事的系統(tǒng)構(gòu)造工作中。
開發(fā)過程
FDD方法包括5個過程,其中的按照功能設(shè)計和構(gòu)建是反復(fù)的迭代過程。
- 開發(fā)整體模型
- 構(gòu)建功能列表
- 計劃功能開發(fā)
- 按照功能設(shè)計
- 按照功能構(gòu)建
最佳實踐
- 領(lǐng)域?qū)ο蠼?/li>
- 按照特征開發(fā)
- 類(代碼)擁有權(quán)
- 特征小組
- 審查
- 定期構(gòu)建
- 配置管理
- 可視性進(jìn)度報告
與XP的比較
- 隱寓和模型
FDD使用特征,執(zhí)行領(lǐng)域走查,同時要建立一個全面的領(lǐng)域?qū)ο竽P?#xff0c;以便特征小組對每一組特征產(chǎn)生更好的設(shè)計。
- 開發(fā)團(tuán)隊
- 代碼擁有權(quán)
- 測試
XP中的正確性是由運行單元和功能測試來定義的。在FDD中,單元測試是“按照功能構(gòu)建”過程的一個部分。FDD沒有定義參與測試的形式化等級,由主程序員決定做什么更適合。
- 項目追蹤
結(jié)束語
作為敏捷開發(fā)的方法之一,特征驅(qū)動開發(fā)很好的實現(xiàn)了敏捷的思想,它強調(diào)的是整體模型,是從全局觀的角度考慮問題的。同時,我們也要認(rèn)識到一點,特征驅(qū)動開發(fā)相對于其他的方法,還是比較復(fù)雜的。其方法的精致和結(jié)構(gòu)的規(guī)整,很容易讓使用者在本身固有的重型思維方式的引導(dǎo)下,走入于agile背道而馳的泥坑。這本身也是其復(fù)雜性的一個表現(xiàn)。
因此,要想使用FDD并不容易,但不可否認(rèn)的一點,FDD的確是一種非常好的敏捷開發(fā)方法論。而它具體的實施效果最終還是要看領(lǐng)導(dǎo)者以及實施者、使用者的具體實踐。
總結(jié)
以上是生活随笔為你收集整理的敏捷开发系列之旅 第三站(认识FDD特征驱动开发)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态页面制作
- 下一篇: 7-36 复数四则运算 (15 分)(p