軟件開發(fā)過程中,往往有很多細(xì)節(jié)和意外讓我們的計(jì)劃趕不上變化蔑鹦。譬如需求變更逗概、人員流動(dòng)等弟晚。為了保證項(xiàng)目進(jìn)度可控,有效規(guī)避項(xiàng)目在開發(fā)過程中的風(fēng)險(xiǎn)仗谆,項(xiàng)目管理的作用在軟件開發(fā)中的重要性可想而知指巡。
項(xiàng)目管理大致有項(xiàng)目計(jì)劃和開發(fā)團(tuán)隊(duì)管理兩方面。
建立項(xiàng)目計(jì)劃
(1)設(shè)計(jì)總體架構(gòu)
針對(duì)項(xiàng)目的實(shí)施需要隶垮,采取適合項(xiàng)目且相對(duì)成熟的框架結(jié)構(gòu)。
那時(shí)公司的產(chǎn)品總出現(xiàn)各種各樣的問題秘噪,例如日常發(fā)布系統(tǒng)時(shí)或訪問量稍微過大時(shí)狸吞,系統(tǒng)就會(huì)出現(xiàn)故障,一天下來(lái)收到了100多份bug郵件,影響了業(yè)務(wù)系部門的正常使用蹋偏。
之所以出現(xiàn)這么多的bug便斥,是因?yàn)闊o(wú)論業(yè)務(wù)系提什么需求,技術(shù)部都全盤接受了威始,按理這樣也不會(huì)導(dǎo)致出現(xiàn)這么多bug枢纠,技術(shù)部服務(wù)于業(yè)務(wù)部,是正常的黎棠,畢竟公司的主要收入在業(yè)務(wù)部晋渺。可問題是脓斩,數(shù)據(jù)字典是每個(gè)開發(fā)人員自己設(shè)計(jì)的木西,導(dǎo)致大多數(shù)數(shù)據(jù)字典冗余、甚至設(shè)計(jì)不合理随静。各自只關(guān)心自己負(fù)責(zé)的模塊八千。等到模塊之間有關(guān)聯(lián)時(shí),問題就接踵而至了燎猛。
那時(shí)候公司用asp.net +mssql server技術(shù)恋捆,并沒有采用相應(yīng)的框架,代碼冗余多重绷,后來(lái)團(tuán)隊(duì)經(jīng)過兩個(gè)多月的整改沸停,系統(tǒng)才勉強(qiáng)能正常使用。
(2)控制可擴(kuò)展度
擴(kuò)展度過大论寨,將提高系統(tǒng)的復(fù)雜程度星立,延長(zhǎng)開發(fā)時(shí)間;擴(kuò)展度過低葬凳,會(huì)直接影響系統(tǒng)的二次開發(fā)與維護(hù)绰垂。控制系統(tǒng)的可擴(kuò)展性火焰,能提高開發(fā)效率劲装,降低系統(tǒng)維護(hù)的難度。
不知你有沒有覺得昌简,項(xiàng)目前期沒有做好占业,后面復(fù)制粘貼的現(xiàn)象就會(huì)到處可見,導(dǎo)致冗余的代碼越來(lái)越多纯赎,維護(hù)越來(lái)越困難谦疾。
(3)建立基礎(chǔ)設(shè)施
合理分配軟、硬件等基礎(chǔ)設(shè)施的部署所需要的時(shí)間與成本犬金。
(4)劃分開發(fā)任務(wù)
利用WBS(Work Breakdown Structure念恍,工作分解結(jié)構(gòu))對(duì)可交付結(jié)果進(jìn)行分類與劃分六剥。每個(gè)項(xiàng)目劃分為多個(gè)不同階段,每個(gè)階段又可以分為多個(gè)工作包(Work Package)峰伙,工作包是WBS里最小的可交付結(jié)果疗疟,最后從工作包中分解出多個(gè)開發(fā)任務(wù)列表,分配給各個(gè)開發(fā)人員瞳氓。
(5)部署開發(fā)進(jìn)度
從需求調(diào)研策彤、進(jìn)行概要設(shè)計(jì)、進(jìn)行詳細(xì)設(shè)計(jì)匣摘、執(zhí)行開發(fā)任務(wù)店诗、測(cè)試、聯(lián)合調(diào)試恋沃、SIT部署必搞、生產(chǎn)環(huán)境部署都常常延誤,項(xiàng)目經(jīng)理必須有談判能力囊咏、預(yù)判風(fēng)險(xiǎn)能力恕洲、控制能力。項(xiàng)目經(jīng)理就是在滿足各方項(xiàng)目干系人的利益的情況下梅割,推動(dòng)項(xiàng)目向前發(fā)展霜第,最后達(dá)到項(xiàng)目驗(yàn)收。
(6)測(cè)試項(xiàng)目成果
每個(gè)工作包都應(yīng)該同步部署測(cè)試工作户辞,提高項(xiàng)目的質(zhì)量泌类。對(duì)出錯(cuò)BUG的工作包應(yīng)該由測(cè)試人員以文本方式記錄,向開發(fā)人員展示錯(cuò)誤所在底燎,讓開發(fā)人員及時(shí)進(jìn)行修改刃榨。
管理開發(fā)團(tuán)隊(duì)
(1)組建團(tuán)隊(duì)
按照工作任務(wù)與項(xiàng)目時(shí)間的前提條件建立團(tuán)隊(duì),按團(tuán)隊(duì)職責(zé)分配人員双仍,一般小組控制在6~10人之間枢希。當(dāng)團(tuán)隊(duì)人數(shù)超過20人時(shí),應(yīng)該考慮把團(tuán)隊(duì)分解成2個(gè)獨(dú)立團(tuán)隊(duì)朱沃,負(fù)責(zé)不同的開發(fā)任務(wù)苞轿。
(2)分配開發(fā)任務(wù)
在每個(gè)迭代周期內(nèi)(一般是15~30個(gè)工作日),應(yīng)該把每個(gè)工作包進(jìn)一步細(xì)分為多個(gè)開發(fā)任務(wù)逗物,開發(fā)任務(wù)的開發(fā)時(shí)間應(yīng)該控制在15個(gè)工作小時(shí)以內(nèi)搬卒,如果開發(fā)任務(wù)的開發(fā)時(shí)間超出15個(gè)工作小時(shí),應(yīng)該考慮把任務(wù)再度細(xì)化翎卓。而開發(fā)任務(wù)應(yīng)該以自由選擇的方式分配給每個(gè)組員契邀。
(3)跟進(jìn)開發(fā)進(jìn)度
在迭代的前期舉行一次會(huì)議,讓組員了解開發(fā)的進(jìn)展及流程失暴,并以自主選擇的方式分配開發(fā)任務(wù)蹂安。用工具記錄開發(fā)流程的進(jìn)展椭迎,在每個(gè)工作包完成開發(fā)后應(yīng)該進(jìn)行性功能的測(cè)試锐帜,并以文本方式記錄測(cè)試結(jié)果田盈。
每天舉行一次10多分鐘的站立會(huì)議,讓組員匯報(bào)昨天已完成的開發(fā)任務(wù)缴阎,當(dāng)天將要做的任務(wù)允瞧,以及開發(fā)過程中所遇到的問題。
并在每周末舉行一次例行會(huì)議蛮拔,交待總體進(jìn)程述暂。
在迭代末期舉行一次沖刺會(huì)議,總結(jié)項(xiàng)目的進(jìn)展建炫,交行已完成的任務(wù)畦韭,回顧該迭代周期內(nèi)所遇到的問題,為下一個(gè)迭代做好準(zhǔn)備肛跌。
期間千萬(wàn)不要忽視開發(fā)規(guī)范和代碼審查艺配。