1. 需求管理
在進(jìn)入正式開發(fā)之前,必須先從用戶處獲取準(zhǔn)確的需求。在這上面花費(fèi)相當(dāng)時(shí)間是很必要的。在軟件項(xiàng)目的開發(fā)過程中,需求變更貫穿了軟件項(xiàng)目的整個(gè)生命周期,從軟件的項(xiàng)目立項(xiàng),研發(fā),維護(hù),用戶的經(jīng)驗(yàn)在增加,對(duì)使用軟件的感受有變化,以及整個(gè)行業(yè)的新動(dòng)態(tài),都為軟件帶來不斷完善功能 ,優(yōu)化性能,提高用戶友好性的要求。在軟件項(xiàng)目管理過程中,項(xiàng)目經(jīng)理經(jīng)常面對(duì)用戶的需求變更。如果不能有效處理這些需求變更,項(xiàng)目計(jì)劃會(huì)一再調(diào)整,軟件交付日期一再拖延,項(xiàng)目研發(fā)人員的士氣將越來越低落,將直接導(dǎo)致項(xiàng)目成本增加、質(zhì)量下降及項(xiàng)目交付日期推后。這決定了項(xiàng)目組必須擁有需求管理策略。
在整個(gè)開發(fā)周期中期望用戶的需求一直保持不變是不大可能的,因?yàn)橛脩魧?duì)于如何應(yīng)用計(jì)算機(jī)軟件并沒有一個(gè)成熟的經(jīng)驗(yàn)。需求變化的原因很多,如:
一開始沒有調(diào)研全,需要增加需求;
客戶需求發(fā)生了變化,需求必須變化;
需求錯(cuò)誤;
需求不清楚。
基于上述的問題,必須對(duì)需求進(jìn)行管理,使需求能夠真正成為軟件工程和管理的基線。 一種比較明智的方法是在簽定開發(fā)合同(協(xié)議)時(shí)把用戶需求的改動(dòng)和經(jīng)濟(jì)利益掛鉤,如果用戶增加或改動(dòng)了需求,那么軟件的交付日期可以推遲,費(fèi)用也應(yīng)增加。
需求是一項(xiàng)復(fù)雜的工作,使用的方法也很多,不同的開發(fā)方式有不同的方法,這里簡(jiǎn)單介紹一些相關(guān)的方法:
可行性分析:在允許的成本、性能要求下,分析每項(xiàng)需求實(shí)施的可行性,提出需求實(shí)現(xiàn)相關(guān)風(fēng)險(xiǎn),包括與其它需求的沖突,對(duì)外界因素的依賴和技術(shù)障礙。
快速原型:當(dāng)用戶自身對(duì)有的需求不十分清楚時(shí),我們可以建立一個(gè)系統(tǒng)原型,用戶通過評(píng)價(jià)原型更好地理解所要解決的問題。
圖形分析模型:繪制圖形分析模型是編制軟件需求規(guī)格說明重要手段。它們能幫助分析人員理清數(shù)據(jù)、業(yè)務(wù)模式、工作流程以及他們之間的關(guān)系,找出遺漏、冗余和不一致的需求。這樣的模型包括數(shù)據(jù)流圖、實(shí)體關(guān)系圖、狀態(tài)變換圖、對(duì)話框圖、對(duì)象類及交互作用圖。
數(shù)據(jù)字典:數(shù)據(jù)字典是對(duì)系統(tǒng)用到的所有數(shù)據(jù)項(xiàng)和結(jié)構(gòu)的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。在需求階段,數(shù)據(jù)字典至少應(yīng)定義客戶數(shù)據(jù)項(xiàng),確??蛻襞c開發(fā)小組是使用一致的定義和術(shù)語(yǔ)。
2. 設(shè)計(jì)管理
項(xiàng)目經(jīng)理把功能模塊分配給每個(gè)開發(fā)人員,每個(gè)開發(fā)人員把自己相關(guān)的功能模塊收集起來,同時(shí)預(yù)估時(shí)間,其中主要包括寫文檔的時(shí)間、開發(fā)時(shí)間和單元測(cè)試的時(shí)間,一般要求精確到工作日。這些信息返回給項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理再把本小組人員的任務(wù)和預(yù)估時(shí)間發(fā)送給管理層,由管理層對(duì)此任務(wù)及進(jìn)度進(jìn)行評(píng)估審核,管理層會(huì)根據(jù)產(chǎn)品發(fā)布時(shí)間及客戶需求、市場(chǎng)因素等方面作出選擇,可能某些功能由于時(shí)間緊急會(huì)被推遲到下一個(gè)版本中去。若預(yù)估出來的時(shí)間同預(yù)計(jì)的產(chǎn)品發(fā)布時(shí)間有較大沖突,而且此功能是本版本中必須得做的,則開發(fā)小組會(huì)被要求重新預(yù)估時(shí)間,加快開發(fā)速度來達(dá)到這個(gè)要求。
雖然這個(gè)開發(fā)進(jìn)度時(shí)間是一個(gè)大概的估計(jì)時(shí)間,但我們要盡力按照這個(gè)開發(fā)進(jìn)度來執(zhí)行。作為開發(fā)人員每個(gè)星期寫一篇周記,描述自己本周所做的工作,根據(jù)自己的描述來評(píng)估我們自己的工作,每個(gè)人手上的工作是否按照這個(gè)進(jìn)度在走,是否有人延后了,是否延誤了別人的工作。在周記里每個(gè)人都要報(bào)告自己的進(jìn)度,同時(shí)還要報(bào)告上個(gè)星期做了什么,正在做什么,以及下個(gè)星期打算做什么。通過這個(gè)周記,會(huì)讓你覺得有人在監(jiān)督你,無形之中迫使你不斷地督促自己不要使任務(wù)延后,如果有延后的跡象也會(huì)盡早發(fā)現(xiàn)而趕上。若某些經(jīng)過努力不能趕上,那也沒有辦法,只能修改原先的進(jìn)度表,因?yàn)槟鞘俏覀兊墓烙?jì)與現(xiàn)實(shí)發(fā)生了偏差,我們必須使我們的進(jìn)度表符合實(shí)際情況。
3. 編碼管理
進(jìn)入編碼工作之后,可能會(huì)發(fā)現(xiàn)前面分析或設(shè)計(jì)階段的某些錯(cuò)誤,這時(shí)應(yīng)返回到前面的階段進(jìn)行必要的修改。由于我們用asp.net(c#)語(yǔ)言進(jìn)行開發(fā),因此我們借助了VS2005工具。關(guān)于代碼風(fēng)格,我們基本上套用VS2005中自動(dòng)的代碼格式編排。良好的編碼習(xí)慣有利于我們提高整個(gè)團(tuán)對(duì)的開發(fā)效率,比如變量的命名、寫代碼時(shí)要對(duì)類及函數(shù)提供詳細(xì)的注釋及說明等,基本做到看它們的說明就能知道這個(gè)變量、類或函數(shù)的功能以及主要算法的實(shí)現(xiàn)原理。在開發(fā)過程中對(duì)主要的模塊要編寫單元測(cè)試,同時(shí)要單元測(cè)試先行,當(dāng)所有的單元測(cè)試代碼通過時(shí),此功能也就基本上完成了。
我們采用VSS進(jìn)行代碼管理控制,其中存放了此產(chǎn)品的所有源代碼,各個(gè)部分存放在不同的目錄中。每天早上要求開發(fā)人員從VSS中獲取最新的源代碼,然后進(jìn)行編譯并開始一天的工作。在下班之前理論上要求員工簽入所有當(dāng)天修改的代碼,在簽入之前要保證編譯是能通過的。若有誰(shuí)簽入的代碼導(dǎo)致運(yùn)行失敗則會(huì)被要求某些懲罰措施或警告。有時(shí)我們編寫的代碼涉及到多個(gè)文件,而且此改動(dòng)是比較復(fù)雜需要花費(fèi)多天的工作量,如果現(xiàn)在簽入進(jìn)去可能會(huì)導(dǎo)致項(xiàng)目測(cè)試通不過,因?yàn)橛行┐a沒有完全完成,而之前的代碼能測(cè)試通過,而且這些代碼基本上不會(huì)涉及到他人,在這種情況下可以不簽入進(jìn)去,直到全部代碼完成能提交測(cè)試時(shí)再一起簽入進(jìn)去。
我們的開發(fā)是基于網(wǎng)絡(luò)的,在互聯(lián)網(wǎng)高速發(fā)展的今天,代碼的安全也是一個(gè)不容忽視的問題,我們要注意代碼的泄漏和丟失,除了掌握一些基本的安全知識(shí)以外,還要進(jìn)行代碼的備份(局域網(wǎng)備份和存儲(chǔ)設(shè)備備份),這樣在出現(xiàn)意外的情況下可以及時(shí)的恢復(fù)系統(tǒng)的正常運(yùn)行。
4. 測(cè)試管理
在開發(fā)人員完成了功能模塊后,測(cè)試人員開始了測(cè)試規(guī)劃,確定需要測(cè)試哪些方面,如何測(cè)試及進(jìn)度安排。測(cè)試人員需要寫許多測(cè)試用例、測(cè)試報(bào)告等,有些測(cè)試代碼需要集成測(cè)試,有些可能需要進(jìn)行單獨(dú)的測(cè)試,目的都是為了使產(chǎn)品符合要求,使開發(fā)人員容易找出問題所在并改正。產(chǎn)品功能是否符合了要求,是否能被發(fā)布是由測(cè)試人員決定的,因此測(cè)試人員也比較辛苦,責(zé)任重大。通過了每天的測(cè)試,還有一些性能測(cè)試、兼容性測(cè)試、災(zāi)難測(cè)試等需要在產(chǎn)品發(fā)布前進(jìn)行。在完成這些測(cè)試之后由測(cè)試人員決定本產(chǎn)品是否能發(fā)布出去了。
由于我們每天進(jìn)行著測(cè)試,因此經(jīng)常有BUG被測(cè)試人員發(fā)現(xiàn),一旦發(fā)現(xiàn)了新的BUG,就會(huì)被添加進(jìn)測(cè)試報(bào)告中,同時(shí)注明緊急程度,以便開發(fā)人員可以及時(shí)進(jìn)行錯(cuò)誤BUG的修改。需要指出的是我們對(duì)BUG的定義比較廣泛,一些新功能也可以作為BUG被提出,只不過這些BUG級(jí)別比較低,讓它們進(jìn)入到下一個(gè)版本中去實(shí)現(xiàn)。因此BUG的創(chuàng)建者也可以是技術(shù)支持人員、市場(chǎng)人員甚至開發(fā)人員本身。關(guān)于開發(fā)人員本身,因?yàn)樗赡軙?huì)找出一些BUG,有些是其他開發(fā)者的,有些可能是此開發(fā)者本身的,把這個(gè)BUG添加進(jìn)測(cè)試報(bào)告中可以幫助開發(fā)人員在以后產(chǎn)生新問題時(shí)或類似的BUG時(shí)有一個(gè)借鑒和思路。
5. 維護(hù)管理
后期的軟件維護(hù)和管理也是一個(gè)非常重要的任務(wù)。定期的升級(jí)服務(wù)和培訓(xùn)會(huì)讓客戶對(duì)軟件有個(gè)良好的映像。
6. 組織(團(tuán)隊(duì))管理
軟件項(xiàng)目開發(fā)過程中注重的是團(tuán)隊(duì)精神的發(fā)揮,我們的目標(biāo)是一個(gè)軟件、系統(tǒng)而不是幾個(gè)模塊的簡(jiǎn)單組合。在軟件開發(fā)管理中,不能采用明令制度的方式來要求何限制開發(fā)人員,必須要有辦法激勵(lì)人的內(nèi)動(dòng)力,而激勵(lì)人的內(nèi)動(dòng)力最好的辦法是將付出和收益緊密的結(jié)合。團(tuán)隊(duì)精神的凝聚主要的是信任與尊重。正所謂“用人不疑,疑人不用”,如果沒有基本的尊重與信任,哪里來的凝聚力,何謂團(tuán)隊(duì)精神?
軟件項(xiàng)目開發(fā)人員應(yīng)該本著態(tài)度第一、效率優(yōu)先的工作原則,在平時(shí)的日常工作和生活中,大腦的休息和充足的睡眠可以保證開發(fā)人員有個(gè)良好的心態(tài)和精力。也許在IT行業(yè)來說,程序員加班已經(jīng)成為一種佳話,一種習(xí)俗,但我們要制止長(zhǎng)期的加班和無效率的加班,在項(xiàng)目不緊張或者無項(xiàng)目的情況下可以適當(dāng)?shù)姆潘?、休息來調(diào)節(jié)個(gè)人的情緒和精力。
作為軟件開發(fā)人員的大部分時(shí)間是在公司里度過的,因此公司的生活成了大家主要組成部分。員工之間關(guān)系的融洽,交流的暢通顯得非常重要,同時(shí)大家也不想自己的生活這樣枯燥乏味,一直同機(jī)器打交道。溝通無處不在,交流隨時(shí)發(fā)生,有許多關(guān)系是在工作之外建立起來的。軟件公司內(nèi)是很容易產(chǎn)生各種矛盾的,因?yàn)檫@是由你的工作性質(zhì)所決定的,比如測(cè)試人員或用戶會(huì)對(duì)你的實(shí)現(xiàn)不滿意,提出各種要求時(shí),我相信你有時(shí)會(huì)有所抱怨的,無形之中就產(chǎn)生了對(duì)立,發(fā)展到后來會(huì)有抵觸心理。我相信大部分人都會(huì)有此感受,這不是你的錯(cuò),這主要是由我們的工作性質(zhì)決定的。如果你的工作是把財(cái)富帶給對(duì)方,則對(duì)方會(huì)非常歡迎你的到來,把你奉為財(cái)神爺來對(duì)待,同你的關(guān)系會(huì)非常融洽友好。因此我們需要在工作之外來消除這種對(duì)立矛盾的關(guān)系,建立一種融洽的工作氛圍。我們?cè)谄綍r(shí)吃飯的時(shí)候飯桌上大家互相聊天溝通,說一些幽默笑話之類的,給我們緊張的工作增加點(diǎn)輕松的氛圍。隔斷時(shí)間大家可以組織一下活動(dòng),增加了公司的凝聚力。一個(gè)產(chǎn)品發(fā)布后組織一次活動(dòng),讓繃緊的神經(jīng)松弛一下,更好地迎接下一個(gè)挑戰(zhàn)。
團(tuán)隊(duì)的每個(gè)成員都會(huì)養(yǎng)成寫B(tài)log的習(xí)慣。經(jīng)常寫寫B(tài)log,一是可以讓大家都知道自己在做什么事情,二是項(xiàng)目結(jié)束時(shí)方便寫最后的工作總結(jié)(許多工作自己當(dāng)時(shí)不紀(jì)錄也忘記了),三是利于提高自己的水平(工作和學(xué)習(xí)寫點(diǎn)總結(jié)會(huì)系統(tǒng)的總結(jié)和歸納思路,進(jìn)步很快)。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |