.NET 雲原生架構師訓練營(模塊二 基礎鞏固 敏捷開發)--學習筆記

2.7.1 敏捷開發

敏捷介紹

  • 敏捷的起源
  • 敏捷軟件開發宣言
  • 敏捷開發十二原則
  • 生命週期對比
  • 敏捷開發的特色
  • 敏捷的發展
  • 敏捷的核心

敏捷的起源

2001年,17個老頭子在一塊兒一邊滑雪,一邊討論工做,制定了《敏捷軟件開發宣言》html

從60年代中期開始到20世紀末,軟件行業獲得了很是迅猛的發展,軟件系統的規模和複雜度也愈來愈高,行業廣泛面臨不知足需求,永遠沒法交付等一系列嚴重的問題,史稱「軟件危機」架構

從長期積累的經驗看,早期階段的時間投入會影響到後期的經濟支出,就是需求變化發生的越晚,對軟件交付的影響越大,這是瀑布模式存在產生的核心觀點,因此瀑布模式主張很是完整的設計,拒絕需求變化工具

拒絕變化帶來雙向的負面效應,軟件需求方得不到本身滿意的產品,另外一方面,因爲過分強調計劃,忽視領導者和管理者在團隊中起的做用測試

針對以上兩個負面效應,敏捷軟件開發宣言中「擁抱變化」和「尊重個體」成爲兩個核心的觀點設計

敏捷軟件開發宣言

敏捷軟件開發宣言:https://www.scrumcn.com/agile/scrum-knowledge-library/agilevalues.htmlhtm

  • 個體和互動 高於 流程和工具
  • 工做的軟件 高於 詳盡的文檔
  • 客戶合做 高於 合同談判
  • 響應變化 高於 遵循計劃

敏捷開發十二原則

  • 咱們最重要的目標,是經過及早和持續不斷地交付有價值的軟件使客戶滿意。
  • 欣然面對需求變化,即便在開發後期也同樣。爲了客戶的競爭優點,敏捷過程掌控變化。
  • 常常地交付可工做的軟件,相隔幾星期或一兩個月,傾向於採起較短的週期。
  • 業務人員和開發人員必須相互合做,項目中的每一天都不例外。
  • 激發個體的鬥志,以他們爲核心搭建項目。提供所需的環境和支援,輔以信任,從而達成目標。
  • 不論團隊內外,傳遞信息效果最好效率也最高的方式是面對面的交談
  • 可工做的軟件是進度的首要度量標準。
  • 敏捷過程倡導可持續開發。責任人、開發人員和用戶要可以共同維持其步調穩定延續。
  • 堅持不懈地追求技術卓越和良好設計,敏捷能力由此加強。
  • 簡潔爲本,它是極力減小沒必要要工做量的藝術。
  • 最好的架構、需求和設計出自自組織團隊
  • 團隊按期地反思如何能提升成效,並依此調整自身的行爲表現。

生命週期對比

生命週期 需求 活動 交付 流程
瀑布 固定的,需求明確 整個項目進行一次 一次交付 強調文檔,用里程碑的方式,嚴格定義各階段的輸入和輸出。不走回頭路,若是出現返工,付出的代價巨大
敏捷 動態的,貼近客戶需求 重複,直到正確爲止 頻繁小的交付 核心是小版本迭代。短、頻、快的溝通與反饋機制,減小客戶價值創造過程當中的損耗

敏捷開發的特色

  • 小步快跑
  • 有項目計劃,但也要「擁抱變化
  • 版本迭代週期內儘可能不加任務
  • 團隊配置也要敏捷
  • 敏捷也須要反思

敏捷的發展

敏捷發展的3個階段:blog

  • 在軟件行業被定義
  • 在商業活動中發揚光大
  • 軟件商業活動匯合

後面兩個階段的開啓受到了如下兩個概念的啓發:生命週期

  • 精益創業
  • 持續交付2.0

精益創業

2021年美國做家埃裏克·萊斯出版了《精益創業》一書中的精簡式反饋,以小見大等概念與敏捷軟件開發迭代模型有不少類似之處開發

在 SCRUM 中要求每一個迭代都能交付給有用價值的功能(能夠工做的軟件)文檔

埃裏克在束中提到的最小可行性產品 MVP 強調用最快,最簡明的方式創建一個可用的產品原型,經過這個最簡單的產品原型來測試產品是否符合市場預期,並經過不斷的快速迭代來修正產品,最終適應市場需求

定義 MVP 的關鍵在於,須要抓住用戶的核心完整需求,在以後的迭代中不斷地將核心完整需求變的好用。要求是那些必不可少的且最後是完整可用的

軟件開發終究是爲商業活動服務的,只有在商業活動也是敏捷的狀況下,敏捷軟件開發才能發揮最大的威力。惋惜的是精益創業的思想產生比軟件敏捷開發思惟晚了整整11年

持續交付2.0

國內 DevOps 專家喬梁在2019年出版了《持續交付2.0:業務引領的DevOps精要》中提出雙環模型強調「只有業務方可以以「精益」方式思考,持續交付才能更顯威力」,由此軟件開發活動與商業活動有了完整統一的方法論模型

  • 提問:用戶須要什麼
  • 錨定:背後的真正需求
  • 共創:業務,銷售,開發人員一塊兒思考解決方案
  • 精煉,決策
  • 構建
  • 運行
  • 監測:埋點

監測環節爲精益創業中產品的驗證提供數據支持,經過數據來反饋產品是否符合用戶預期

敏捷的核心

變化來自於哪裏?

從2001年的敏捷宣言核心觀點來看「擁抱變化」,多數的變化能夠認爲是需求

需求的變化有兩種:

  • 一種是需求沒有變,是沒有理解透(不少複雜的細分行業B端產品)
  • 另一種是提出需求的人本身沒有想清楚(不少創新型產品,互聯網行業居多)

知識共享許可協議

本做品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。

歡迎轉載、使用、從新發布,但務必保留文章署名 鄭子銘 (包含連接: http://www.cnblogs.com/MingsonZheng/ ),不得用於商業目的,基於本文修改後的做品務必以相同的許可發佈。

若有任何疑問,請與我聯繫 (MingsonZheng@outlook.com) 。

相關文章
相關標籤/搜索