Re: [心得] 為什麼軟體開發者需要在意軟體品質指標

看板Soft_Job作者 (guest)時間12年前 (2012/05/26 14:57), 編輯推噓17(170189)
留言206則, 16人參與, 最新討論串2/20 (看更多)
再提另一個現實問題,跟 CMMI 無關,請問版上所有的公司所有的工程師們, 請問你公司的專案都能如期結案甚至提前結案的的請舉手。 幾乎每件案子都逾期了,還想的那麼美好,還可以有時間寫什麼除錯程式來測試? 要品質誰沒這概念? 從工讀生到老闆全部的人都早就有這個概念了, 重點還是同樣一句話「成本」問題。 一個案子遞延效應,業務請研發小組估時程,估需N個月,結果簽約完畢,花在 前前後後客戶跟業務的來往確認已經佔了 1/2 的時程,等到開發小組可以開發 只剩下 1/2 的時程可以開發,要怎樣照顧品質??大家都是無眠無日的趕工, 要怎樣會有品質出現?我描述的絕對是現在大多數的公司現況。 要品質當然可以有好品質,你的資源粗厚當然可以有品質,可以去用一倍甚至 3倍的人來搞。 現在還有些公司更慘!! 工程師內部的平均素質不足,只有一兩位資深真正有戰力 的在扛案子,其餘的都是「來學習」的,來練功的,等待練功完畢再來跳槽的。 人員的素質也是一團糟,要怎樣有品質? 那些美好的未來,書上的理論大家早就懂了,重點就是你有沒有去「台灣軟體業」 上班過(也許有,但沒待過我待過的那些公司)?你是否知道台灣軟體業的毛病是啥? 理論跟現實真的差距很大的。為啥一堆資訊系畢業的,學了那麼多理論,到了公司 一點用處都沒有?甚至連程式都寫不出來?理論學那麼多,還學啥 UML,結果到了 現實去實戰,你寫 UML 客戶看的懂你的鬼畫符嗎? 那些都是學術派的東西,真實 世界至少在台灣根本真的是垃圾,你跟客戶溝通這種東西客戶看不懂,要跟工程師 溝通,工程師也不需要你做這個東西了,他只要你的需求列表跟資料庫結構,就能 完成後面的所有的任務。 我講的都是真的現在台灣軟體界的現況,當然有制度一版一眼的公司真的有在搞 UML 還是不少,但請問一下,你們公司真的有搞這個的請舉手。大家都是只有三份 文件,資料字典檔、系統需求及規格表,了不起加一個流程圖跟 E-R圖就很猛了。 等到你分析完角色跟系統關係、每個介面的進出畫完所有的 UML圖,客戶已經在 跳腳了,工程師也在跳腳了。 了解我的意思吧?? 文件的用處其實在打發客戶,讓他們理解我們的系統「沒有這個 功能」,我們系統「你開的價格」,我們只有做到這樣子,不讓他們亂追加功能, 而不是給工程師看的,甚至根本寫錯了(注意這一句話,很重要,如果文件很重要, 不該有錯誤,有錯誤後面應該就要掛掉了,但很神奇,文件真的是錯的,但後面的 人還是做的出來,那這份文件重要嗎?),工程師其實通通都懂,不懂也沒差, 付錢的是老大,主管說了算話,你的文件沒寫的,他還是會生出來功能給你, 內部完全不會有任何問題,再重複一次:「文件真正的用途是在打發客戶」好讓專案 能順利結案。 所以你寫UML根本沒用,客戶看不懂,劃UML 對結案說實話真的沒幫助。 你提的什麼DOS時代的進銷存,那些都一樣早期開發好品質也沒你現在用的好, 那些現在品質那麼好的原因是因為「時間因素」才是品質那麼好的主因, 而不是你想鼓吹的,「在開發階段造就品質」。系統上線,那麼多人在罵, 慢慢的調整修改,是時間因素才會有現在的品質,不是什麼那個進銷存品質那麼好。 連一堆超大型軟體、超知名的系統開發出來的都不是品質那麼好了,你還真的以為 那些軟體品質那麼好? win7 已經多少補釘了??品質好有需要補釘嗎?連大公司 超知名的一堆軟體都一樣,更何況是台灣軟體體系那麼糟糕,市場價格那麼糟糕, 你還要顧到什麼品質? 做個總結:要品質真的要高成本的,不是不想做,是江湖造成現狀,你要講的每個人 都知道。今天市場願意付出50倍的價格請我們開發,願意給我們5倍 的時間給我們好好把他寫完善,系統的品質絕對也會一級棒。 重點是人在江湖,身不由己。不是我們不想做到完善。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.40.61

05/26 15:19, , 1F
我倒很好奇你是去了哪些公司 UML不做 到後期只會很慘
05/26 15:19, 1F

05/26 15:23, , 2F
到後期就生得出UML了 剛開發新產品時就真的是這篇的狀況
05/26 15:23, 2F

05/26 15:24, , 3F
現在很多公司生得出UML來 是因為已經對同類型產品有經驗了
05/26 15:24, 3F

