2008-09-17 69 views
4

所以我有積壓的功能,我們即將開始一個大型的項目。我正在確定我們的衝刺的結構,並且我對社區反饋感興趣。你如何構建發展衝刺?

我在想什麼是:

  • 一天衝刺規劃
    • 填寫積壓,弄清每個開發將在衝刺後去
  • 三週發展
    • GO!走!走!
  • 每日站會
    • 檢查,看是否有人需要幫助或感覺偏離了軌道衝刺複習
      • 代碼審查發生在這裏,利益相關者介紹
    • 兩天
  • 一天衝刺回顧
    • 我們在上一次衝刺中完成了什麼?我們下一次如何做得更好?

衝刺應該總是結束在星期二(避免過多的週末應力)。

還有其他嗎?顯然更多的是敏捷。我想爲團隊提供一個簡單的綱要,說明我們如何開始運作。

回答

3

我會考慮試驗短於一個月的短跑。

就我個人而言,我發現一兩週的迭代更有效地快速獲得有效的反饋。它還可以防止任何可能導致迭代級別問題的問題建立到難以管理的級別。

即使是30天的衝刺 - 兩天聽起來大概有一天可以進行衝刺檢查......而且有一天聽起來大概有0.5天的時間回溯。我發現,如果你需要的不僅僅是這些,那麼迭代一直在進行,所以出現了溝通問題 - 所以你可能需要考慮需要長時間的評論作爲可能的紅旗。

當然,這只是我的經驗 - 主要是開發小型(4-12)人員團隊的網絡應用程序。你的經驗可能會有所不同。

這就是說 - 我一定會嘗試短跑。就像集成構建 - 如果你更頻繁地完成它們,許多事情會變得更加容易。

+1

我喜歡給定sprint中多次迭代的想法。 – 2008-09-17 17:30:38

2

爲核心代碼時間關閉電子郵件,手機和即時消息應用程序。上午10點到下午1點,下午2點到下午5點可能是很好的選擇。

當他們在「區域」時爲團隊訂購食物和飲料。

取消規劃會議和審查日期間,之前和之後的所有其他會議。

2
  • 確保「站立」仍然是STAND-up。滑入更長和更長的會議非常容易。
  • 衝刺計劃的一天和最後三天可能太多。只根據需要安排儘可能多的時間。
  • + +1對較短迭代的想法。就個人而言,衝刺中的四次爲期一週的迭代運行良好。人們在估計近期任務方面很出色;過去它變​​得越來越臆測。
1

看起來像一個很好的方法。第二,adrianh和jedidja談到可能的更短迭代。我自己喜歡1個週末。除了更好的估計,它還使「工作軟件」的概念在更短的週期內保持不變。

有幾個問題:

爲什麼代碼評論會留到最後?兩人一起編程,或者隨時做你的評論。

3周的開發是否意味着「開發,測試,文檔,安裝等」?即你需要真正做到的一切?

+0

3周的開發意味着我們需要提供該衝刺中定義的工作範圍(開發,測試,文檔,下午工作)所需的一切。大規模的正式代碼評論留給了衝刺的結尾,但是當我們以結對編程的形式爲主時,肯定會有迭代評論。 – 2008-09-18 09:51:36

0

我們構建了與您的輪廓非常相似的短跑,除了我們的短跑評論是短跑的最後一天,並且通常持續約一個小時。 Sprint審查是您向客戶和任何其他相關方展示您的工作的時間,而不是進行代碼審查的時間。代碼評論,如果你選擇這樣做,應該在整個衝刺過程中定期完成。我們以前每週有一個小時的時間塊,在那裏我們會討論開發人員提名的代碼,這意味着我們沒有浪費時間審查每個寫入的LOC。

我們也在週二結束衝刺,週三開始週三離開,結束鬆散的結局並處理衝刺期間創建的技術債務。

0

我不建議推遲代碼評論,直到衝刺之後,它們應該是開發過程的一個組成部分。換句話說,除非代碼已經被審查過(並且被測試,記錄和...),否則任務不會被完成。

0

它爲了管理起見遠離管理很重要。 SCRUM每天只需要1次會議,而這只是一個短會議。此外,在每次衝刺期間,唯一的其他會議是春季回顧和衝刺計劃。這使我們能夠實施ROWE或面向結果的工作環境。讓你的開發者決定如何,在哪裏,什麼時候他們會做他們的發展。使用你的日常站點來跟蹤他們在做什麼工作。除此之外,退後一步,驚訝於他們的生產力。

諸如「關閉手機,在編碼期間關閉IM應用程序等」的想法都是不好的主意。當你聘用你的團隊時,你會充滿信心地僱用他們,他們知道如何正確地完成他們的工作。如果你用這種理解聘用他們,你爲什麼要限制他們以他們知道的最好方式完成工作的能力?如果您使用SCRUM,那麼每個開發人員都會選擇他們認爲他們能夠完成的工作,而作爲Scrum Master的您的工作是消除障礙,而不是創建它們。

代碼評論:絕對有必要。代碼的同行評審對於初級開發者參加會議以及對代碼進行審查的人來說是一個很好的教學工具。設計文檔:我個人覺得詳細的設計文檔涵蓋了開發人員打算做什麼非常重要,我也覺得他們是開發過程的重要組成部分。現在,這不是特別符合敏捷開發,但我個人經常回頭看看幾年前創建的設計文檔,以瞭解原始開發人員在編寫模塊時想到的內容。