l

2015年6月4日 星期四

工程師性格發作

May 29 13:28~14:12

▲當局者迷,寫作順序違反價值驅動原則。

接觸敏捷開發之後,Teddy經常告訴別人做軟體要「價值驅動(value-driven)」(請參考〈計畫驅動 vs. 價值驅動〉)。優先開發對客戶有價值的功能,如此一來不但可以讓客戶儘早接觸到可執行的軟體以便獲得回饋意見,在時間不足的情況下,也可確保尚未完成的功能是價值比較低的,對整個產品的殺傷力比較小。

昨天下午在家裡寫《笑談軟體工程:設計模式的逆襲》,動手之前挑了「內聚與耦合」這一章來寫。寫完之後重新看一次目錄:

第一部 ALEXANDER的PATTERN
1 你和設計模式有多熟?
2 DESIGN PATTERN簡史
3 什麼是PATTERN?
4 FORCE是什麼?
5 了解FORCE讓你做出好設計:自然界與設計界的FORCE
6 哎呀,忘了RESULTING CONTEXT
7 MINIPLOP@TAIPEI TECH實況報導
8 這就是無名特質
9 設計的定義
10 PATTERN的修練途徑:從THE TIMELESS WAY OF BUILDING看起
11 問題就是答案,答案就是問題
12 PATTERN是個雙面人
COLUMN A. | 讀讀PLOPD:CUSTOMER INTERACTION PATTERNS
13 沒好沒壞,因人而異
14 什麼是REFACTORING?
15 學習PATTERN的兩個理由
COLUMN B. | 哲學好好玩
16 關於設計與品質的抽象思考
第二部 軟體設計
17 軟體設計的產出物
COLUMN C. | 這不是軟體設計
18 先學物件導向還是先學設計模式?
19 TOP-DOWN和BOTTOM-UP設計方法
20 套用PATTERN之前先確定它要解決什麼問題
21 如何辨識GOF DESIGN PATTERNS的使用?
22 為什麼看不懂?
23 COHESION AND COUPLING(內聚與耦合)
24 SINGLE-RESPONSIBILITY PRINCIPLE(單一責任原則)
25 OPEN-CLOSED PRINCIPLE(開放-封閉原則)
26 LISKOV SUBSTITUTION PRINCIPLE
27 DEPENDENCY-INVERSION PRINCIPLE
COLUMN D. | SOLID的共同點
28 SINGLE CHOICE PRINCIPLE(單一選擇原則)
29 亂談軟體設計之答客問:小鄭篇
30 用模式分析問題
第三部 GOF設計模式I
31 DESIGN PATTERNS分成三大類
32 SINGLETON
33 STATE
COLUMN E. | 直接套用PATTERN還是REFACTORING TO PATTERN?
34 FACADE
35 TEMPLATE METHOD
36 FACTORY METHOD
37 ABSTRACT FACTORY
COLUMN F. | 如何學習GOF DESIGN PATTERNS?
38 OBSERVER
39 COMMAND
40 ADAPTER
41 STRATEGY
42 COMPOSITE
第四部 GOF設計模式II
43 BUILDER
44 MEDIATOR
45 BRIDGE
46 MEMENTO
47 PROTOTYPE
48 FLYWEIGHT
49 DEVORATOR
50 CHAIN OF RESPONSIBILITY
51 VISITOR
52 PROXY
53 ITERATOR
54 INTERPRETER
COLUMN G. | 說服老闆採用DESIGN PATTERN!?

突然驚覺Teddy寫書的順序居然違反價值驅動原則,已經寫完的那幾章都是屬於「第一部 ALEXANDER的PATTERN」與「第二部 軟體設計」,這是自己最有興趣或是比較容易寫的內容,而把對客戶最有價值但比較難寫的「第三部 GOF設計模式I」和「第三部 GOF設計模式II」丟到後面。整個人從原本的Product Owner角色變成開發人員心態(工程師哪管你客戶喜不喜歡,自己做的爽最重要XD)。應該要重新安排優先順序,先寫幾個比較常用的GoF pattern才對。

***

鄉民甲:先寫哪一篇還不都一樣嗎,反正全部寫完才可以出版啊。

Teddy:不一樣耶,我可以先挑幾個章節把它們定義為最小可行性版本,然後先釋出放到網路上收集鄉民們的回饋。如果評價很差我可能要修改寫作方式,或是根本不要寫這本設計模式的書,改寫其他主題。如果評價不錯,而且有很多人願意為這個最小可行性版本付錢買單,也許就不需要把全部的內容寫完才出版。

鄉民甲:真的可以這樣嗎?

Teddy:試了就知道啊。
***

友藏內心獨白:拖太久了,寫書也應該要敏捷。

鄉民甲:想不到光是名詞片語與動詞片語的差別,居然有這麼多名堂啊。

2 則留言:

  1. 呵,請問這本書(笑談軟體工程:設計模式的逆襲)會出版嗎?

    回覆刪除
    回覆
    1. Hi Liang Annie,

      理論上,會,只是出版日期遙遙無期XD(沒時間靜下心來寫書啊)

      刪除