05/26 15:28, , 4F
在創業到早期業務拓展階段 軟體品質沒有意義 能交貨就好
05/26 15:28, 4F

05/26 15:30, , 5F
等同類東西做了三年後 就會有閒得蛋疼的人鼓吹軟體品質了 XD
05/26 15:30, 5F

05/26 15:35, , 6F
我感受到了比我對我主管還深的怨念XD
05/26 15:35, 6F

05/26 17:08, , 7F
基本上這篇比較接近是專案公司的狀況
05/26 17:08, 7F

05/26 17:08, , 8F
對那些自己是打造產品的公司,又完全是另外一群問題。
05/26 17:08, 8F

05/26 17:09, , 9F
還有,逾期問題不見得在開發身上,如果不會收斂的需求,你用
05/26 17:09, 9F

05/26 17:09, , 10F
什麼仙丹妙藥都沒用,如果時間就是不夠多,那你怎麼開發都會
05/26 17:09, 10F

05/26 17:09, , 11F
死。這不見得是正確歸因。
05/26 17:09, 11F

05/26 17:10, , 12F
當你專案 functionility 多到成千上萬個,不寫 test case 你
05/26 17:10, 12F

05/26 17:10, , 13F
光自己測就一個月不見了,有 test case 你至少還有一定比例
05/26 17:10, 13F

05/26 17:10, , 14F
的品質。這時候不幹 test case 才是讓時程 delay 的問題。
05/26 17:10, 14F

05/26 17:11, , 15F
當然如果是先上線再說,哪怕一點就爛,不管 user 死活的,
05/26 17:11, 15F

05/26 17:11, , 16F
這的確不用管這個問題。
05/26 17:11, 16F

05/26 17:13, , 17F
另外補釘跟品質是兩回事,照你這樣說的話全世界沒有品質好的
05/26 17:13, 17F

05/26 17:14, , 18F
程式了,補釘大多還是因為需求變動。
05/26 17:14, 18F

05/26 17:14, , 19F
另外高品質 不代表 沒有問題,完全就是不對的類比啊。 :P
05/26 17:14, 19F

05/26 17:29, , 20F
第一、錢! 第二、保佑使用者不會又突然想起來我要加什麼!
05/26 17:29, 20F

05/26 17:30, , 21F
光這兩點要一起成立,你這輩子能遇到幾次?
05/26 17:30, 21F

05/26 17:33, , 22F
依照win7這種等級的,patch已經算是很少了.在台灣,品質重要?
05/26 17:33, 22F

05/26 17:34, , 23F
還有這種情況不止台灣有,大陸就不說了,六年前和日本和最
05/26 17:34, 23F

05/26 17:35, , 24F
近和一間泡菜國的,他們大概也是這德性,檯面上的東西看看
05/26 17:35, 24F

05/26 17:36, , 25F
就好了。
05/26 17:36, 25F

05/26 17:39, , 26F
品質...結的了案拿得到錢比較實在...XD
05/26 17:39, 26F

05/26 18:08, , 27F
關於test case,我的看法是你還能真被測有缺陷真的要檢討
05/26 18:08, 27F

05/26 18:11, , 28F
這些都是"明"的.有一定水平的還發生這樣低階錯誤,不是
05/26 18:11, 28F

05/26 18:12, , 29F
昨天一整天沒睡.要不然真的是都沒去跑過自己的程式.
05/26 18:12, 29F

05/26 18:13, , 30F
真正的bug都是存在沒想到還有這樣的狀況會發生.
05/26 18:13, 30F

05/26 18:16, , 31F
原本每位開發人員就該對他自己的code負責.本來就沒啥錯
05/26 18:16, 31F

05/26 18:20, , 32F
其實太依賴測試員給你結果..真的會降低你的生產品質.
05/26 18:20, 32F

05/26 18:21, , 33F
反而沒測試員這樣練出來的..最後的程式品質都會較佳
05/26 18:21, 33F

05/26 18:22, , 34F
好像也是,測試其實自己寫自己測一下就好了
05/26 18:22, 34F

05/26 18:22, , 35F
critical 的地方滿少的。基本上也不會有啥錯啦 :D
05/26 18:22, 35F

05/26 18:30, , 36F
聽到CMMI就哈哈哈哈哈
05/26 18:30, 36F

05/26 20:18, , 37F
@guest2008 通常 test case 真正的 power 是來自於後人改
05/26 20:18, 37F

05/26 20:18, , 38F
規格,那種時候你不靠 test case 自己測,可以啊
05/26 20:18, 38F

05/26 20:18, , 39F
小改大概幾十個地方,大改幾千個地方。
05/26 20:18, 39F
還有 127 則推文
05/27 07:43, , 167F
(小聲說)其實除了前一家公司外, 我一直沒用過UML...
05/27 07:43, 167F

05/27 07:44, , 168F
後期嗎? 只要一直是同一批人做就沒有問題. 會有問題都是
05/27 07:44, 168F

