程式維護的心理層面

喲哪桑說

軟體開發者應承擔維護自己作品的責任。從心理面來看,軟體開發者不維護自己的作品,維護就不是自己的問題,就不易讓創建軟體的開發者體認「為維護而設計」的重要性。

我也認為「軟體開發者應承擔維護自己作品的責任」,創建軟體的開發者應該對程式的 Stakeholder 負有課責性-對程式所造成的影響有說明的義務。但程式維護心理層面卻不是如學長所提的那麼簡單,它除了程式設計者的個人因素外,尚須考慮到情境因素。因此,當看到軟體開發者「未」「不」這個字,帶有強烈情感批判意味,不是客觀的說法,容易淪為不實指控,故避免使用。維護自己的作品,我常會使用一句從心理輔導專業的內人那邊,所道聽途說而耳濡目染學來的一句問語:

軟體開發者是不想維護自己的作品,還是無法維護自己的作品呢?

當我們用這個角度去思考程式維護的心理層面時,我們的身份就會從指責者變成好奇者,探索軟體開發者未維護自己作品的真正原因-到底是缺乏動機抑或是能力不足或許有人會覺得奇怪,自己寫的程式怎麼可能會沒有能力維護呢?一個常見的例子是某些開發者的工作量大到他無法負荷,以致於他沒有額外的時間維護多加在他的工作清單的那些程式,並不是他不想維護那些程式。呢;這樣就不會落入被巧妙的壞人故事所主導的陷阱當中,而造成對軟體開發者的徧見與誤解。

徧見與誤解常會造成不完全認知,這種結果往往來至心理學者 Lee Loss 所稱呼的基本歸因錯誤現象:人們習慣把他人的行為歸因於人格或態度等內在特質上,而忽視他們所處環境的重要性。把問題的責任歸咎在他人身上,是看來合理且最不花成本的做法,但它卻往往沒辦法有效地解決問題。想要真的解決軟體開發者未維護自己的作品的問題,必須要了解問題的徵結到底是軟體開發者缺乏動機還是能力不足呢。

我相信「沒有人會故意不去維護自己寫的程式而把責任推給他人」。但事出必有因,或許有時候問題是出在我們身上而自己卻不自知呀,所以我們應該多花點功夫去了解「為什麼理性而正直的開發者會令我們失望呢?」。誠如 Ming 在〈專案成本估算之軟體價格的迷思〉中所回應的

所有的問題都是管理性問題,完全跟技術無關。不幸的,這些都是普遍存在,國內外皆然。好的設計很重要,重複使用元件很重要,但是沒有管理,怎麼推動「好的設計」、「確保重複使用元件」?所以,身為管理者要負起全部的責任。沒有好的管理,就算制定良好的工作流程、作業流程,僅有規劃、紙上作業,沒有執行與監督,一切都是空談、作夢。

好的管理很重要,然而,什麼是好的管理呢?我認為必須滿足下列基本原則:認清行為者的心理層面,為他們的良好行為清除障礙、澄清疑慮;當行為者缺乏動機時予以激勵,使他們有足夠的行動意願與動機;當行為者行動的能力不足且難以啟齒時,讓他們感到安全並想辦法讓他們容易做到,徵詢他們的意見但不誘導他們遵循我們提供的解決方案(代表我們重視他的意見而不是一切照我們說的做)。或許可對軟體開發者未維護自己作品,為解決沒有人願意維護軟體的困境,提供不一樣的思考方向。

相關閱讀:

Powered by ScribeFire.

Please follow and like us:
分類: 問題解決, 心理, 溝通, 生活感觸, 管理, 軟體開發。這篇內容的永久連結

在〈程式維護的心理層面〉中有 3 則留言

  1. 自動引用通知: 同人的生活派對 » 不要被「我」給騙了

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *