close
 

敏捷是一個術語,用於描述軟件開發的方法,強調增量交付,團隊協作,持續計劃和持續學習,而不是試圖在接近結束時立即交付。

敏捷專注於保持流程的精益,並創建最小的可行產品(MVP),在最終結果出現之前經歷多次迭代。不斷收集和實施反饋,總而言之,這是一個更加動態的過程,每個人都在朝著一個目標努力。

敏捷軟件開發

Scrum和其他領先的敏捷方法

敏捷是一種思維方式,它是一套價值觀和原則。敏捷是一種思考和行動的方式。敏捷就是短週期,迭代和增量交付,快速失敗,獲得反饋,及早向客戶提供商業價值,關於人員,協作和互動。敏捷是一種關於透明度,檢查和適應的心態。但是,敏捷不包含任何角色,事件或工件。這是一種心態。例如,Scrum是敏捷傘下廣泛使用的框架之一,它可以幫助你變得更敏捷,但敏捷運動中有更多的框架,如看板,XP,Crystal等等,如圖所示下面:

Scrum敏捷傘

爭球

Scrum是一個框架,人們可以在其中解決複雜的自適應問題,同時高效且創造性地提供具有最高價值的產品。它用於管理軟件項目和產品或應用程序開發。它的重點是適應性產品開發戰略,其中跨職能團隊作為一個單元在2-4週內達成共同目標(Sprint)。它由一系列價值,文物,角色,儀式,規則和最佳實踐組成。

精益起源於豐田生產系統(TPS),它在20世紀50年代,60年代及以後徹底改變了實物商品的生產。精益保持其在製造業中的地位,但也在知識工作中找到了新的應用,幫助所有行業的企業消除浪費,改進流程並促進創新軟件開發是精益方法的自然應用,因為與製造業一樣,它通常遵循一個確定的過程,具有一定的接受條件,並導致有形價值的傳遞。指導精益方法所有實踐的關鍵概念,我們稱之為精益支柱。他們是:

  • 連續的提高
  • 尊重人
  • 輕量級領導

看板

看板是一種高度可視化的工作流管理方法,在精益團隊中很受歡迎。事實上,83%的精益生產團隊使用看板來可視化並積極管理產品的創建,重點是持續交付,同時不會使開發團隊負擔過重。與Scrum一樣,看板是一個旨在幫助團隊更有效地協同工作的流程。

看板基於3個基本原則:

  • 可視化您今天要做的事情(工作流程):查看彼此上下文中的所有項目可以提供非常豐富的信息
  • 限制正在進行的工作量(WIP):這有助於平衡基於流的方法,因此團隊無法啟動並立即承諾過多的工作
  • 增強流程:當某些內容完成後,積壓中的下一個最高優先級項目將被激活

看板通過定義最佳的團隊工作流程,促進持續協作並鼓勵積極,持續的學習和改進。

動態系統開發方法(DSDM)

DSDM是一個由八個原則組成的框架,包括生命週期和產品,角色和職責以及幾種最佳實踐技術。這些支撐和支持的理念是儘早提供具有戰略意義的商業利益,從而為組織提供最佳的投資回報率(ROI)。

DSDM是一種優先考慮計劃和質量而非功能的方法,它在一開始就修復了成本,質量和時間,並使用MoSCoW優先級排序方法,將項目分解為四種不同類型的要求:

  • 必須有(M)
  • 應該有(S)
  • 可以有(C)
  • 不會有(W)

支持DSDM Atern的原則有八個[13]。這些原則指導團隊必須採取的態度和他們必須採取的思維方式,以始終如一地提供。

  1. 專注於業務需求
  2. 按時交貨
  3. 合作
  4. 絕不妥協質量
  5. 從堅實的基礎逐步建立起來
  6. 迭代開發
  7. 持續清晰地溝通
  8. 表現出控制力

極限編程

最初由Kent Beck描述的極限編程(XP)已經成為最受歡迎和最有爭議的敏捷方法之一。XP是一種快速,持續地提供高質量軟件的規範方法。它旨在提高面對不斷變化的客戶需求的軟件質量和響應能力。它促進了高客戶參與度,快速反饋循環,持續測試,持續規劃以及密切的團隊合作,以非常頻繁的間隔(通常每1-3週)提供工作軟件。

該方法的名稱來源於傳統軟件工程實踐的有益元素被帶到“極端”水平的想法。例如,代碼審查被認為是一種有益的做法。極端情況下,可以通過結對編程的實踐不斷檢查代碼。

最初的XP方法基於四個簡單的價值觀 - 簡單,溝通,反饋和勇氣。

