敏捷開發實踐

敏捷開發是一套軟件開發的方法學,或者方法框架,包含有很多內容,詳細定義可以點擊 ,

敏捷開發  

瀑布模型 



本文主要是講在開發團隊中實踐敏捷開發:

1 角色

在瀑布模型中,所有的流程是預先定義的,角色更是根據流程而劃分,如下圖



在敏捷中,定義的角色有

利益相關者(stakeholder) 產品所有者(product owner) 開發團隊(developer team(scrum master)) 角色被分爲三類:在開發團隊中包含了Business Analysis、 Developer 、Tester、 Technical Architect、UserInterfaceDesigner,這些在瀑布中根據流程固定下來的角色,現在完全變成一個Team,鼓勵Team之間相互溝通,用產品來驅動整個開發過程,而不是用流程來保證角色,來完成開發。對於利益相關者需要關心產品,可交付可使用的產品。對於產品所有者,他需要去規劃這個產品,從開發團隊獲得反饋。


2 概念

sprint 直譯是衝刺,作爲一個開發過程,一般是2-4周。敏捷是一套通過快速迭代,來完成可交付產品開發的方法,過長會讓sprint目標過於複雜,過短則完成不了計劃任務。

story 直譯是故事,在開發過程中,對白板(storyboard)的應用,形象直觀,把每一個需求,用story來描述清楚,這是一個product ower整理出來的,想要幹什麼的過程,其不用關心技術,只是描述清楚what即可。

task 直譯是任務,每一個story,都可以分爲若干個task,task是對問題的how的描述,是developer team完成開發工作用,將task再分成子task,有助於細化問題。每個開發人員都需要對assign給自己的task,完成時間評估,而不是由項目管理人員評估。


3 流程

敏捷開發,不像瀑布強調流程,它有一些keyword,如下

1 sprint planning meeting

2 stand  up scrum meeting(daily  meeting)

3 product review meeting 

4 refine meeting 



敏捷開發是價值驅動(value-driven)的,完成可交付的產品是敏捷開發目標,而完成的方法是通過原型快速迭代,去逼近用戶想要的產品 。其核心價值有一下五個: 

承諾(commitment)
開發(openness)
專注(focus)
尊重(respect)
勇氣(courage) 


PS:圖片縮得不清晰了,下載流程圖(.vsd)的點擊


Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizingcross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto[1]introduced the term in 2001.

發佈了46 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章