專案 敏捷開發

2021-08-20 22:21:22 字數 2034 閱讀 9605

敏捷開發是一項系統性的工作,需要根據團隊特性量身定做,但仍然有一些普世的敏捷信條可以指導我們更加順利地開展敏捷嘗試。隨著理解的深入,筆者會持續關注敏捷動態,為需要的好友們提供借鑑和思考。

極限程式設計(extreme programming)敏捷方法,特別擅長於獲得技術成功。

xp指導思想

1、客戶也是研發團隊的一員

在xp中客戶不僅僅是指支付開發費用的人,有時,客戶是和開發人員同屬於一家公司的一組業務分析師或者市場專家;有時,客戶是使用者團體委派的使用者代表。與客戶緊密合作,時刻滿足客戶需求,解決實際問題。

正如筆者大學期間的乙個上位機軟體專案,是幾周時間田導在旁邊看著完成的,過程不時被打斷並提出需求建議,而田導就是我的客戶,與客戶面對面溝通生產剛剛好的軟體。

1、第一周根據田導要求實現硬體設計,調通下位機軟體;

2、第二週實現網路資料上傳,交付可以工作的軟體,給田導演示上位機軟體功能;

3、第三週田導進一步提出需求,完成上位機緊急報警功能;

4、第四周田導提出新的上位機介面需求,重構軟體邏輯與介面設計;

5、田導對該項目的完成表示滿意。

2、使用者素材

正如上面筆者介紹的上位機專案,需求的特定細節很可能會隨著時間而改變,一旦客戶(田導)開始看到整合到一起的系統,就更會如此。看到可以工作的軟體是關注需求的最好時刻,減少無用功,生產剛剛好的軟體。

使用者素材(user stories)-也有書籍稱之為使用者故事,就是正在進行的關於需求談話的助記符。它是乙個計畫工具,客戶可以使用它並根據它的優先順序和估算代價來安排實現該需求的時間。

使用者故事雖然是非常小的特性或者部分特性,但是它體現使用者價值。

3、短交付週期

開發者不斷地整合**,這使得團隊可以在任何時候發布軟體,只要它具有商業意義。整個團隊都會集中精力去完成每一項特性,然後才開始下一項,這可以在軟體發布之前防止難以預料的延期,並使團隊可以隨意改變方向。

發布計畫不是一成不變的,客戶可以隨時改變計畫內容。他可以取消使用者素材,編寫新的使用者素材,或者改變使用者素材的優先級別。

正如筆者之前的專案經歷,每乙個專案的結束,都會積累十幾個版本的可以工作的軟體,是不停迭代和完善的結果;

軟體專案需要更多的需求、設計和測試——這就是為什麼xp團隊每天都從事這些活動(activity)。是的,每天。

4、結對程式設計

xp強調面對面協作。它可以如此有效地消除交流中的延遲和誤解,以致於xp團隊無需區分階段(phase)。這使他們能夠以「並行階段」(simultaneous phases)每天從事於所有的活動。採用並行階段,xp團隊每週都產出可部署的軟體。在每次迭代中,整個團隊分析、設計、編碼、測試和部署一部分特性。

xp開發者協同工作,這可以幫助他們跟蹤大型專案的每一處小細節,並確保每一段**都至少有兩個人複查過。

5、重構

隨著新特性的不斷新增,軟體結構會逐漸退化。如果對此置之不理的話,這種退化最終會導致糾結不清,難以維護的混亂**。

正如筆者在華為所看到的,hisi平台**由於長期的累積,混亂並且難以維護。但,他們也注意到了這一點,近期的**重構確實很好地改善了這個問題,雖然還有很長的路要走。

重構就是在不改變**行為的前提下,對其進行一系列小的改造,旨在改進系統結構的實踐活動。所有這些改造疊加在一起,就形成了對系統設計和架構顯著的改進。

6、文件極簡原則

敏捷思想並不鼓勵書寫文件。敏捷宣言也宣告「可用的軟體重於完備的文件」,但如果乙個軟體是長期更新和維護的,還是需要必要的文件來將所有有價值的歷史資訊記錄下來的。

你如果剛加入乙個敏捷團隊來接手乙個已經迭代了9個sprint的軟體,如果什麼都沒有你從**下手?但是不希望文件過於龐大,能把使用者故事的關鍵點、設計的關鍵點記錄下來就夠了,特別是**每次變更必須用注釋描述清楚。

總結敏捷的價值不僅僅在於其可以簡約軟體開發,更重要的是敏捷態度符合未來人性化發展需求,傳播敏捷思想,探索商業價值。

個體和互動             勝過        過程和工具

可以工作的軟體     勝過        面面俱到的文件

客戶合作                 勝過        合同談判

響應變化                 勝過        遵循計畫

敏捷開發專案

敏捷開發專案高效管理團隊,richinfo使用的是tower,mpr tech使用的是icescrum 1 優化專案計畫 敏捷開發的基本特徵是迭代開發。而迭代開發的強調的是 小批量 頻繁交付 盡可能地使各個任務並行。2 進度資訊的獲取 3 定義完成的標準和進度資訊的核實 完成的標準不僅定義了質量要求...

關於敏捷專案開發

最近深度參與敏捷專案開發,敏捷專案裡的種種玩法逐漸的理解更深入了一些 關於啟動會 啟動會的意義在於團隊建立 目標建立,任務項發布,團隊的風險與應對策略制定,團隊的組織形式約定確立。關於迭代story拆分會議 迭代拆分會議,一方面確定拆分及相關的開發 測試時間,另一方面確定相關的有限及,還有乙個重要方...

敏捷開發專案管理 通過敏捷開發管理專案的硬體方面

存檔日期 2019年5月14日 首次發布 2011年10月12日 瀑布式開發因無法處理快速變化的需求而在軟體行業中享有盛譽,在最先進的軟體開發中這一點變得越來越明顯。但是,在硬體開發等某些領域,瀑布仍然是更流行的開發方法。在本文中,我們介紹了如何使用ibm rational team concert...