1. 程式人生 > >什麼是敏捷開發流程

什麼是敏捷開發流程

1.背景介紹

敏捷開發是什麼?

1:敏捷開發不是指某一種具體的方法論、過程或框架,而是一組價值觀和原則,可以指導我們更加高效的開發

2:敏捷開發是以使用者的需求進化為核心,採用迭代,循序漸進的方法進行軟體開發.

3:在敏捷開發中,軟體專案在構件初期被切分成多個子專案,各個子專案的成果都經過測試,具備可視,可整合和可執行使用的特徵. 換言之,就是把一個大專案分為多個互相聯絡,但也可以獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態

敏捷開發的特徵

1:迭代式開發。即整個開發過程被分為幾個迭代週期,每個迭代週期是一個定長或不定長的時間塊每個迭代週期持續的時間一般較短,通常為一到六週。

2:增量交付。產品是在每個迭代週期結束時被逐步交付使用,而不是在整個開發過程結束的時候一次性交付使用。每次交付的都是可以被部署到使用者應用環境中被使用者使用的、能給使用者帶來即時效益和價值的產品。

3:開發團隊和使用者反饋推動產品開發。敏捷開發方法主張使用者能夠全程參與到整個開發過程中。這使需求變化和使用者反饋能被動態管理並及時整合到產品中。同時,團隊對於使用者的需求也能及時提供反饋意見。

4:持續整合。新的功能或需求變化總是儘可能頻繁地被整合到產品中。一些專案是在每個迭代週期結束的時候整合,有些專案則每天都在這麼做。

5:開發團隊自我管理。擁有一個積極的、自我管理的、具備自由交流風格的開發團隊,是每個敏捷專案必不可少的條件。人是敏捷開發的核心。敏捷開發總是以人為中心建立開發的過程和機制,而非把過程和機制強加給人。

2.知識剖析

敏捷開發原則

1:快速迭代:就是小版本更新發布,更符合如今的需求

2:需求評審:定義有效需求,將需求分組,定義優先順序.

3:編寫story/驗收標準,story是根據使用者場景編寫的文件

4:多溝通,減少文件

5:做好產品原型:通過圖形的方式向用戶闡明一個操作介面

6:及早考慮測試

需求講解

需求講解階段需要參加的人員是PM和所有負責開發專案的人,需要做到的是

1:講需求時理解透徹,與產品經理交流,提問以確保理解上沒有偏差.

2:當需求講出來時,當場判斷這個需求可不可做得到,有沒有不合理和邏輯混亂的地方.

3:細節方面有沒有遺漏

Story劃分

產品根據UI做出來的原型圖給開發人員講解系統構成和執行,將整個網站按照功能劃分成一個個細粒度的story來說明,開發人員需要明白自己應該關注那些關鍵點。

人員劃分

主要是專案小組的leader 根據story劃分,給前端和後端開發人員劃分story,開發人員根據自己的情況去估算所需時間。

方案設計

設計表,設計sql語句

定義介面文件,介面是前後端一起定義的

拆解task,從story變成task

方案評審成功後,必須是能用excel表格生成程式碼,且不會出錯

效能測試

正常來說,一個單獨的介面請求,複雜的不超過200毫秒,簡單的不超過50毫秒一般用jmeter來做測試

coderevivew需要完成的三個點

1:是否符合程式碼規範

2:專案中存在的風險

3:是否與方案評審時一致,如果一致為正常

codeerevivew可以找比自己水平高的leader,或者架構師來做

測試階段

運維執行開發人員的指令,把程式碼部署到開發環境,測試環境要求穩定,不能隨時變更.測試人員進行測試.找出bug,bug優先順序,負責追蹤bug解決程度.測試做完後釋出上線

demo環節

如果需求講解是pm把需求交給研發團隊,demo就是研發團隊把成品交給pm或整個公司

demo是指把pm交給的功能完完全全的完成了,pm來驗收,leader需要來驗收,測試來驗收,demo由專案開發人員發起

demo要保證沒有肉眼可見bug

3.常見問題

為什麼需要敏捷開發?

4.解決方案

為什麼需要敏捷開發

1:在使用者需求不斷變化的情況下,能夠保證軟體開發的質量,把大的時間點變成小的時間點

2:把團隊中職責定義清楚,發揮最大效率

6.擴充套件思考

java成員的開發流程是怎樣的

1:聽pm講流程,進行溝通確保理解不發生偏差

2:若是負責人,則建立xxx專案的人員分工

3:前後端溝通對介面,負責人開會討論出結果後,在wiki上生成標準介面文件,然後傳給前端負責人,有問題繼續改,沒問題就開始後續步驟

4:根據原型及定義介面,做方案設計,對有難度或疑點的介面,儘量給出多個合理方案,且寫明每個方案的優缺點

5:進行方案評審

6:在禪道拆分自己的任務,單個任務時間不要超過4小時,要拆分得詳細

7:搭伺服器,根據禪道上的任務,按時完成自己的開發工作,具體做了什麼寫在日報上.每天10點開一次進度會議,如果有延遲現象,拿出解決方案.保證按禪道上的時間點完成.資料庫索引方面,經常查詢的,資料雜湊度比較高的,做一般索引,不要建聯合索引.資料必須保持唯一的,建唯一索引.

8:每天至少釋出一次程式碼到開發環境,並保證釋出後程序沒問題

9:對每個介面做好效能測試,響應時間超過200ms的,做優化,儘量縮小到200ms內

10:做好壓力測試報告

11: 發demo郵件,收件人包括產品,測試,前後端相關開發人員,主題為XX專案demo通知.內容為時間地點參會人員. 主講人為某個開發人員,回答會議途中產品和測試提出的問題.

12:”釋出線上環境並停止開發環境和測試環境