jim yeh on 四月 16th, 2007

鳥毅與 R 君的對談中,R 君說:

很多事情
用說的侀’不如先做出來
低調點
等到其他系統出包時
就把您做的拿出來
這樣自然有人會相信您

這正是「如果你不滿意現況,試著改變它;但,別抱怨。」的最佳寫照。要追求進步,採用創新的軟體開發方法論流程是必要的,然而在現實因素的威脅下,多數軟體開發團隊多半徧向選擇低成本開發策略而捨棄差異化開發策略,相信很多開發人員常聽到主管這麼說:「我也知道創新的作法很重要,但公司要能夠先獲利才行,等到公司獲利之後我們再來考慮這些創新的作法吧。」,主管的觀點似乎言之成理,主管的心智模式正如下圖藍色線條所示。然而,這是否就意味著當下改變軟體開發的現況是不切實際的呢?


我舉同學的例子來說明好了,身為某軟體公司的負責人的他,認為軟體開發人員必須思考軟體公司營運現實面的考量,也就是把儘快地軟體產品做出來比用好的製程來開發軟體還來的重要。等到公司財務狀況穩定了,再來用正規的方法論來開發軟體才是面對現實環境生存之道。就如上圖中的藍色線條,減少開發成本以求獲利,獲利以後便有充足的資金來做創新,因為創新需要開發成本的投資,而且其獲利沒有低成本可以馬上有成果。這樣表面上形成一個逐漸減少降低開發成本的做法、增加創新做法的環路的良性循環。然而,當考慮競爭對手時,降低開發成本是很容易被競爭對方模仿的作法,因而抵削低成本的優勢而減少獲利,而且會如上圖的綠色線條,增加競爭壓力,當競爭壓力愈高就更不可能創新而造成惡性循環。

對於同學的看法,我的觀點是改變軟體開發現況與面對現實其實是不相衝突的兩件事。創新的好處除了是為了創造更大利潤外,更重要的是如圖中的紅線所示,使競爭對手無法輕易模仿而減少競爭壓力,當愈沒有競爭壓力時,我們更有足夠的時間與空間可以發揮創新的做法而形成良性循環。而創新並不代表忽略現實,它是一種態度而非制式的特定作法,亦即面對問題對方法論的採用、調適與熟練三部曲。不要因為現實而忽略方法,也不要因為方法而昧於現實,徧向任何一端其實只是道德上或是情感上的無意義爭論。

理論是一回事,能否付諸行動又是一回事。如果沒有用具體行動來支持理念的落實,理論並無法創造任何價值,只有動手實踐,理論才會化成經驗知識形成智慧,幫我們解決問題,但沒有親身體驗是很難體會的。有些人認同我在軟體開發流程的努力與成果,但他們卻認為那是因為公司有豐厚的資源、開發組織定義明確的開發角色定位,所以才會成功。但其實他們並不了解,改變並不需要太多的資源,而是需要勇氣及信念。改變最困難的是來自上層的阻力,他們無法用概念性理論來說服,而只能提出具體而穩定的結果來取信他們,等待機會,展現才能,就能創造自己正確的角色定位。所以,話不用說太多,用成果來說明一切,這就是改變軟體開發現況的藝術,just do it!

Powered by ScribeFire.



     

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">