Ruddy Lee 分享空間

Emergent Design 演化設計

精實原則: 著眼整體 See the Whole

leave a comment »

一個系統的好壞不是由單一組件來決定的,也不是各部分的總和,還要加上各部分相互的協作能力。

 Mary & Tom Poppendieck

這一段話把它拿來描述由人所組成的開發團隊也十分適用,一個產能好的開發團隊需要的不是幾個出色的工程師而已,團隊的協作能力也是效能的一大因素。

局部優化易造成捨本逐末

開發團隊需要著重全局, 要避免局部優化.這裡所謂的「局部優化」所指的是單位與單位之間或公司與公司之間協作開發時,會刻意誇大自己在合作事件上的重要性,這種做法會讓自己做的那一部分增加被重視的比例,而失去擬聚整個系統的重要性。 當然;這種想法也適用在開發團隊上,大家都去強調自己開發的這部分的重要性,也一樣會造成局部性能的受重視,而失去兼顧全體的性能。運用在個人身上: 如果人們在開發一個系統的時候,處處都優先考慮自己的專業興趣,而忽略了整體性的考量,則產品就會出現局部優化,而共同利益就會受到損害。在開發上過度注意細節、在考績或合約的執行上也都可能會局部優化,茲描述如下:

因為過度注意細節就容易產生局部優化

運用連續目標來修正短視可能是最有效的方式。為團隊制定一系列的目標,可以讓團隊不會過度注重於細節,能夠自動克服這種容易讓人不能自拔的陷阱。舉例說明: 行動裝置UI 顯示的重要性是不容忽視的,當大家對顯示畫面都有意見的時候(人的審美觀是很難一致的),團隊就很容易落入一改再改的現象而耽誤了時程,如果能緊守目標,讓網頁真正要表達的意圖,能夠明確的傳達給使用者,目地就可以算達成了,也就不會因為局部因素耽擱時程了。在敏捷迭代的開發採取的方式是,讓細節被短的循環所約束。每一個迭代之間以達成既定目標為前提,就不怕過於注重細節而產生局部優化的現象了。運用目標來驅動實做可以避免過於關心細節而造成局部優化的問題。

※ 因為考績的因素就容易產生局部優化

2014 年日本Sony 企業的巨大虧損,該公司宣稱是因為不正確的考績方式所造成的。而這已經不是第一起因為考績的方式而引導企業失去競爭力的公司了(外傳微軟總裁 鮑默爾也是因為不正確的考績方式導致微軟戰力下滑)。管理學上著名的霍桑效應(Hawthorne Effect),它是指由於受到額外的關注而引起努力或績效上升的情況。正好可以說明員工因為考績的評估方式,造成員工為了求得好的考績,而刻意去做有利於考績卻無助於生產力的工作。

※ 因為合約的因素就容易產生局部優化

簽約的目的是保證一方能夠相信另一方會履行合約的內容。簽約的方式可能是固定價格的合約、可能是多階段的合約或是目標成本的合約,但考量只有一個就是要交付完整的產品。其實客戶需要的不是軟體,他們要的是解決他們的問題。但合約的內容將牽引著雙方走向合約上可以確認的項目去做開發作業。在專案的時程結束的時候,客戶會得到合約上驗收項目的組合,而不是一個完整的,用來解決他們問題的系統軟體。這就是跟著合約走的問題,到最後你只會依據驗收的項目去兜起來完成你的專案。完成的部分就只有驗收項目的部分,合約會帶領著你局部去優化軟體。那敏捷又能如何處理合約呢?

敏捷合約;當客戶嘗試過第一次與敏捷開發團隊的合同之後,在下一次簽約時,對簽約的內容就變得不是那麼在意了。真正重要的是如何把需求描述的完整。為什麼?

因為我們把開發作業切分成一個個的小周期,而每一個周期的產出客戶都看的見,而且還可以就展示的結果回饋意見,讓產品適當的加入真正需要的功能或者是變更設計。而用來配合一個一個迭代開發的是將需求(Product Backlog)給予優先級別。讓需求有優先級別?

※ 讓需求有優先級別,徹底瓦解局部優化

很多正在學習SCRUM的人士,都容易忽略了讓需求有優先級別的重要性。因為將這些需求累積起來一個一個做下去,每每做完一些需求客戶就可以看到做完的結果,滿意就繼續做下去,不滿意就變更需求。這樣做下去的結果你應該已經預期到了,那就是;在你還沒來得及把需求全部做完,客戶大概已經急著要求先上線了。因為你已經解決了他的問題了!

Written by ruddyllee

2014 年 10 月 07 日 於 00:35:35

張貼於未分類

Tagged with ,

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: