前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇項目開發(fā)的流程范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
第一部分,開發(fā)項目的籌備工作
在報行政機關審批之前,房地產(chǎn)開發(fā)公司應辦理好土地用地手續(xù),根據(jù)項目規(guī)模和性質,委托具有相應項目資質的勘察設計單位對擬建項目進行研究,并制作報告書,應附有詳細的規(guī)劃設計參數(shù)和效果圖。
第二部分,行政審批部分
根據(jù)我國現(xiàn)有建設,房地產(chǎn)建設項目的行政許可程序一般可分六個階段:1)選址定點;2)規(guī)劃總圖審查及確定規(guī)劃設計條件;3)初步設計及施工圖審查;4)規(guī)劃報建圖審查;5)施工報建;6)建筑工程竣工綜合驗收備案。
一、選址定點
1、項目立項,國家計劃管理機關和有關政府機關審查可行性研究報告,進行項目立項的審批。
2、國土資源局進行土地利用總體規(guī)劃和土地供應方式的審查。
3、建委辦理投資開發(fā)項目建設條件意見書。
4、環(huán)保局辦理環(huán)境影響評估,出具生產(chǎn)性項目環(huán)保意見書。
5、文化局、地震局、園林局、水利局對建設工程相關專業(yè)內容和范圍進行審查,簽署相應的意見。
6、規(guī)劃部門辦理項目選址意見書。
二、規(guī)劃總圖審查及規(guī)劃設計條件的確定
1、人防辦進行人防工程進行條件審查。
2、國土資源局進行土地預審。
3、公安消防支隊、公安交警支隊、教育局、水利局、城管局、環(huán)保局、園林局、文化局對建設工程相關專業(yè)內容和范圍進行審查,簽署意見。
4、規(guī)劃部門對規(guī)劃總圖進行評審,核發(fā)《建設用地規(guī)劃許可證》,并確定用地條件。
三、規(guī)劃設計和施工圖設計審查
1、規(guī)劃部門對初步設計根據(jù)已審批的規(guī)劃要求進行審查。
2、公安消防支隊對初步設計的消防設計條件進行審查。
3、公安局交警支隊對初步設計的交通條件進行審查。
4、人防辦對初步設計的人防設計進行審查。
5、國土資源局進行用地預審。
6、市政部門、環(huán)保局、衛(wèi)生局、地震局等相關部門對初步設計涉及的專業(yè)內容進行專項審查。
7、建設管理機關對落實初步設計批準文件的要求向施工圖進行審查。
四、規(guī)劃報建審查
1、公安消防支隊和人防機關進行消防設計和人防工程進行審查。
2、建委、市政部門、園林局、環(huán)保局、衛(wèi)生局按職責劃分,按有關專業(yè)技術規(guī)范對相關專業(yè)內容和范圍進行審查。
3、規(guī)劃部門復核經(jīng)要求變更部分的規(guī)劃設計補充核準規(guī)劃設計條件,核發(fā)《建設工程規(guī)劃許可證》。
五、施工報建登記
1、建設單位辦理施工報建登記。
2、建設方對工程進行發(fā)包,確定施工隊伍。招標類工程通過招標確定施工隊伍,非招標類工程直接發(fā)包。
3、建委組織職能部門對工程開工條件進行審查,核發(fā)《建筑工程施工許可證》。
六、商品房預售許可的行政審批
向房地產(chǎn)管理部門辦理預售登記,核發(fā)《商品房預售許可證》。開發(fā)企業(yè)申請辦理《商品房預售許可證》應當提交下列證件(復印件)及資料:
1、以下證明材料:
(1)土地使用權證書;
(2)建設工程規(guī)劃許可證和施工許可證;
(3)按擬預售的商品房計算,投入開發(fā)建設的資金達到工程建設總投資的25%以上,并已經(jīng)確定施工進度和竣工交付日期。
2、開發(fā)企業(yè)的《營業(yè)執(zhí)照》和資質等級證書;
3、工程施工合同;
4、商品房預售方案。預售方案應當說明商品房的位置、裝修標準、配套設施、竣工交付日期、預售總面積、交付使用后的物業(yè)管理等內容,附商品房預售總平面圖、分層平面圖。
七、建設工程竣工綜合驗收備案
1、建筑工程質量監(jiān)督站(機構)對建設單位提供的竣工驗收報告及相應需提供的驗收證明文件進行備案審查。
2、規(guī)劃部門、市政部門、水利局、環(huán)保局、文化局、衛(wèi)生局、公安消防支隊、園林局以及其他需要參加驗收的部門,按照、法規(guī)、規(guī)章的有關規(guī)定對相關專業(yè)內容和范圍進行驗收。
3、建委綜合各部門驗收、審查意見,對符合審核標準和要求的,出具建設工程項目竣工綜合驗收備案證。
第三部分 項目權屬初始登記階段
1、由房管局核準新建商品房所有權初始登記。
2、開發(fā)商應提交材料:
(1)申請書;
(2)企業(yè)營業(yè)執(zhí)照;
(3)土地使用權證;
(4)建設用地規(guī)劃許可證;
(5)建設工程規(guī)劃許可證;
(6)施工許可證;
(7)房屋竣工驗收資料
(8)房屋測繪技術報告;
軟件開發(fā)項目管理從最早的傳統(tǒng)項目管理軟件工程期到近年的迭代模型時期,最后到目前的敏捷軟件開發(fā)時期。敏捷軟件開發(fā)的成功五項因素分別如下。
(1)建立自組織團隊。傳統(tǒng)的管理方式具有命令和控制的特點,經(jīng)理制定目標和計劃,團隊負責完成,發(fā)揮不出員工的創(chuàng)造力,影響了企業(yè)的效率。軟件開發(fā)的敏捷開發(fā)要求員工自我管理,個人控制時間和目標,員工能參與流程和項目決策。
(2)用戶故事在需求管理中的應用。軟件開發(fā)企業(yè)最大的敵人不是用戶,而是變化。瀑布模型難以適應目前軟件市場需要,因此軟件開發(fā)工作要取得用戶的參與,順應市場的變化。
(3)用戶故事的度量,它能為產(chǎn)品投資收益提供估計結果,輔助產(chǎn)品決策。對故事點大小討論時,能鼓勵團隊成員重復討論,充分理解需求。故事點度量方式一致,提高統(tǒng)計團隊工作效率。
(4)持續(xù)集成。它能提高項目構建自動化程度,將人力成本更多投放到開發(fā)任務。項目更有可見性,構建結果更加豐富,一目了然。團隊對開發(fā)產(chǎn)品更有信息。
(5)掌握迭代,為員工提供穩(wěn)定的生活節(jié)奏,保持一致的周期循環(huán)流程,溝通過程中控制時間。
(6)堅持反饋和改進,了解自身情況,改善團隊效率。
精益生產(chǎn)的目標為提高質量和消除消費。看板原則要求生產(chǎn)降低庫存量、降低生產(chǎn)周期、生產(chǎn)基于交叉培訓和單元并對過程進行持續(xù)改善。如同超市進貨一樣,當貨架上貨物少于設定值,供貨商會及時將其填滿。將看板管理與敏捷軟件開發(fā)結合起來,能夠達到效率和質量的有效結合,軟件產(chǎn)品周期頻繁,能達到按天級別。
2.項目看板方法流程設計
增量迭代開發(fā)開發(fā)流程存在著三點問題。
(1)每個迭代的用戶故事較多,產(chǎn)品經(jīng)理和開發(fā)工程師認為很多功能沒有價值,而項目經(jīng)理認為需要跟蹤的項目較多。
(2)對于為期四周的迭代觀念不統(tǒng)一,部門不同,期望值不同,測試人員認為時間不充分,產(chǎn)品經(jīng)理認為需要等待太長時間。
(3)部門之間缺乏協(xié)作,缺乏透明的項目進展和進度,太多時間花費在流程上。敏捷軟件開發(fā)有三個典型流程,分別XP、Scrum及看板,經(jīng)過比較,看板原則可以解決迭代用戶故事較多的情況,對于規(guī)模小及優(yōu)先級別高的用戶故事能夠迅速完成,并滿足產(chǎn)品經(jīng)理對產(chǎn)品的預期。
2.1 基于看板管理的敏捷軟件開發(fā)流程方案設計
看板一般應用于汽車生產(chǎn)等工業(yè)領域中,在敏捷軟件開發(fā)中看板管理只是理論上行得通,但是在實際上還缺乏經(jīng)驗。而且其受到產(chǎn)品特點、客戶差異及企業(yè)文化的影響。其流程主要為,(1)定義并可視化流程;(2)限制WIP數(shù)量,流程可視化于物理板能夠讓項目透明,讓團隊對目前的任務充分明確。限制WIP數(shù)量則能讓團隊在思考時排除千擾,提高個體效率,項目工作不以來時間計劃,而是取決團隊能力;(3)拉動式生產(chǎn),每個團隊成員只需要對自己環(huán)節(jié)加以關注,等待任務-完成工作-到下一環(huán)節(jié)等待區(qū)^這種方式推動了產(chǎn)品開發(fā)前進步伐。
2.2 看板流程準備和實施
(1)是動員和人員培訓,先獲取領導層的理解和信任,再向所有員工培訓敏捷開發(fā)和看板方法,最后,每個部門進行討論。
(2)制定需求管理環(huán)節(jié),產(chǎn)品經(jīng)理提出產(chǎn)品需求,創(chuàng)建用戶故事,技術團隊估算用戶故事工作量。通過需求分析,工程師能夠獲取信息,完成研發(fā)工作,產(chǎn)品經(jīng)理全程輔助開發(fā)和測試,解答相關問題。
(3)開發(fā)流程改造,主要變化在對程序代碼的管理方式進行改變,主要有主干和分支兩種。
(4)測試流程改造,主要表現(xiàn)為兩個方面,一方面提高系統(tǒng)自動化測試率來加快回歸測試的進度,另一方面增加測試環(huán)境滿足功能測試需求。
(5)項目管理流程的建立。
2.3 看板流程的實施
當所有準備工作完成之后,看板方法第36增量迭代之后,可以正式實施。產(chǎn)品經(jīng)理將用戶故事進行排列再制成任務卡,貼在用戶故事一列,完成需求分析會議。開發(fā)組建立功能分支進行開發(fā),測試組應用功能測試環(huán)境對用戶故事進行測試,直到產(chǎn)品。團隊成員每天早上聚集看板附近,明確自己的任務,下班前,項目經(jīng)理將每天的任務卡狀態(tài)變化匯總。敏捷流程要求強調團隊自組織和員工自我管理,但是不可忽視項目經(jīng)理的作用,項目經(jīng)理能夠組織人員,梳理工作節(jié)奏,保證溝通流暢,促進項目進展。
3.看板方法效果分析
[關鍵詞]軟件項目;設計管理;流程
[中圖分類號]TP31 [文獻標識碼]A [文章編號]1672-5158(2013)06-0076-01
1 何為流程及在軟件項目管理中的作用
1.1 軟件開發(fā)的目的
在進行軟件項目開發(fā)活動中,要實現(xiàn)很多目標,比如關于項目的范圍、成本、時間以及質量等,項目協(xié)調也是要完成的目標。項目協(xié)調可以滿足項目參與者和利益相關者的要求,伴隨軟件規(guī)模和它所涉及領域的擴展,軟件項目管理變得越來越復雜,大大的增加了管理難度,造成這結果的主要因素是不能管理其過程如果管理項目在無紀律混亂的情況下,那么項目組織就很難總結出好的管理方法和工具,就更不用說從中獲益了。管理嚴謹?shù)暮锰幉粌H能夠就檢查和改進在階段內出現(xiàn)的偏差,還可以及時的終止項目。甚至還可以避免人才的來去帶來的負面影響。如果想要有效的對過程進行控制,就不得不對項目管理流程更加明確。
1.2 軟件項目的構成
一系列活動有機構成流程。而個人與團體構成基本活動,基本活動的構成不需要來自其他活動的轉換。流程的每個活動間都有著自己的獨有的流向,在流程過程中包含著明顯的開始與結束,所以這是一個非靜止的概念。從結構方面可以看出,流程由四個基本因素構成:活動及活動的邏輯關系、承擔著、實現(xiàn)辦法。流程管理所包含的不但有管理技術,還有現(xiàn)代管理的理想,以前的職能管理憑借的是控制、塔式組織。但隨著時間的推移其已經(jīng)不能適應市場競爭和當今企業(yè)的發(fā)展需要,以分工理論為主的管理理論已經(jīng)使用了幾百年,目前又返回到系統(tǒng)和整合上面。
1.3 軟件項目生命周期的一系列的開發(fā)過程是各種各樣的流程活動
軟件項目是由各種各樣活動流程活動組成的,具體包括如下,軟件項目的計劃編制、系統(tǒng)分析、概要設計、詳細設計、程序編碼、測試與維護等活動過程都屬于流程活動:制定軟件項目管理流程,當我們在制度項目管理流程過程中,要著重考慮一下幾點:(1)流程的制定可以將項目逐步引至成功,(2)流程的制定可以適應軟件的開發(fā),(3)流程的制定對項目開發(fā)可以起到指導作用,(4)流程制定是使用流程圖表示的,可以讓每個參與者都能夠清楚的明白管理過程與開發(fā)過程之間的關系,(5)流程過程中的參評要有明確的定義、標準和方法。
2 軟件項目管理大體過程設計
2.1 軟件項目管理的構成
軟件項目管理過程大體可以分為以下幾部分:項目構思、項目立項、簽訂合同和執(zhí)行合同。可以使用P1、P2、P3、P4、P5代替。同時也可以劃分為五個里程碑,分別是:完成立項、簽訂合同、定義功用、產(chǎn)品開發(fā)、投入市場,可以用TM1、Tm2、Tm3、TM4、TM5代替。
2.2 軟件項目管理的流程分析
項目管理的大體流程分析,項目搜尋是項目開始的前提,其階段主要任務包括收集市場信息、客戶需求、以及潛在的需求。項目立項階段就是可行性的研究階段,就是討論成本與效益的可行性。項目售前階段是項目立項與簽訂項目合同的這段時間,主要任務包括以下幾個方面:做好與客戶介紹交了的計劃、對產(chǎn)品的銷售對象要有一個比較全面的了解以及客戶對項目感興趣的原因和對產(chǎn)品的要求。合同生成階段要做的是對項目方案的比較與相關的政策法規(guī)的認識,以及對合同的評估以及簽訂合同。合同執(zhí)行階段是項目管理流程的重要環(huán)節(jié),主要包括軟件的開發(fā)、測試、驗收、系統(tǒng)的維護等過程。
3 軟件項目失敗的原因和軟件項目管理方法的探究
3.1 軟件項目失敗的原因
我們可以從目前國內外的軟件行業(yè)企業(yè)可以看出,“軟件危機”的影響仍持續(xù)著軟件行業(yè)。軟件項目的實施情況也總是很難令人滿意。經(jīng)過研究發(fā)現(xiàn),軟件項目之所以會失敗的原因主要有以下兩方面:一是應用項目發(fā)展難以控制;二是項目管理者對項目管理工作的認識掌握還不成熟。實踐證明,缺乏有效的項目管理是致使軟件項目失控的直接原因。
3.2 制定項目的任務
軟件項目計劃的主要作用是用來協(xié)調其他計劃的,協(xié)調的目的是為了指導控制和執(zhí)行可操作文件。它這是對客戶需要的理解表現(xiàn),是開展項目活動的開始,也是開展其他工作的依據(jù),項目計劃由全局計劃和下屬計劃構成。在下屬計劃制定時,項目經(jīng)理必須遵循的原則是:誰負責那一部分工作,那部分的計劃就有誰來制定,項目經(jīng)理只需審批就行。
3.3 開發(fā)過程的制定
軟件開發(fā)之所以存在較大風險,最主要原因是軟件過程能力低,這是因為管理軟件過程十分困難,為此就非常有必要在軟件過程的控制和管理方面加強。不同的軟件項目有著不同的過程,雖然項目計劃與執(zhí)行是互相交叉的,其主要部分是相似的,但是不同的項目的每個過程它所包含的具體活動是差之毫厘謬以千里,而且由于不同的制定者所使用的開發(fā)技術和技術路線的不同,所導致的側重點就不可能相同了。項目經(jīng)理在計劃制定前就必須根據(jù)開發(fā)軟件的實際情況,建立一個穩(wěn)定性好、可控的軟件開發(fā)模型。
3.4 加強過程控制
軟件項目的開發(fā)和實施總是處于動態(tài)之中,這種動態(tài)是持久的、永恒無止境的,世上不存在靜止的軟件項目。需求、技術、系統(tǒng)結構、代碼都會發(fā)生變化,就算是連環(huán)計都會發(fā)生變化,項目經(jīng)理在做好了計劃和準備后,最重要的任務就轉換到過程的控制上來了。過程管理和變更控制是過程控制的主要部分。配置管理是一個軟件項目能否順利執(zhí)行的前提。在軟件開發(fā)過程中比如會出現(xiàn)很多的附加產(chǎn)品,比如代碼、一系列文檔、數(shù)據(jù)等等,這些產(chǎn)品是有用的。而且隨著軟件項目的改變這些產(chǎn)品都會發(fā)生變法生產(chǎn)出不同的版本,試想一下,如果配置管理失效,項目工作人員勢必會深陷配置項的“泥潭”。很明顯我們應該加強項目過程的任何部分細節(jié)。
4 結束語
在本文設計的軟件項目管理總體流程及相關技術,目前已經(jīng)十分成熟了,在軟件項目的研發(fā)和管理中已經(jīng)大量的采用了。流程管理在軟件項目管理中的使用,降低了軟件項目管理的復雜性,增加了軟件項目的成功率。事實也證明,根據(jù)企業(yè)和項目的實際情況,制定軟件項目的實施步驟,確定產(chǎn)品的用處,指明各階段的開始條件和終止條件,進行有效的流程控制與管理,這樣將會極大的提高了軟件開發(fā)的效率和降低項目的失敗率。
參考文獻
[1]羅鐵清,王如龍,軟件項目管理的研究及在項目開發(fā)中的應用,項目管理技術2005,3:66-70
[2]劉寬宏,殷人尾,基于GMMI的過程和產(chǎn)品質量保證模型,計算機工程,2004,30(15):75-77
【關鍵詞】項目帶動 軟件藍領
1.前言。我國軟件行業(yè)已形成較大的規(guī)模,軟件行業(yè)的從業(yè)機會逐年遞增,而處于軟件人才金字塔結構底部的“軟件藍領”更是需求巨大。面對強大的市場需求,如何才能培養(yǎng)出符合要求的“軟件藍領”以適應市場的需求呢?運用“項目帶動式”教學可更好地培養(yǎng)出“軟件藍領”。
“軟件藍領”是指進行軟件開發(fā)工作的初級技術人員,主要從事比較基本的程序代碼編寫、調試、測試等重復性的工作,一般對外語和技術水平要求較低,但需要有一定的實踐經(jīng)驗。因為軟件行業(yè)的發(fā)展速度快,新的知識、新的技術、新的工具不斷出現(xiàn),所以還需要“軟件藍領”有較強的更新知識的能力。
“項目帶動式”教學是指圍繞項目開展學習的一種教學模式,本質上是一種應用(或仿真應用)驅動,是一種軟件教學的互動。項目為中心的學習模式,既讓學生學習到軟件開發(fā)知識和技能,使學生對軟件開發(fā)具有一定的工作經(jīng)驗,使之易于適應工作后的軟件開發(fā)環(huán)境;還將在編寫軟件的過程中,培養(yǎng)學生的自主學習能力和群體協(xié)同的能力,培養(yǎng)學生的責任心和完成項目的決心。這種教學方式適合“軟件藍領”的培養(yǎng),尤其適合在職業(yè)技術院校中采用,可以很好地讓學生在完成項目的同時掌握基礎知識,培養(yǎng)其自學新知識、新技術的能力。
2.軟件“項目帶動式”教學的概念與特點。軟件“項目帶動式”教學模式,圍繞“軟件藍領”職業(yè)崗位能力的形成、科學設計和選擇項目,根據(jù)特定的完整的軟件工程項目所需要的知識、能力和素質結構,進行教學方案設計,按照軟件工程項目的操作流程組織實施教學,使學生在項目開發(fā)的過程中,獲取知識和經(jīng)驗,達到人才培養(yǎng)的目標。項目是指具體的軟件工程項目或軟件生產(chǎn)項目,可以是模擬的項目,也可以是具有實戰(zhàn)性質的項目。項目是人才培養(yǎng)的核心要素,具有完整的流程,貫穿于人才培養(yǎng)的始終。學生在項目實施中學習知識,鍛煉技能,掌握技術,提升職業(yè)素養(yǎng),實現(xiàn)培養(yǎng)目標。
軟件“項目帶動式”人才培養(yǎng)模式的特點是將教學過程與軟件項目工程充分地融為一體,圍繞項目工程的需要構建課程體系,組織實施教學,有利于瞄準崗位設課程、瞄準能力搞教學,提高教學的針對性和實效性;在項目工程的具體實施過程中學生根據(jù)自己的興趣和特長,重點選擇不同的職業(yè)崗位、扮演不同的角色,學習目的更明確、針對性更強,有利于學生個性的培養(yǎng),也為學生未來的擇業(yè)奠定良好的基礎;以具體工程項目或生產(chǎn)項目帶動教學,使整個教學過程能始終貼近生產(chǎn)第一線,學生可以及時了解行業(yè)的發(fā)展趨勢,掌握最新的設計理念、管理理念和工程施工技術。學校可以更準確地了解市場對人才的需求狀況,及時主動地調整教學內容。改革教學方法,使培養(yǎng)的人才具有更強的社會適應性和就業(yè)競爭力。將專業(yè)教育融入行業(yè)背景,有利于學校專業(yè)教育與市場行業(yè)運作的銜接,有利于實現(xiàn)學生與行業(yè)、與社會的“零距離接觸”,真正實現(xiàn)職業(yè)技術教育以需求為宗旨,以就業(yè)為導向,產(chǎn)學研相結合的教育理念。
3.“項目帶動式”教學的實施步驟。
3.1 以項目帶動教學的教學目標。從企業(yè)的實際需求出發(fā),中職“軟件藍領”需要掌握的技能主要有兩種:
3.1.1 必備技能。包括:
①基本理論知識技能,包括計算機基礎知識、數(shù)據(jù)結構和算法、操作系統(tǒng)知識、工具軟件、測試軟件;
②網(wǎng)絡知識技能,包括網(wǎng)絡基礎、綜合布線系統(tǒng)知識;
③計算機程序設計語言知識,至少包括一種計算機編程語言,例如C、C++、JAVA等;
④軟件設計開發(fā)工具,包括Visual Studio、Jbuilder等;
3.1.2 附加技能。包括:
①軟件工程與項目管理知識,包括CMM流程、PMP(項目管理)相關知識、軟件開發(fā)模型。
②團隊溝通協(xié)作能力。
針對這些教學目標去選項目,在完成項目的情況下帶動教學內容的學習。
3.2 以項目帶動教學過程的實施。項目將貫穿整個教學的始終,在完成項目的過程中學習知識,在學習的同時完成項目,理論教學和實踐教學同步進行,相輔相成。
理論教學的進行要結合具體工程項目進行講解,引導學生分析、討論,獲取知識,提高解決實際問題的能力。通過教學,使學生明了所學知識為何種工程項目(或生產(chǎn)項目)的實施服務,對培養(yǎng)何種能力有效。提高教學的針對性,調動學生學習的積極性,實現(xiàn)理論教學與工程實踐的有機融合。
實踐教學的進行需先篩選項目,項目選擇與教學時間和進度相關,通常選擇難度適中、對開發(fā)技能要求較低及工作量與教學時間相吻合的項目。這里以使用VC開發(fā)一款類似計算器功能的軟件為例詳細說明“項目帶動式”教學的實施步驟。
首先由教師制定和本項目的工作流程和工作計劃。
通常軟件項目的工作流程如下,這些工作流程可參考軟件成熟度模型(CMM)。
①計劃制定;
②需求分析;
③軟件項目開發(fā);
④軟件項目測試;
⑤版本;
⑥版本結束。
接下來按照項目要求進行角色配置。一般軟件工程相關的人員包括項目經(jīng)理和開發(fā)人員。項目經(jīng)理可以由老師兼任,老師同時負責對項目方案總體的把握。在這個項目中,根據(jù)功能可分為界面和計算兩個部分,可以據(jù)此將學生分為兩個小組,稱為A組或稱界面組和B組或稱計算組。每個小組確定一位小組長,負責對各組組內的工作內容和工作計劃進行跟蹤和匯總。另外一個重要角色是項目配置管理員(CMO),負責對軟件產(chǎn)品本身涉及的工具,配置物料進行歸檔管理。
接下來按CMM流程開展項目。在“項目帶動式”教學中,教與學的相輔相成主要體現(xiàn)在如何解決項目進行過程中的難題。項目本身是有很強的目的性的,真正的項目要求必須按照規(guī)定的進度,符合要求的質量進行交付。學生和老師必須在項目進展過程中想很多辦法,不斷提升個人的技能,才能保證項目成功完成。在項目開展過程中,將暴露出眾多問題,而圓滿地解決這些問題,既可以鍛煉學生的動手能力,獨立解決問題能力,還可以增強學生適應項目環(huán)境的能力,更重要的是,可極大的鼓舞學生的信心。
通常項目開發(fā)中主要的問題可以分為以下幾類,針對性地解決這些問題,將可以最大限度的發(fā)揮“項目帶動式”的優(yōu)勢。
①學生基礎知識不扎實的問題。學生對項目涉及的基礎知識掌握不夠,無法滿足項目開發(fā)的所有知識點需求。此時教師應啟發(fā)學生進行相互學習和培訓,或者引導學生主動去尋求這些知識進行自學。即教師應力避直接告知正確方式或結果,而是通過引導,“授之以漁”。對于學生反饋較多的問題,說明這是較普遍而又必須克服的,則教師可以提前將相關材料準備妥當,結合當前項目進行充分說明,以保證項目的進度和質量不受影響。
②項目小組間的團隊合作問題。較中等的項目都可以分為多個項目小組,各自完成項目一部分功能,最后匯總為單一軟件。教師在劃分項目小組時,須充分考慮到人力與工作量的問題。較單獨的項目功能可獨立為小組,各小組間接口盡量要簡單明確,防止因為接口問題產(chǎn)生的內耗。
③項目質量問題。教師在項目的早期應引導學生重視測試問題。“項目帶動式”方法較重視學生動手能力培養(yǎng),并應兼顧項目開發(fā)的質量評估,以確保學生在項目實施中收到良好的訓練。教師可以在項目開發(fā)前期指定一到兩位學生參與測試計劃的寫作和測試用例的寫作。他們可以是各小組中開發(fā)人員,也可單獨出來,僅做測試。教師參考測試學生的測試結論,對項目進行評估,甚至可以對項目小組直至每位負責開發(fā)的學生的工作進行評估。
在克服了上述諸多問題后,“項目帶動式”教學一般會取得成功。由于軟件項目基本不需要場地,又不會造成較多的人員花費,軟件項目本身已經(jīng)有較成熟的開發(fā)管理流程(例如CMM模型),又有較多的知識獲取渠道,如網(wǎng)絡、開源社區(qū)、其他知識共享體系,因而將“項目帶動式”教學應用于軟件項目,應用于“軟件藍領”人員的培養(yǎng)中,比較便利,易于規(guī)范化,是教學法的一種新的應用,更有利于填補我國軟件人員的缺口。
4.運用項目帶動教學模式培養(yǎng)軟件藍領注意事項。
4.1 適當?shù)捻椖繘Q定了該教學模式的成敗。項目是“項目帶動式”人才培養(yǎng)的核心要素,必須妥善選擇。軟件開發(fā)項目可大可小,需要根據(jù)教學環(huán)境綜合考慮,包括計算機資源、學生本身已經(jīng)具有的軟件開發(fā)素質、學生人數(shù)等。必須準備有一定難度,通過努力可達成質量要求的項目,尤其是具有實戰(zhàn)性質的項目,因為這種項目還可以通過互聯(lián)網(wǎng),獲得認可,更加有利于總結經(jīng)驗獲取信心。軟件項目的獲取,可來自本校的實際需求,例如排課表,排座位等軟件開發(fā);可以從校企合作中獲取;可在互聯(lián)網(wǎng)上獲取一些適當需求,作為仿真開發(fā)的輸入。
4.2 科學的設計項目開發(fā)流程。項目開發(fā)流程設計的恰當與否,直接關系到學生對知識的掌握,關系到專業(yè)培養(yǎng)目標的實現(xiàn)。設計項目流程時應注意:
4.2.1 項目流程要覆蓋多角色,保證學生深入了解角色配置。項目開發(fā)不能僅包括一到兩個流程,必須涵蓋整個的軟件開發(fā)流程,使學生對各個流程中工作任務有較好的理解,加強學生對軟件開發(fā)團隊的理解。
4.2.2 項目流程要明確,開發(fā)計劃盡量詳細完整。每個項目開發(fā)的關鍵步驟(稱為里程碑)需要在項目開發(fā)時即制定下來,并到每一位項目參與者。教師的工作環(huán)境猶如“作戰(zhàn)室”,跟蹤項目的進展,適當?shù)恼{整工作計劃等等,都需要及時開展并到各角色。
4.2.3 項目的安排要照顧學生的接受能力,需循序漸進。當學生對項目缺乏了解時,需培訓學生的相關知識;當學生對項目理解出現(xiàn)偏差時,需強調項目的特點,引導學生糾正偏差。項目流程中復雜的部分,需分解到每個開發(fā)階段,避免學生不知所措。
【關鍵詞】CMMI;軟件過程;項目管理
一、CMMI概述
CMMI(Capability Maturity Model Integration),英文的意思是”能力成熟度模型集成”。由卡內基.梅隆大學的軟件工程協(xié)會(Software Engineering Institute,簡稱SEI)在CMM的基礎上完善而成,目的是通過一個合理的體系模型來對軟件組織開發(fā)能力進行合理有效的評估,幫助軟件組織在模型實施的過程中提高軟件過程管理能力,降低軟件系統(tǒng)開發(fā)風險,在預定的項目周期和預算內開發(fā)出高質量的軟件產(chǎn)品。并且充分考慮了軟件工程與系統(tǒng)工程的集成,使得CMMI不再局限于純粹軟件的范疇。
二、CMMI模型概要
軟件開發(fā)的風險之所以大,是由于軟件過程能力低,其中最關鍵的問題在于軟件開發(fā)組織不能很好的管理其軟件過程,從而使一些好的開發(fā)方法和技術起不到預期的作用。而且項目的成功也是通過工作組的杰出努力,所以僅僅建立特定人員上的成功不能為全組織的生產(chǎn)和質量的長期提高大下基礎,必須在建立有效的軟件工程實踐和管理實踐的基礎設施方面,堅持不懈地努力,才能不斷改進,才能持續(xù)的成功。
CMMI提供了一個框架,將軟件過程改進的進化步驟組織成5個成熟等級,為過程不斷改進奠定了循序漸進的基礎。表1給出了CMMI-SE/SW 1.1 Staged Representation模型概要,5個等級各有其不同的行為特征。不同等級組織的行為特征:即一個組織為建立或改進軟件過程所進行的活動,對每個項目所進行的活動和所產(chǎn)生的橫跨各項目的過程能力。
以下是5個等級其不同的行為特征:
初始級:在成熟度第一級中,過程通常是特殊而混亂的,而且組織通常沒有提供穩(wěn)定的環(huán)境。這些組織的成功,往往依賴組織成員的能力與英雄主義,而不是使用一套經(jīng)過驗證的過程。除了特殊、混亂的環(huán)境之外,成熟度第一級的組織也經(jīng)常會產(chǎn)生可運行的產(chǎn)品和服務,不過它們經(jīng)常會超過項目的預算和進度。成熟度第一級組織的特征有過度承諾的傾向、在緊急關頭放棄過程,以及無法重復成功經(jīng)驗。
已管理級:在成熟度第二級中,組織已達到成熟度第二級所有過程域的特定及共性目標。換言之,組織的項目已確保需求是被管理的,而且其過程是經(jīng)過規(guī)劃、執(zhí)行、度量及控制的。在處于壓力的期間,成熟度第二級所反映的過程規(guī)范,可提供協(xié)助以確保現(xiàn)行的實踐會保持不變。在這些實踐適宜的情況下,項目的執(zhí)行和管理,就按計劃進行。在成熟度第二級,需求、過程、工作產(chǎn)品及服務是受管理的。在定義的時間點(例如:重要里程碑、重要任務完成時),管理等級都可以了解工作產(chǎn)品的狀況和服務的交付情形。建立有關相關人員的承諾,并視需要修訂。管控工作產(chǎn)品并與相關人員共同審查工作產(chǎn)品和服務可滿足其特定的需求、標準及目標。
已定義級:已將管理和工程兩方面的軟件過程文檔化、標準化,并綜合成該組織的標準軟件過程。所有項目均使用經(jīng)批準的、剪裁的標準軟件過程來開發(fā)和維護軟件。
量化管理級:收集了軟件過程和產(chǎn)品質量的度量數(shù)據(jù)。軟件過程和產(chǎn)品質量均得到定量的了解和控制。軟件開發(fā)的成本、進度和軟件質量等都可以定量預測。
優(yōu)化級:通過收集來自過程和來自實驗創(chuàng)新思想和技術的定量反饋信息,使得持續(xù)的過程改進成為可能。
三、經(jīng)驗體會:
眾所周知,商業(yè)公司以追求利潤為目的,實施CMM(或CMMI)對公司的幫助何在?一次在面試軟件開發(fā)工程師問到公司實施CMMI對你的工作有什么幫助,或者你覺得有什么益處。他想了想說覺得沒有什么益處,除了大量的文檔以外。筆者聽了覺得有一種振動,如果所有接受這個流程,或者使用這個流程的人都是這個感受的話,這將是過程改進從業(yè)人員的悲哀。
公司在流程建設以及流程改進過程中,希望更多的從實施人員的立場來考慮,希望流程真正體現(xiàn)了公司需要的工作過程,并對此工作過程進行不斷的優(yōu)化。業(yè)界在談到過程改進時,都會提到過程改進是為商業(yè)目標服務的,但是在遵循商業(yè)目標的前提下,流程要實施其實主要還是要靠項目組來實施,而不是靠質量保證組(QA)去檢查,或者說質量管理部門成天追著后面要文檔。在流程建設過程中,應更多地考慮怎么幫助項目組提高工作效率,減少重復勞動,讓項目組人員真正感受到過程改進人員是提供幫助的,流程是必須的工作過程,而不是帶來更多的文檔或更多的不愿意做的事情。
以下是筆者對于公司的過程以及過程改進的一些體會:
1.過程改進形成了良好的工作氛圍
公司在建立流程文檔的時候,是從公司已有的工作過程出發(fā),進行整理,而不是質量管理人員孤立地閉門造車。質量管理人員經(jīng)過與項目組人員多次的溝通、了解,最后總結并形成流程文檔。從符合公司商業(yè)目標來說,軟件工程過程組(SEPG)一直致力于組織文化的培育。這個文化培育可能是比較虛的詞,這么說吧,當有新人加入公司的時候,大家可以不斷感受到這種氣氛,就是這個組織是一個什么樣的工作氛圍。
倡導一個開明公正的氛圍,而這個倡導因為是從上到下進行的,因此比較有效。從高層經(jīng)理,中層經(jīng)理,一直到下面普通員工,一直在一個開明、公正的氛圍中工作的話,大家都會自覺維護這個氛圍。當新人加入時,尤其是新畢業(yè)的學生,一進來感覺就比較好,而且很快會接受這種氛圍。
從過程改進方面來說,也是在這個氛圍中進行的,對于工作流程的整合,對于工作流程的每一個細小的改進,組織中的每一個人都可以進言獻策,而不是由領導說了算,或由質量管理人員說了算。也正因為如此,過程改進以及執(zhí)行都能比較得到大家的認可,項目組人員在項目開發(fā)過程中也比較樂于接受這些流程。
2.流程化管理讓工作更有序化
流程文檔是從實際工作過程中抽取并定義的。在整合過程中,對于過程角色以及角色的職責做了進一步的清晰定義,同時,對于工作過程也做了制定了工作步驟要求。這樣,從客戶方發(fā)出項目開始,一直到項目驗收,項目總結,定出了一整套的流程。就是從第一步開始,下一步怎么做,定義了一個做事方式。另外,在流程里面定義了在一個階段到下個階段的職責,比如說這個階段誰負責,負責人干什么事,其他人員干什么事,基本上都定義清楚了。這樣很大程度上避免了有些事情大家都覺得應該干,而有些事情卻沒有人干的局面。所以,流程定義到了每個角色的頭上,這樣的話,不同的角色,比如在這個項目組是一個負責人,可能到另外一個項目組是一個普通的工程師,因為角色不同,在不同項目里面的工作也不同。而這些定義,當項目啟動的時候,都轉化為項目開發(fā)計劃。
每個項目都要求做項目開發(fā)計劃,這個計劃包括這個項目在自己開發(fā)部是怎么做的,同時還包括如果在這個項目外包給軟件公司,對軟件公司怎么管理的計劃,還有我們這邊人員怎么配置的計劃,這個計劃里面包括了很多內容。其他還有配置管理的計劃,SQA計劃等等,這些計劃都包含在軟件開發(fā)的計劃里面。從這個計劃建立以后,在后面的過程中基本上要求按照計劃執(zhí)行。但是同時因為項目是變化的,有可能項目定義的內容會有一些偏差,這個時候要求對計劃進行監(jiān)控,如果出現(xiàn)大的偏差的話,開發(fā)計劃就要調整,如果出現(xiàn)小的偏差,就需要對Schedule進行調整。同時,如果外包給軟件公司的項目,也要求軟件公司提供項目計劃,而且要求他們每周對進度進行匯報。同時,在計劃里面還定義了milestone review,不同階段的review誰參加,大概是什么時候,這個都要求在計劃里面進行定義。
項目組人員在項目計劃的指導下,因為職責明確,步驟清晰,都能更有效和高效地工作,避免了許多不必要的重復工作(rework),大家感覺項目做的比以前更順暢,同事間合作也更融洽,少了很多互相推諉。
3.通過流程化管理,全員的風險意識會大大提高
定義一個比較詳細的風險分析流程,流程中要求制作風險標注表。風險標注表是基于FMEA的方式,里面有風險的發(fā)生概率,發(fā)現(xiàn)的嚴重程度等等。所以要求在項目開始時候,就進行風險分析,風險分析的結果作為項目開發(fā)計劃的一部分。風險分析時主要從資源和項目進度等各方面進行分析,同時提供了一套典型的分析表給大家作為參考。所謂的典型風險表就是從各個項目里面制定的風險中抽取,以及從各個項目反饋回來的可能風險,不斷更新和充實典型風險表。在執(zhí)行這個流程的時候,在項目一開始就要標識風險,如果超過一定數(shù)值的風險,就要做對應的策略。這樣的話,項目開始就有風險的計劃,風險的標識,和風險對應計劃。在項目開發(fā)過程中每周對風險進行識別,有沒有新的風險出現(xiàn),有沒有原來的風險數(shù)值的降低,等于就是在全項目的過程中,對風險有一個控制。在項目過程中有一整套的風險管理,可能大家在不知不覺中接受了這種風險管理的意識,有的時候在日常生活,甚至是整個公司的其他事情都不自覺的就有了風險意識。所有的東西歸根到底就是給每個員工成功感,覺得在這個公司有發(fā)展的前途。
下面說一下工作量的量化。工作量的量化不是一件容易的事情,從實際需要出發(fā),做了一些量化的工作。前面提到的項目開發(fā)計劃,根據(jù)WBS分割,對項目規(guī)模進行估計,在此估計的基礎上安排人員與進度。同時,收集每天的工作記錄,以便進行計劃工時與實際工時的比較、追蹤與監(jiān)控。為此特意開發(fā)了一個系統(tǒng)來錄入計劃,并可以讓每一個員工按照不同分類記錄自己每天的工作工時。在此過程中,可能會遇到數(shù)據(jù)不準確的問題,但基于公司比較開明的氛圍,以及讓每個員工意識到收集數(shù)據(jù)并非是為了限制員工,而是為了幫助員工,收集到的數(shù)據(jù)的可信度也在逐步提高。這些收集到的數(shù)據(jù),一是作為經(jīng)驗數(shù)值,被用于其他項目計劃,二是作為實際與計劃的偏差依據(jù),便于項目經(jīng)理對人員的工作負荷進行調整,或者在發(fā)現(xiàn)偏差時,盡早采取行動。正是讓項目組人員看到數(shù)據(jù)對于自己的好處,大家都積極配合,提交盡量準確的數(shù)據(jù)。比如:從普通的項目組的感覺來說,至少工作量的量化可以給普通開發(fā)人員一個機會,可以提出來工作量超時的問題,在真正超時情況下,可以拒絕一些事情,而不是說上面領導說了算,不顧下面員工的實際情況,只能靠加班來達到經(jīng)理的要求。所以,這個流程帶給普通的開發(fā)人員一個渠道,來反應這個工作確實是超時了,而且需要上面的經(jīng)理,甚至高層經(jīng)理幫助解決。
4.流程化管理給普通開發(fā)人員帶來了工作成就感
關于工作的成就感,涉及到每個人的感受。從流程角度來說,或者說從過程改進的角度來說,在計劃方面,Review方面能促使組織中的每個人的工作更有成就感。Review分技術Review和管理Review。技術Review就是提前介入,提前減少風險,使項目的質量朝預想方向進行。實際上Review也是減少了項目組人員的工作時間。還有計劃、Review,風險分析等等,都減少了救火事件。當然每個項目都會存在救火的時間,但是流程就是幫助項目組盡量減少救火的出現(xiàn)。在很多公司里面存在這種狀況,如果某個項目一直很順利,什么事都沒有出,平平淡淡過去了,領導會覺得這個項目沒有出現(xiàn)英雄人物,如果出現(xiàn)救火了,出現(xiàn)一個大問題,出現(xiàn)一個或幾個英雄把這個困難克服了,事情終于做完了,可能覺得體現(xiàn)了公司的能力。但是如果軟件開發(fā)想產(chǎn)業(yè)化,比如說想做大規(guī)模的開發(fā)的話,應該還是盡量避免救火的出現(xiàn),而且盡量避免靠某些英雄人物的存在。
還有一個,定義的比較好的項目總結流程,也在一定程度上增加了成就感。根據(jù)流程定義,到項目驗收通過,無論涉及到三方或者兩方的情況,要求三方或者兩方必須做總結,一個是質量數(shù)據(jù)的總結,再一個就是經(jīng)驗教訓的總結,總結項目過程中好的點、不好的點,給其他方。比如說軟件公司覺得需求寫得不是很清晰,可以在項目總結時反饋。而且在做完總結之后,不是說做完了就完了,還要開會討論,要定義下一個項目該怎么改進,關聯(lián)各方怎么改進。而且自己內部在項目結束之后要在相應的人員中開總結會,開總結會的時候,管理方面有什么做得不好的,技術方面哪些方面要提高的,溝通方面有哪些問題,這些東西都要總結下來。這些總結,三方或者兩方都是共享,在下一個項目的時候,就不會犯同樣的錯誤。所以,從流程的角度來說,項目組感覺雖然這個項目很繁雜,工作任務很重,但是工作還是很有成就感的。
四、小結
軟件過程管理的度需要根據(jù)具體公司的實際情況,人力、物力投入,人員素質,項目情況來選擇,抽象的軟件過程管理理論固然完美,但只有對提高本公司、本部門軟件開發(fā)水平和質量有幫助的才是最合適的。
參考文獻
[1]鄭人杰,殷人昆,陶永雷.實用軟件工程(第二版)[M].清華大學出版社,2005.
[2]克里西斯,科納德,沙恩.CMMI—過程集成與產(chǎn)品改進指南(影印版)(英文版)[M].清華大學出版社,2004.
[3]楊一平,等.軟件能力成熟度模型CMM方法及其應用[M].人民郵電出版社,2001.