寫程式的價值真的很難衡量

難道這就跟組裝電腦一樣嗎?

知名部落客 XDite 曾經在其「正確的重灌知識與程序」一文中寫道:

沒辦法,這個社會就是很詭異。通常修復一個東西花越短時間,人家越會覺得這項技術沒什麼(真相是技術高超或經驗豐富的人才有辦法達到這種維修速度)。花越多心力幫別人救回東西,反而會越被怪浪費時間。

看到這段話,除了心有戚戚焉以外,我還感覺到:寫程式不也是這個樣子嗎?

我工作的單位,常常有一些系統會外包給外面的軟體公司來開發或是維運,常常會聽到負責業務的同事說:

我們提的需求常常被對方的 P.M. 或工程師駁回說辦不到,真不知道是我們的要求太超過,還是他們的能力還需要加強呢?

我有時實在很佩服這些軟體公司,他們總能夠把一個系統開出幾十幾百條需求對應的程式數量,所以常聽到他們說「某系統需要幾十支程式」,然後再按程式的「支」數來計價,有些看起來沒什麼特別的程式,一支說不定還比很多人接案的全部報酬還要多。就在這樣「資訊不對稱」的情況下,業務不太能判斷報價單是否合理,而接案公司又漫天喊價,最後只能淪落像街邊市集中的討價還價來決定一個系統的最後報價。這完完全全就是一個 發案方-接案方 的賽局啊!發案方以為省下了一些成本,而接案方可能因為領到較少的報酬而亂作一通,最後發案方要花更多「成本」來維運系統;而接案方可能報價太高,發案方覺得不值而把標移轉給其它投標的廠商。

而且光按需求來計價也不一定合理,同樣需求的網站,若交給實力相當的兩組人馬開發,一組使用 Java solution 的人也許要花一個月來完成,而另一組採用 Ruby-on-Rails 來開發可能一個星期就完成了!這又要怎麼評估呢?當然啦,在報酬一樣的狀況下,應該大家多會選擇愈快完成的解決方案。但若是看時程來計費...嘿嘿,又要挑戰會故意擺爛的人性了....

不知道有沒有資訊相關科系在研究「軟體設計師」或「軟體開發」的客觀價值呢?研究成果應該可以有效地仲裁不少需求、報價單。只是,這樣會不會又因為「破壞行規」而惹上一些麻煩呢? 😛

  • Leeheng

    故意擺爛的人性…
    很慚愧的,我就是這樣…
    像我曾經在外面打工作也在校內接過工作,就會覺得,職場上,要努力求表現, 展現能力、速度,學校工作,要慢慢做,越快做好交給他只會得到越多的工作,然後最後連別人的爛攤子都丟過來給你做了…而且薪水還是不變=.=

    曾經有聽過一句話,寫的程式沒有bug,以後怎會有維護的錢賺?

    總覺得…熱情,就是被這種現實澆熄的…

  • dreamman

    唉…..在北部還好, 在南部接Case的價格, 還得要加上”人情”的參數

  • 其實,這樣的例子,類比到翻譯文學上,也是如此。譯稿按字計酬,但有高手翻譯可以用比較少的字,完美地譯達原文的意思。像這屆梁實秋翻譯獎的第1名譯文字數是得名者中最少的,卻被評審一致認為最佳。

    按字計酬,考量人力與物力,是不得不的方法。類似像這樣的弔詭情況,應該會在社會不斷地發生吧。

  • 寫程式的價值仍不脫離基本的經濟原理.
    當供給>需求, 價值會降低.
    如果寫的程式是人人都會寫的, 表示供給很高, 價值就較低.
    如果有較深的技術底子(如multimedia, communication), 供給較低, 當有需求時, 價值就會較高.

  • Dick

    的確真的很難去衡量~
    有時雖然程式碼比較多,但問題(需求)比較單純
    所以做起來比較快
    但有時卻又是相反的
    我想,到最後走上自行開發可能是不錯的選擇
    因為這樣才會真的想把效率提高(不過也可能會把Programer操死)

  • 寫程式就是一種腦力活動,主觀價值是很難論定的。

    只有靠雙方達成協議和共識,那個價格才能浮現,應該很難有所謂的客觀價值。

  • 很多事的價值不在那個東西賣多少錢,以現今科技來說程式,這句話最貼切

    Program testing can be used to show the presence of bugs, but never to show their absence.

    如果用比較粗略的眼光來看買賣軟體這回事,不管你用哪種語言開發,賣程式就像是再賣一個一定有瑕疵的東西給客戶,BUGS 都會存在;那麼PROGRAMMER 的價值何在? 這才值得深思

  • 賣專業要讓買方覺的好..那就是好
    因為買方要的是”結果”不是要過程..
    所以過程就不是那麼重要

    因為使用者只是要那個功能
    所以管你用BASIC開發或Java開發..
    除非他還要用那個程式繼續開發下去..