“敏捷開發(fā)”并不是一門技術(shù)或者工具,而是一個軟件開發(fā)方法,也可以說是思想。
敏捷,不意味著快速、越快越好,加班加點寫代碼、趕進度。
什么是敏捷開發(fā)?
敏捷開發(fā)是一套軟件開發(fā)的價值和原則,倡導(dǎo)演進式開發(fā),提早交付,持續(xù)改進,鼓勵對變化做出快速靈活的反應(yīng)。對于敏捷,我們可看作是輕量級、高效。
一般而言,傳統(tǒng)軟件開發(fā)時通常是羅列大堆需要的功能,之后再進行線性流程開發(fā),這也被稱作瀑布流開發(fā)流程。而敏捷開發(fā)則是將項目分解成多個“小目標”,通過分階段不停完成這些小目標,進而完成一整個大項目。
敏捷開發(fā)的核心思想是?
敏捷開發(fā)是一種面臨迅速變化的需求快速開發(fā)的能力,它有四個核心思想:
1、強調(diào)面對面的溝通
2、把精力集中在可執(zhí)行的程序上,可以運行的產(chǎn)品勝于編制綜合性文檔,也就是強調(diào)了原型、模型、Demo等的重要性
3、團隊合作和團隊激勵,合作勝于談判,敏捷開發(fā)能將需求、開發(fā)、測試等全部團隊成員融合成一個整體,大家都是一條線上的螞蚱
4、超強的適應(yīng)能力,適應(yīng)變化勝于按部就班,敏捷開發(fā)的特點就是快速。對于互聯(lián)網(wǎng)行業(yè)來說,這點非常重要
如何進行敏捷開發(fā)?
敏捷開發(fā)的體系建設(shè)主要有如下六個方面:
1、團隊密切協(xié)作
2、不斷反饋和調(diào)整
3、保持軟件可用
4、短迭代,增量發(fā)布
5、提早集成,不斷集成
6、自動化集成、測試與部署
綜上所述,敏捷開發(fā)最大的一個特色就是迭代式開發(fā),不過迭代式開發(fā)也并非敏捷思想的全部,團隊協(xié)作與自動化開發(fā)也是敏捷管理的精髓所在。
敏捷開發(fā)的原則是?
關(guān)于敏捷開發(fā)這里有12條原則,分別是:
1、我們最優(yōu)先考慮的是盡早和持續(xù)不斷的交付有價值的軟件,從而使客戶滿意(使客戶滿意)。
2、即使在開發(fā)后期也歡迎需求變更,敏捷過程利用變更可以為客戶創(chuàng)造競爭優(yōu)勢(擁抱變化)。
3、采用較短的項目周期(從幾周到幾個月),不斷的交付可工作軟件(短周期持續(xù)交付)。
4、業(yè)務(wù)人員和開發(fā)人員必須在整個項目期間每天一起工作(跨職能)。
5、圍繞富有進取心的個體而創(chuàng)建項目。為他們提供所需的環(huán)境和支持,信任他們所開展的工作(信任)。
6、不論團隊內(nèi)外,傳遞信息效果最好且效率最高的方式是面對面交談(面對面溝通)。
7、可工作軟件是度量進度的首要指標(用戶價值)。
8、敏捷過程倡導(dǎo)可持續(xù)開發(fā)。發(fā)起人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)(可持續(xù)開發(fā))。
9、堅持不懈的追求技術(shù)卓越和良好的設(shè)計,從而增強敏捷能力(技術(shù)卓越)。
10、以簡潔為本,最大限度的減少工作量(簡潔)。
11、最好的架構(gòu)、需求和設(shè)計出自于自組織團隊(自組織團隊)。
12、團隊定期的反思如何能提高成效,并相應(yīng)地協(xié)調(diào)和調(diào)整自身的行為(回顧總結(jié))。
這十二條原則囊括了軟件項目管理的所有基本流程,而且這些流程要足夠具體,才可最終達成有效途徑。
敏捷開發(fā)模式的分類?
敏捷開發(fā)的實現(xiàn)主要包括 SCRUM、XP(極限編程)、Crystal Methods、FDD(特性驅(qū)動開發(fā))等等。
同樣是敏捷開發(fā),XP 極限編程更側(cè)重于實踐,并力求把實踐做到極限。這一實踐可以是測試先行,也可以是結(jié)對編程等,關(guān)鍵要看具體的應(yīng)用場景。
SCRUM則是一種開發(fā)流程框架,也可以說是一種套路。SCRUM框架中包含三個角色,三個工件,四個會議,聽起來很復(fù)雜,其目的是為了有效地完成每一次迭代周期的工作。
聯(lián)系客服