close
技術人員的思維和非技術人員的思維落差很大
 
拿重構來說好了
開發者在維護現有系統時會認為系統很需要重構
如果開發者跟主管說要進行重構
就一般非技術思維來講的話
1.不做會怎麼樣?做了又會怎麼樣?
一句好維護未必夠,對方可能還會希望你告訴他之後時間可以縮短多少
比如說:之後處理Bug時間可以縮短20%
如果你真的這麼說了,他可能又會問你這數字怎麼來的...
2.做這重構要多久
因為你將會有一段時間無法開發新功能或調整功能,所以他會想知道這段時間會有多久
但會寫程式的都知道,重構這種事情又不是只要重構後就不再需要重構的
通常是看到哪邊不太好就調整一下...
 
要是你無法做出清楚的回答(帶有數字)
對方可能就不會接受你做這樣的事情
但就算你講個數字,對方可能就會追問你數字怎麼來的
甚至會想砍你的時間,例如:某部分先不處理要多久...
 
結果重構常常變成一件不算績效的事情,很多系統都是不太做重構的系統
(從另一個角度來看,也真的很難評估重構的結果算不算好)
 
再來講另一個問題
有個網站在網頁的原始碼就可以看到登入者的帳號密碼(還是沒加密的)
這個問題算不算嚴重呢?
 
從技術角度來看,大概會是安全性太糟了,密碼都給人看了
很容易被攻擊,認為問題很大
 
但如果從另一個非技術角度來看,管理者可能會先問以下問題:
1.目前有被攻擊嗎?
2.甚麼樣的情況可以利用此問題攻擊,影響有多大?
3.處理問題要多久,會需要付出甚麼代價?
如果情況是尚未被發現,攻擊需要一些技術難度,那會覺得還是小事
那怎樣算大事呢?
1.報上媒體
2.改個URL參數就能叫出其他使用者的個資
 
結語:
曾經看過一本專案管理的書分出商業、技術、顧客三種觀點
軟體工程師和管理者常常是使用不同的觀點在看待事情
當事情的決策是完全犧牲某個觀點時,相關的問題就很容易產生,理想狀況是都考慮
但現實往往是有技術最容易被犧牲(有的管理者會要求工程師不要用技術的角度來看待問題)
arrow
arrow
    全站熱搜

    tomwangkniht 發表在 痞客邦 留言(0) 人氣()