網路城邦
上一篇 回創作列表 下一篇  字體:
軟體需求不能用猜的!
2014/06/04 07:26:28瀏覽1027|回應1|推薦12

我曾寫過文章說「程式裏面沒有神」,目的是提醒業主或公司老闆不要對電腦程式有過度浪漫的遐想,其實所有的程式都必須奠基於人的腦袋真的想得出做得到的事情,寫成程式只是讓他可以無厭倦的重複,有方便的使用介面,當然速度也快很多而已。

我們公司的案子都是客製化的軟體系統,雖然牽涉到寫程式或演算法的技術是我們的責任,但是程式到底要做甚麼(功能)?要怎麼做(介面)?還是必須由使用者一方詳細說清楚講明白(設計)的!這是現階段我們常常感到困擾的事情。

國內多數業主習慣購買使用套裝軟體,老闆也是做硬體起家的,對於自行建置軟體的過程不是很清楚,也因此常常有過度輕忽或浪漫的想法。好像開個會,畫畫簡圖,讓我們帶著一些模糊的概念回辦公室,我們就可以發揮「創意」完成合乎業主要求的所有細節。加上我們的開發團隊其實也都不是甚麼正統資工系出身,我們的軟體工程進行程序也有點違章建築的精神,不是那麼細緻。好處是繁文縟節不多,壞處是開發過程中必須密集的與客戶常常溝通。

或許專業的軟體工程專家會說:應該一開始就將詳細規格訂清楚。但是連我這麼有開發經驗的人,自己需要軟體時,要我第一時間就寫清楚都不太可能,更不用說那些不會寫程式的客戶了!開發過程中總是會隨時需要調整的。一開始就將需求寫得非常清楚非常細,只是增加繁文縟節,自我設限,不會提升效率的。而且我們是私人公司,過程中客戶說要改當然也不會官僚的說「規格訂了不能改」或「要改就要加錢」等等惹人厭的話,總是評估不太難的話就盡量配合。

目前遇到的困境就是我們開發到某個階段時,就會需要進一步的細節功能與介面需求,否則貿然按自己的想像去寫程式,最後反而會浪費時間重複寫類似的程式。但是每次去問老闆或業主設計細節時,都會讓對方嫌煩,或者覺得不重要而拖延回應,但是如果我們不持續「騷擾」他們,盡速要到我們要的資訊,最後工程延誤時,老闆與業主都不會自責的!總是歸咎於我們開發團隊的「能力」或「努力」不夠!真的相當冤枉。

其實開發套裝軟體與客製化系統是有差異的,要開發一個功能非常完整,任何地方做個微調或修改環境資訊就能用的軟體,代價可能是非常高的開發成本,需要很多人力,很多資訊,寫很多程式,也就是很長的時間(一兩年跑不了)。過程中是不必騷擾客戶的,但是軟體價格可能高得嚇人,也不是絕對合用。

客製化軟體,相對的是由使用者這端主導,要甚麼東西我們就寫甚麼程式,所以有可能兩三個月之內就開發完成。對使用者來說未必很省錢,但是必定實用而且好用,因為是量身訂做的嘛!但是客戶必須付出的代價就是要把自己也當作開發人員之一,必須有耐心參與功能與介面的設計,至少必須常常看看半成品,提出口頭意見。只要客戶講得夠清楚程式就會很快做好。

會談到這個,是因為近日發現松山機場的案子開發有些停滯,問問工程師都是因為去索取的細節需求資訊遲遲沒有回覆,但是他們還是有來信提到完工期限等等東西,蠻嚇人的!因此我叮囑工程師,對方一天沒回,隔天就繼續去Email或打電話,纏人功夫必須一等一。這樣就算工程最後延誤時,也能自保撇清責任。

換言之,要向上教育老闆,對外教育客戶,真的必須這樣才能順利完工的!我們甚麼程式都應該會寫(不會要自己去學),但是不能用猜測需求的方式寫程式,因為猜錯了還是會被打屁股的。我們不是神或客戶肚子裡的蛔蟲,如果客戶堅持不講清楚,不能怪我們延誤的。

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=13873887

 回應文章

方正平
等級:8
留言加入好友
2014/06/04 11:46
學會煩客戶,也是程式人成長必經之路。訂製軟體,更要把自己變成聽得懂對方專業的通才。