10 個讓敏捷設計更加高效的方法

oschina發表於2013-05-09

  敏捷設計的關鍵在於處理變化時的快速迭代,而不是在前期花很長時間做需求分析和文件編寫。它要求你專注於快速的迭代,由低質量到高質量,並從得到的反饋中改善你的設計。

  敏捷設計更加高效的10個方法:

  1. 避免BUFD – 避免前期過度設計.  不管在設計、實現、測試之間有多少時間都應該避免過度設計,它會打破你的反饋迴路,使你的設計得不到反饋,從而慢慢陷入危險中。所以你只需要“剛剛足夠的設計”,這樣就有時間來測試什麼行,什麼不行,並作出相應的反應。
  2. 避免YAGNI – 你不會需要它.  就儘量避免掉.  於此同時也要避免範圍蔓延  “保持系統的整潔,你認為稍後會使用的東西其實只有10%才會用到,這就浪費了90%的時間”Extreme Programming.org
  3. 儘量簡化和簡潔(Keep It Simple Stupid).  從長遠看使用最簡單的解決方案無疑是比較好的方法.  它會幫助你在前期跟上不斷變化的需求。
  4. “測試第一” –  如果你不知道好看的標準, 完成它就比較艱難了.  如果你清楚實際測試的是什麼,你就不會在設計中迷失方向。一個小而有用的測試在各種各種設計幫助會很大。
  5. 提供迭代和增量的解決方案.   迭代方案就裝飾客廳,增量方案就像增加房子的門廊。有效的迭代能夠從反饋中改善你的設計。
  6. 使用替代方案.   快速失敗常常失敗,這是能夠做到快速原型和由低到高質量原型的一個很好的方法。   通過替代方案來找到滿意的解決方案。做A / B測試。並建立3個替代方案。不要檢視尋找“最好的解決方案。”在許多情況下,你最好的解決方案也只能是“滿意”,替代方案會讓你應對新的需求。
  7. 跟使用者保持聯絡.  跟那些使用你做的東西的人保持聯絡.   而不是忽視他們。
  8. 著眼於全域性.  先解決全域性問題,而不是那些細節
  9. 及早的獲得反饋.   這些反饋有助於改善你的設計
  10. 儘早及經常Spike. 使用技術Spike,功能的Spike,使用者體驗的Spike 來解除風險

  (譯者注:第10條沒看懂)

  最不適宜的事情,就是把一個方案拋過需求的牆(沒有人想這樣),或者你錯過了最基本的場景。這是為什麼儘早釋出會幫助免除風險,並且幫助驗證你的途徑。

  如果你曾經觀察到人們爭論如何“滿足需求”,卻沒有人想使用它的話,你會確切的明白我的意思。人們並不總是確切清楚他們想要的是什麼,或者,甚至他們想做的是什麼,某種意義上,你很難說清楚讓每個人都明白。但是人們對有些事要好一些,如識別出來什麼才是他們喜歡的,並且在他們實際使用的時候知道他們是否喜歡一些東西。

  擁抱它。

  這就是敏捷設計所做的——它包含了人們長期以來對什麼才是好的設計變得越來越清晰這樣一個現實。

  建立一個早期的反饋迴路也會強迫你保持你的解決方案簡單好維護,並且很容易的演進。不然的話,加固你的設計,並對浮現的需求不再響應,這是非常容易的。持久設計的關鍵在於它們是響應變化的。

  這是一個不斷學習與持續交付的過程。

  英文原文:10 Ways to Make Agile Design More Effective

相關文章