軟件開發(fā)流程(框架性草稿,細(xì)節(jié)還需要完善,修改中)
團(tuán)隊(duì)組成
項(xiàng)目經(jīng)理、配置管理員、業(yè)務(wù)顧問、項(xiàng)目組員。
其中項(xiàng)目經(jīng)理是必須的,配置管理員和業(yè)務(wù)顧問可按情況單獨(dú)配置或與其它項(xiàng)目共用。
進(jìn)展控制
在開發(fā)前先根據(jù)項(xiàng)目要求設(shè)定一個(gè)總體的完成期限,并且根據(jù)經(jīng)驗(yàn)設(shè)置若干個(gè)項(xiàng)目里程碑,里程碑規(guī)定了項(xiàng)目進(jìn)展所達(dá)到的要求,在整個(gè)開發(fā)流程中采用迭代循環(huán)的方式進(jìn)行漸進(jìn)式開發(fā),每個(gè)項(xiàng)目的迭代周期應(yīng)由項(xiàng)目經(jīng)理根據(jù)迭代目標(biāo)和實(shí)際情況進(jìn)行確定。每次迭代前確定迭代目標(biāo)和迭代周期,一般是把需求優(yōu)先級(jí)最高和技術(shù)風(fēng)險(xiǎn)最大的用例首先實(shí)現(xiàn),每次迭代都要以得到一個(gè)達(dá)到迭代目標(biāo)并明確可運(yùn)行的版本為結(jié)束標(biāo)志。
需求分析
原則上不限制需求分析過程,但是建議采用UP流程進(jìn)行需求分析,必須編寫詳細(xì)的文本方式的用例說明(UML圖形為可選件)。進(jìn)行需求分析時(shí)采用頭腦風(fēng)暴會(huì)議方式,要求項(xiàng)目組所有人都必須參加和討論。所有的用例和設(shè)計(jì)都必須保存到配置管理庫中。
軟件開發(fā)
采用敏捷開發(fā)過程和持續(xù)集成。
測(cè)試先行,開發(fā)時(shí),先編寫對(duì)應(yīng)的TESTCASE后經(jīng)項(xiàng)目經(jīng)理審核,并編列入開發(fā)文檔后,方可進(jìn)行功能代碼編寫,功能代碼和單元測(cè)試代碼都由必須同一個(gè)人完成。單元測(cè)試行覆蓋率要達(dá)到90%以上。
每天下班以前必須簽入當(dāng)天的工作代碼,并通過單元測(cè)試。如有特殊情況不能完成,需要向項(xiàng)目經(jīng)理說明。
每次簽入必須說明簽入結(jié)果,比如增加成了什么功能,修復(fù)了什么BUG等等。
一般情況下組員都應(yīng)該采用結(jié)對(duì)方式工作,兩人同時(shí)使用一臺(tái)電腦。碰到特殊情況由項(xiàng)目經(jīng)理安排。
除非迫不得以,盡量不要采用IDE的DEBUG方式來進(jìn)行單步跟蹤,而是采用記錄日志和設(shè)置斷言的方式來進(jìn)行DEBUG。
每次發(fā)現(xiàn)BUG,必須修改單元測(cè)試以至讓單元測(cè)試可以檢測(cè)到該BUG的存在。如有特殊情況不能完成,需要向項(xiàng)目經(jīng)理說明。
會(huì)議要求
每次會(huì)議必須記錄下需要解決的問題和會(huì)議結(jié)果,并且用攝象機(jī)錄制整個(gè)會(huì)議過程,并存檔。
注:
許多朋友在看過這個(gè)規(guī)定之后,提出了許多好建議和善意的批評(píng),這里非常感謝大家,特別是肯.索夫特朋友(以上蘭色部分為他的修改意見)。
說實(shí)話,我的職業(yè)大部分是一個(gè)程序員,也沒什么太多的管理經(jīng)驗(yàn),我想每個(gè)程序員在工作的時(shí)候都會(huì)有這種感覺:提高生產(chǎn)力除了提高技術(shù),優(yōu)秀的管理手段也是非常重要的一個(gè)因素。
其實(shí)在國(guó)內(nèi)很多企業(yè),把程序員當(dāng)工人一樣管理,但是軟件和傳統(tǒng)工業(yè)相比還是有許多特殊的地方,但是管理人員并不知道,比如在我以前的一家公司,還在采用瀑布模型,需求人員做好了需求給設(shè)計(jì)人員,設(shè)計(jì)人員做好了設(shè)計(jì)給程序員,程序員基本上沒有資格參與需求分析和設(shè)計(jì),但是一程序員拿到最終設(shè)計(jì)時(shí)卻發(fā)現(xiàn)無法下手,只好憑著自己的想象去做,最終是什么結(jié)果可以想象。但是管理人員還認(rèn)為他的管理手段非常先進(jìn),實(shí)現(xiàn)了“流水線作業(yè)”。這種巨無“可操作性”的制度,最后竟然也被“操作”下來了,并且還做了幾個(gè)項(xiàng)目。。。
雖然我們并不是管理人員,但是在面對(duì)不合理的制度的時(shí)候,我們除了抱怨制度的合理性,能不能主動(dòng)一點(diǎn)提出一些自己的理想中的建議呢?
我承認(rèn)我的經(jīng)驗(yàn)不足,太理想化,在這個(gè)規(guī)范中,確實(shí)有許多地方不完善,也有許多部分還沒有考慮到,比如軟件測(cè)試等等。所以希望大家在批評(píng)之后,最好能提出一些修改意見或補(bǔ)充,或者把自己心目中設(shè)計(jì)的或?qū)嶋H運(yùn)行中優(yōu)秀制度提出來給大家分享和參考,再次感謝大家。
聯(lián)系客服