《構建之法》——軟工學習進度(5)
敏捷流程
1.定義: 敏捷流程是一系列價值觀和方法論的集合。流行做法的價值在得到肯定的同時,我們也發現敏捷的做法更能帶來價值。
2. 敏捷開發的原則:
①.盡早並持續地交付有價值的軟件以滿足顧客的需求。
②.敏捷流程歡迎需求的變化,並利用這種變化來提高用戶的競爭優勢。
③.經常發布可用的軟件,發布間隔可用從幾周到幾個月,能短則短。
④.業務人員和開發人員在項目開發過程中應該每天共同工作。
⑤.以有進取心的人為項目核心,充分支持信任他們。
⑥.無論團隊內外,面對面的交流始終是最有效的溝通方式。
⑦.可用的軟件是衡量項目進展的主要指標。
⑧.敏捷流程應能保持可持續的發展。領導、團隊和用戶應該能按照目前的步調
⑨.只有不斷關註技術和設計,才能越來越敏捷。
⑩.保持簡明——盡可能簡化工作量的技藝——極為重要。
?.只有能自我管理的團隊才能創造優秀的架構、需求和設計。
?.時時總結如何提高團隊效率,並付諸行動。
3.敏捷開發的步驟:
①找出完成產品需要做的事情。分析、細化、理清相互關系、估計工作量等工作。
②決定當前的沖刺需要解決的事情。團隊成員能主導任務的估計和分配,他們的能動性得到較大的發揮。
③沖刺。較好的平衡了“交流”和“集中註意力”的矛盾。沖刺期間,團隊通過每日例會來進行面對面的交流,又稱每日例會,強迫每個人向同伴報告進度,迫使大家把問題擺在明面上。
④得到軟件增量版本,發布給用戶。在此基礎上進一步計劃增量的新功能和改進。
4.敏捷流程的問題:
① 怎樣在計劃中體現依賴關系
② 把一個任務分解到一個可以執行的沖刺任務時,我們要考慮一系列的因素。
③ 定義好任務究竟是什麽,任務的完成到底意味著什麽。
④ 誰來驗證增量是否滿足了事先的計劃,如果發現了新的問題,改進了原來的計劃,這是好事還是壞事。
5.總結:
這一章的內容主要向我們介紹了什麽是敏捷流程,以及它的特點和作用,以及相應的步驟。以我的理解,敏捷流程就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,並分別完成,在此過程中軟件一直處於可使用狀態。
敏捷開發認為對變化進行響應的價值重於始終遵循固定的計劃。他們最終的焦點是向用戶交付盡可能多的價值。除了最簡單的項目以外,用戶不可能知道他們所需要的所有功能的每個細節。不可避免地在過程中會產生新的想法,也許今天看起來是必需的功能,明天就會覺得不那麽重要了。隨著小組獲得更多的知識和經驗,他們的進展速度會比開始的時候期望值
《構建之法》——軟工學習進度(5)