它還有12個支持實踐:

  • 規劃遊戲
  • 小版本
  • 客戶驗收測試
  • 簡單的設計
  • 配對編程
  • 測試驅動開發
  • 重構
  • 持續集成
  • 集體代碼所有權
  • 編碼標準
  • 隱喻
  • 可持續發展

極限編程

特徵驅動開發(FDD)

功能驅動開發(FDD)由Jeff De Luca於1997年在一家大型新加坡銀行的軟件開發項目中開展。它是一個迭代和增量的軟件開發過程,是一種開發軟件的敏捷方法。FDD將許多業界公認的最佳實踐融合為一個有凝聚力的整體。這些實踐是從客戶端值的功能(特性)角度推動的。其主要目的是及時反复提供有形的,有效的軟件。使用FDD的優勢在於,由於“初期設計足夠”(JEDI)的概念,它甚至可以擴展到大型團隊。由於其以功能為中心的流程,它是一個很好的解決方案,可以保持對敏捷,增量和固有復雜項目的控制。它由五個基本活動組成:

  1. 開發整體模型
  2. 構建功能列表
  3. 按功能規劃
  4. 按功能設計
  5. 按功能構建。

特徵驅動開發(FDD)

每個項目都有自己獨特的模型,這將產生一個功能列表。最後三個活動是短迭代過程,其構建時間不超過兩週。如果它需要兩週以上,那麼它將被分解為更小的功能。

水晶

水晶方法是由Alistair Cockburn在20世紀90年代中期開發的一系列方法(Crystal系列)。這些方法來自Cockburn多年的學習和團隊採訪。Cockburn的研究表明,他採訪過的團隊並沒有遵循正式的方法,但他們仍然提供了成功的項目。Crystal家族是Cockburn對他們所做的事情進行編目的方式,這些項目使項目成功。水晶方法主要關注:

  • 相互作用
  • 社區
  • 技能
  • 人才
  • 通訊

敏捷宣言

“敏捷”一詞是在2001年的敏捷宣言中創造的。該宣言旨在建立指導更好的軟件開發方法的原則。敏捷宣言由4個重要的價值觀組成。閱讀敏捷宣言的方式並不是右側的物品不再具有價值,而是敏捷運動更重視左側的物品。

敏捷宣言

那麼讓我們來看看敏捷宣言的第一行。這條線表明,我們重視人,他們的互動,溝通和協作,而不是擁有各種廣泛的流程和工具。當然,流程和工具很有價值,但是,如果它們真正支持人們一起工作並提供優質產品,那麼它們就更有價值。我們現在在很多組織中看到的是,流程和工具本身就是目標。從敏捷的角度來看,我們對此有不同的看法。流程和工具應該支持人們共同合作並為客戶創造價值。

敏捷宣言原則

作為敏捷宣言的補充,敏捷聯盟還定義了一套12項基本原則,除了敏捷宣言之外,還提供了指導和更詳細的解釋:

敏捷宣言原則

  1. 我們的首要任務是通過早期和持續交付有價值的軟件來滿足客戶。
  2. 歡迎不斷變化的要求,甚至是開發後期。敏捷流程利用變化來實現客戶的競爭優勢。
  3. 經常提供工作軟件,從幾周到幾個月,優先考慮更短的時間尺度。
  4. 業務人員和開發人員必須在整個項目中每天一起工作。
  5. 圍繞有動力的個人建立項目。為他們提供所需的環境和支持,並相信他們能夠完成工作。
  6. 向開發團隊內部和內部傳達信息的最有效和最有效的方法是面對面交談。
  7. 工作軟件是進步的主要衡量標準。
  8. 敏捷過程促進可持續發展。
  9. 贊助商,開發者和用戶應該能夠無限期地保持穩定的步伐。
  10. 持續關注技術卓越和良好的設計可提高靈活性。
  11. 簡單性 - 最大化未完成工作量的藝術 - 至關重要。
  12. 最好的架構,要求和設計來自自組織團隊。團隊定期反思如何變得更有效,然後相應地調整和調整其行為。

摘要

敏捷開發是軟件開發行業的一個流行詞,它是管理軟件開發項目的另一種方式。它不是特定的軟件開發方法,而是基於敏捷宣言中表達的價值觀和原則的一套方法和實踐的總稱。解決方案通過自組織,跨職能團隊之間的協作發展,利用適合其背景的實踐。

敏捷和Scrum基础

 

 

arrow
arrow
    全站熱搜

    Warren Lynch 發表在 痞客邦 留言(0) 人氣()