軟體開發中品質與進度的痛
在軟體開發中,品質很重要(這個估計誰都知道),但是很多時候品質看上去卻又不能保證(基於進度壓力下)。然後,就亂了… 這個情景我想大多數人都經曆著,呵呵。
“高品質、高口碑的軟體開始於好的分析與設計階段,並不是靠後期的測試與修補來完成的”
我就發表下下面這幾個階段會影響品質的地方吧:
l 分析與設計階段
l 計劃安排
l 開發階段
一、分析與設計階段
如何才能做好這個步驟呢?要擷取使用者真正的需求,同時考慮好可能產生變化的需求點,我認為這兩點基本上能保證分析與設計階段的高品質進行了。這裡PM是肯定要花大功夫的,由於這裡的“可能產生變化的需求點”需要比較好的業務領域知識,所以PM就要做足這個行業的功課了。呵呵,關於PM的工作部分,我不是很清楚…
二、計劃安排
上面所提的亂,出現的原因很多時候是因為時間問題。所以我認為也需要在計劃安排這裡花大力氣---列出的計劃需要周詳,不能缺少步驟,並且時間上是差不多夠的。當然要是上級要求必須在某某時間完成,這時怎麼辦?那就需要這個項目負責人對上級提出異議,保護這個團隊。
三、開發階段
採用反覆式開發法時,往往是先開發部分功能,接著QA測試那些完成的功能。假如開發的品質有問題,比如很多低級錯誤、又或者很不穩定,這樣的程式交給QA去測試,QA看了後不暈才怪,連看都不想去看了(情有可原)。QA測試不通過,必然開發人員再去進行修改,所以時間會根據品質的高低程度產生急劇的浪費!這裡有很多原因發生開發品質不高,比如:主觀上的不做單元測試、客觀上的由於進度緊不做單元測試,湊合著交給QA
1. 主觀上的不做單元測試
a) 這個要麼是開發人員根本不知道單元測試是何物(估計沒多少人是這個原因)
b) 或者過渡信任自己的程式沒有bug
i. 這個只要適當提醒下就行了
c) 不積極工作的表現
i. 這個需要注意阿!很危險了
2. 客觀上的由於進度緊不做單元測試
a) 一種是由於原先計劃安排上有問題
i. 這個我想也就只能通過排計劃的那人考慮周詳點、需求要在排計劃之前就要90%弄清楚(不知道90%是不是太高了…)
b) 一種是所採用的技術需要攻關
i. 技術研發部門要抓緊時間了,研發部門內部損耗來了,要解決
c) 一種是由於需求老有問題導致了開發階段較多的非開發時間的產生,而消耗了本該屬於開發的時間
i. 需求萃取有問題,或者分析那裡不夠細緻,可能是分析時想的不夠細,還存在著許多想當然的東西,沒有分析到能夠交給開發人員做的地步(這地方有挑戰!)
d) 還有一種是a+b+c,哈哈(這種還居多)
i. 阿門,依次解決上面幾個問題吧..
上面是我的個人見解,請大家多指教。