敏捷開發,其具體表現形式是壹種工作方法,其真正本質是在互聯網行業快速叠代發展的環境下,團隊內部形成的壹種行為意識。
2.工作方法
在敏捷開發中,我們通常將敏捷開發團隊稱為scrum團隊。scrum這個詞來源於爭球遊戲,意思是小規模的精益團隊,不斷爭取勝利。
壹個完整的scrum通常可以不依賴外部資源在線獨立完成壹個需求,所以在組建scrum團隊時,需要充分考慮團隊所負責的領域需要哪些功能資源。
例如,負責app平臺的scrum團隊通常需要由以下資源組成:
這裏的項目指的是jira平臺中的項目,而不是實際工作中的需求項目,應該理解為壹個域,比較合適。壹個scrum團隊建立壹個獨立的jira項目,專註於某個領域的產品叠代和優化。這個項目屬於這個scrum團隊,保持壹定的獨立性,減少與其他團隊的相互幹擾和耦合。
產品經理(PO)需要隨時記錄來自各方面的需求或需要改進的事情,通過將其納入需求池的統壹管理方式,實現對需求的有效管理和防止遺漏,並能根據實際資源情況做出相應的優先級評估和實施管理。
在壹個sprint叠代過程中,通常包括需求計劃會議、每日常務會議、推動需求進度並及時更新看板、定期回顧、總結和優化等主要過程環節;
常務會議
布告牌
在sprint叠代結束之前,我們通常會召開壹個回顧會,總結我們在這次sprint叠代中做得好的地方和做得不好的地方,保留我們做得好的地方,彌補不足,繼續優化,同時展示在這次叠代中取得的成績,以鼓舞團隊士氣;
3.敏捷叠代的標準過程
4.角色的定義
在敏捷團隊中,SM的作用非常重要。通常SM是由我們pmo(產品管理辦公室,pmo是組織或部門,不是個人,個人定義為pm)來扮演的,但並不完全局限於pmo。
SM是敏捷開發團隊中為團隊成員提供各種支持的角色,同時承擔壹些項目管理職能。SM在scrum團隊中更多扮演的是教練的角色。通過幫助成員獲取和了解工作事實,服務團隊,幫助團隊解決困難和問題,引導團隊以正確的方式做出正確的決策,在sprint叠代中不斷幫助團隊在自己負責的領域成長和精益,把自己負責的領域的產品做得更好。在敏捷開發中,SM更多的是老師的角色,而不是領導的角色。他不承擔決策義務,團隊和PO才是真正的領導者。
在敏捷團隊中,產品經理(PD/PM)通常是PO。
PO負責管理scrum團隊所負責領域的所有需求的收集、整理、優先級評估、分析、設計、評審和跟進。PO領導scrum團隊,對自己負責領域的工作成果負責。
5.敏捷開發的主要特征
敏捷開發不同於傳統的瀑布開發。在敏捷工作模式下,我們以某個時間段(通常是2周)為壹個計劃。通常我們采用的瀑布式開發的特點是基於項目的開發或者基於需求的開發。當需求出現時,執行嚴格的開發流程來推動相應的工作(需求評審、開發架構評審、測試用例評審、開發、測試、...在線)。
敏捷開發並沒有拋棄傳統瀑布開發過程中的標準環節。我們仍然遵循需求評審、架構評審、測試用例評審等必要的流程,但我們是在固定的時間段內做這些相應的工作,而不是針對項目或需求。
在敏捷開發過程中,團隊需要實現的需求通常缺乏標準的特征,需求的規模和屬性類型具有很大的不確定性。通常情況下,固定的開發過程不能經常應用。因此,在實際工作中,敏捷開發團隊會根據實際需求特征分析相應的流程,根據相應的流程拆解相應的子任務系統,通過子任務的分配實現快速響應效率;(實際工作中,我們可能會突然發現中間需要插入壹個工作項。在敏捷工作方法中,我們只需要臨時建立壹個子任務,而不需要切換整個需求。)
看板是敏捷開發中非常重要的工具。看板源於日本豐田汽車公司的精益生產理念。看板中建立了四種工作狀態(待定、進行中、待定驗收和完成),每個子任務都與之對應。通過看板的使用,便於整個scrum團隊很好的了解每個成員的工作狀態,並實時響應。這種方式非常適合,尤其是在scrum團隊這種高度默契的組織中。
需求管理的極致。通過jira的backlog管理,我們可以詳細地收集和管理所有的需求;
結構思維。要實現每壹個需求,就要通過結構化的思維,將相應的子任務進行分解,從而不斷提高團隊的默契配合和戰鬥力。
信息同步和透明。通過需求管理的全面記錄、優先級的唯壹性和工作狀態的看板,相關協作部門的所有成員都能快速掌握自己需要的信息,及時發現流程中的問題,實現快速響應和解決。
需求變化正常化。互聯網公司的需求是時變的。在敏捷開發過程中,快速反應機制可以快速匹配市場的需求。但在不斷的叠代過程中,由於工作不到位而導致的真實需求變化,會通過總結和改進,優化團隊結構而不斷優化。