05/27 07:45, , 169F
在人手不停變換的環境吧. 這也就是小公司內的IT部門
05/27 07:45, 169F

05/27 07:46, , 170F
雖然不一定有標準流程也有可能準時結案的原因.
05/27 07:46, 170F

05/27 07:47, , 171F
我目前專案會拿到的SA/SD文件格式堪稱多采多姿
05/27 07:47, 171F

05/27 07:50, , 172F
偏偏就是不用UML(流程圖也跟一般格式不同)
05/27 07:50, 172F

05/27 07:52, , 173F
不過看不懂會被當作是程式設計師自己的問題一.一...
05/27 07:52, 173F

05/27 12:38, , 174F
我只是知道,XP和AGILE DEVELOP很重試TEST!
05/27 12:38, 174F

05/27 12:39, , 175F
打錯!重視!重點是重視他之後……
05/27 12:39, 175F

05/27 12:39, , 176F
你就可以每天三天半去喝下午茶了。
05/27 12:39, 176F

05/27 12:39, , 177F
我曾經就發生過一個BUG解了4個小時搞不定。
05/27 12:39, 177F

05/27 12:40, , 178F
版本回歸後耐下心寫TEST,結果只花4分鐘搞定……
05/27 12:40, 178F

05/27 12:41, , 179F
寫測試和不寫的結果是差了60倍的時間。你說要不要做?
05/27 12:41, 179F

05/27 12:41, , 180F
真要我說那些說什麼事實上沒時間等等什麼理由。
05/27 12:41, 180F

05/27 12:42, , 181F
不如說是打從一開始就沒建立這種習慣吧。
05/27 12:42, 181F

05/28 07:48, , 182F
但是PM一開始的預算沒把test算進去的話, 寫test需要的
05/28 07:48, 182F

05/28 07:48, , 183F
時間就只能自己生出來了... (默)
05/28 07:48, 183F

05/28 07:50, , 184F
但如果花5%專案時間寫test,省去30~40%的debug時間的話。
05/28 07:50, 184F

05/28 07:50, , 185F
你寫不寫?
05/28 07:50, 185F

05/28 10:05, , 186F
不寫.會出現30%debug時間..肯定是你還沒搞清楚需求就一
05/28 10:05, 186F

05/28 10:06, , 187F
頭栽進去造成的..請先退回起點.把條件完全搞懂在寫程式
05/28 10:06, 187F

05/28 10:08, , 188F
真的懂還會出現30%.表示身體警訊.請去睡覺睡飽一點.
05/28 10:08, 188F

05/28 10:13, , 189F
都不是.那表示你的工法有問題..才會種下陷阱災難
05/28 10:13, 189F

05/28 12:39, , 190F
我讀樓上推文,很有樓上寫 code 都不需要 debug 的錯覺。XD
05/28 12:39, 190F

05/28 13:33, , 191F
又不是神.誰沒被bug玩過?現在搞網站都是被排版/CSS 玩假
05/28 13:33, 191F

05/28 13:34, , 192F
的.反而很少被bug玩了..要減少被bug玩一定都會有竅門的.
05/28 13:34, 192F

05/28 13:36, , 193F
我寫一個函數的習慣是"先寫完流程註解再開始寫code"
05/28 13:36, 193F

05/28 13:37, , 194F
跟大家一邊寫code一邊寫註解的習慣不同..而且 1.1 1.2..
05/28 13:37, 194F

05/28 13:37, , 195F
都是列出一大堆輸入的檢核事項.,讓輸入源進來不會出問題
05/28 13:37, 195F

05/28 13:42, , 196F
重點是模組交出去,就不會有問題.而不是開發過程沒bug.
05/28 13:42, 196F

05/28 13:42, , 197F
有bug只會出現一次..怎麼可能重複出現?還要重複驗證?
05/28 13:42, 197F

05/28 13:43, , 198F
那表示你改錯位置了才會還再出現。
05/28 13:43, 198F

05/28 14:54, , 199F
樓上好厲害!寫程式從來不會有BUG的!(包括打錯字....)
05/28 14:54, 199F

05/28 14:54, , 200F
只要會出bug,管你是大bug或是小bug都應該要測。
05/28 14:54, 200F

05/28 14:55, , 201F
說真的!我只想看到每個函式是不是都有一個bug_list表示為
05/28 14:55, 201F

05/28 14:55, , 202F
正常。而不是你告訴我你的功能是正常的。
05/28 14:55, 202F

05/28 14:56, , 203F
我也不會想去看你的註解。最多是看那個函式幹嘛的!
05/28 14:56, 203F

05/28 14:57, , 204F
上面寫錯!是test_list才對。
05/28 14:57, 204F

05/28 14:57, , 205F
然後我只會期望你把功能標在test_list,而不是函式前面。
05/28 14:57, 205F

05/28 14:57, , 206F
這樣我要看比較快。
05/28 14:57, 206F
文章代碼(AID): #1Fm7x7Xg (Soft_Job)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 20 篇):
文章代碼(AID): #1Fm7x7Xg (Soft_Job)