時間:2022-04-25 20:09:04
序論:速發表網結合其深厚的文秘經驗,特別為您篩選了11篇軟件開發培訓總結范文。如果您需要更多原創資料,歡迎隨時與我們的客服老師聯系,希望您能從中汲取靈感和知識!
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)36-8332-02
1 背景
工信部近日印發《軟件和信息技術服務業“十二五”發展規劃》,規劃明確了“十二五”的發展思路和發展目標,確定了10項發展重點和8項重大工程。而據業界預計,到2015年,我國軟件行業收入將突破4萬億元,年均增長25%以上,出口突破600億美元。
2 項目實施的必要性和可行性分析
外包人才的缺口從結構層次來看,不是局部的人才短缺,而是全方位的供應不足。正規院校培養出來的學生能掌握基本的軟件開發技術,但缺乏軟件開發工作經驗、項目交流和團隊合作鍛煉,需要經過相當的項目知識與技能培訓。超過60%的高校開設了計算機專業。但是,適應外包企業需要的大學畢業生很少,大學畢業生常常需要企業花大力氣培養,而企業希望招來就用,不愿自己培養人才增加成本。本軟件開發、測試實訓室應此目的設置,目標培養中低端軟件人才。
3 建設實訓中心項目的可行性
職業教育與普通教育相比有四個特點:一是教育性質和目標不同。重在對準備就業的學生傳授職業知識,培養職業技能,陶冶職業道德,提高職業能力和勞動素質教育。二是教育內容與要求不同。以提高學生的專業知識與技術能力為主,重在讓學生懂得做什么、怎么做,使學生學有專長,畢業后投身于社會經濟建設的實踐活動。目前盡管有部分學生升學,但就總體看,其教育內容與要求未變。三是課程模式與結構不同。其課程模式注重實踐教學環節,課程結構注重強化學生技能的應用性、針對性和職業性。四是學校功能與任務不同。要求實施職業教育的學校必須具有實訓實操的條件,否則職業教育很難獲得應有的效果。
4 軟件開發和測試實訓室建設目標
軟件開發技術實訓可以包含四類實訓課程:
軟件開發實訓:包括完整的生命周期的軟件開發過程
軟件階段實訓:選取軟件生命周期其中某個階段獨立工作(例如編碼工作)的實訓;
軟件測試實訓:包括軟件開發過程隨行測試和獨立的軟件測試技術實訓;
軟件項目管理:這是關于軟件技術高級培訓。
實訓裝備:
硬件設備:5組服務器;50臺工位電腦;網絡和交換設備;5組光盤刻錄、掃描儀和打印機等輔助設備;1套投影和無線擴音設備;互聯網接入;軟件平臺:Windows 和Linux服務器平臺,mySQl、SQL Server數據庫系統、J2EE和.net開發平臺和課程相關的軟件工具;LoadRunner 、WinRunner等常用測試工具;項目管理工具MS Project;辦公系統 Ms Office 管理軟件:實訓管理軟件
實訓方法:采用模擬企業運營方式將教練和學員混編成項目組方式完成軟件開發和測試實訓;打破學科界線和知識體系,以項目目標驅動安排教學內容,編制教材和教學課件,教學內容來源于合作企業以往的實際項目,由企業和學校共同對原項目分解、重組、封裝形成教學課件,以實際項目文檔為基礎編制實訓文檔。
實訓課程:本實訓室分設以下類型實訓課程
素質教育類課程:敬業精神、團隊合作
企業標準類課程:ISO9000和CMM認證,企業化管理制度
項目管理類課程:項目管理方法和項目管理系統使用;
軟件開發、測試類課程:包括軟件生命周期理論、文檔編制和理解、軟件工具、編碼和測試方法、系統部署、和版本管理等;
實訓過程:
先期培訓:素質類、企業標準、項目管理、背景知識等
基礎培訓:由教師教授課題涉及的基本方法、工具和規范;
開題培訓:由專業項目管理人員做課題報告,解釋項目要點;
5 實訓課題:軟件開發實訓
本實訓室培訓軟件開發人員和軟件測試人員,實訓方法可以將學員分組,在同一項目中分別承擔軟件開發和軟件測試工作,也可以獨立執行軟件開發和軟件測試實訓課程
軟件開發實訓包括一下實訓模塊:
1)背景和基礎知識:包括軟件開發規范,軟件企業ISO9000和CMM認證,學校軟件工具等;
2)搭建開發環境:能夠配置自己的軟件開發環境,包括安裝操作系統和開發工具包;能夠配置自己與別人的協同開發環境,包括網絡配置,文件共享,安裝遠程打印機等;
編寫代碼:使學員能夠讀懂詳細設計,掌握開發工具的配置與使用,掌握開發語言的基本知識和數據結構,了解簡單的算法,會設計簡單的界面,并應用常見控件,具有數據庫編程的初步能力;
圖1
3)測試:使學員除了掌握測試的理論知識外,還應該學會編寫單元測試案例,編寫單元測試文檔,在執行單元測試的時候,記錄測試結果,并分析錯誤原因,以利于下一步的調試。
學員應掌握以下具體技術、平臺和工具,Windows系列和Linux操作系統;Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,創建網絡連接,網絡打印;基于UML的詳細設計文檔,面向對象分析和設計;單元測試,黑盒測試,白盒測試,設計測試案例等;執行測試并調試錯誤,系統和配置技術;
軟件測試實訓包括以下實訓模塊:
計算機及常見操作系統、軟件設計語言基礎、 數據庫基礎、軟件工程基礎、軟件測試基礎、自動化測試:包括OSI模型、TCP/IP模型及常見網絡協議,常用軟件平臺、工具使用LoadRunner 、WinRunner測試工具使用,各種測試規范
6 總結
在當今社會信息化的進程中,綜合應用各種新技術的系統軟件功不可沒的,軟件開發和測試使全社會的信息管理、信息檢索、信息分析達到了新的水平,因此,學習軟件開發、測試的相關基礎知識,對于信息時代的每一個成員都是十分必要的。
參考文獻:
[1] 楊文宏,李心輝.面向對象的軟件測試[M].北京:中信出版社,2002.
1敏捷開發方法的出現
軟件工程是20世紀70年代提出來的概念。傳統的軟件開發方法有瀑布模型、螺旋模型、噴泉模型、RUP4類,它們注重文檔的完整、程序的易讀性、結構的完整性,屬于重型軟件開發方法。在過去的一段時間,傳統軟件工程的方法很好地適應了軟件開發的需求,其不僅關注軟件構造方式的完美型,同時也注重總體的可預測性,以文檔為驅動,按照需求分析、概要設計、詳細設計、編碼、測試、軟件交付的流程來進行開發。在軟件產業不是很發達、軟件開發人員稀少的過去,這樣嚴格的開發流程無疑是很適用的[1]。隨著市場環境的變化,傳統軟件開發方法面臨著嚴重的挑戰。一方面是用戶需求的多樣性、個性化和快速變化,另一方面則是來自激烈的市場競爭對軟件的質量和價值提出了更高的要求[2-3]。這就要求軟件開發需要以更靈活的手段來應對不斷變化的需求,用更短的時間和更低廉的代價將產品推向市場滿足用戶需要,由此人們開始對軟件開發過程的本質重新進行思考和探索,在20世紀90年代,一系列輕量級開發方法相繼被很多軟件大師提出。2001年2月在美國猶他州的雪鳥滑雪場召開了軟件開發大會,本次會議了“敏捷宣言”,包括4個核心價值觀和12條基本原則,這標志著敏捷開發的誕生。相對于傳統軟件工程,敏捷開發主要有3個重要特點:(1)敏捷開發是“適應性”而非“預設性”的,傳統軟件工程試圖對一個軟件開發項目在很長的時間跨度內做出詳細的計劃,然后依據計劃進行開發,這類方法在計劃制定完成后拒絕變化,而敏捷開發歡迎變化,甚至允許改變自身過程來適應變化;(2)敏捷開發是“面向人”的而非“面向過程”的,它們試圖使軟件開發工作能夠利用人的特點,充分發揮人的創造力和主動性;(3)敏捷開發是“產品驅動”而非“文檔驅動”,開發過程只需要較少的過程文檔,在軟件的迭代開發過程中,一直保持軟件產品的可用狀態,以產品的增量來衡量進度的實際狀態。敏捷開發的諸多優點吸引了越來越多的軟件企業研究敏捷開發,積極實施敏捷轉型。
2敏捷轉型的反模式
盡管敏捷開發方法已經提出多年,但實施過程中還是出現大量的疑問和難點,在傳統型軟件企業里面還大量存在敏捷轉型的失敗案例。這些失敗案例可以總結為6條失敗教訓,即敏捷轉型的反模式。
2.1缺少管理層支持
敏捷宣言告訴我們,“圍繞被激勵起來的個人來構建項目,給他們提供所需要的環境和支持,并且信任他們能夠完成工作?!痹谵D型過程中,同樣要求管理層需要關注團隊成員的狀態,為轉型工作提供足夠的資源保障。
2.2轉型目的缺失或不明確
管理層必須明確希望從敏捷得到什么,如果對要解決的問題都不清楚,那么努力的效果就會大打折扣或無功而返?!皠e的公司或別的項目那樣做”并不足以成為自己采用的理由。所以敏捷轉型必須緊盯自己的問題,弄清楚為什么希望做出改變,進而再啟動敏捷轉型。
2.3組織結構與角色和敏捷不相容
敏捷宣言提到“最好的架構、需求和設計出自于自組織的團隊”。在傳統軟件企業中需求分析、編碼開發和測試常常分屬不同的行政部門,這樣的組織架構容易阻礙自組織團隊建立,讓敏捷團隊的成員感覺僅僅能夠做局部優化。
2.4指導不足
敏捷轉型過程中,需要向團隊成員講述敏捷的思想和方法,過少的培訓甚至沒有培訓,將讓團隊感到迷茫。在實踐過程中,還會存在很多疑問或誤區,還需要有經驗的敏捷教練現場一對一指導。
2.5將敏捷等價為Scrum
敏捷的范疇比Scrum要大得多。Scrum本身并不涉及工程卓越、業務目標、大型團隊擴展或者技術發展等。在轉型過程中,需要從改善工程實踐入手。否則,團隊初期的Scrum的活動顯得很熱鬧,但因為代碼問題遲遲無法解決,質量和效率沒有得到根本的改善,過程依然痛苦。
2.6對工程實踐缺乏足夠認識
工程實踐對于解決代碼問題具有直接的幫助,但每一種工程實踐都有其門檻,需要付出學習成本才能掌握。不加選擇的實施,將會帶給團隊難以承受的壓力,而導致成員的抵制。這些問題都會導致敏捷轉型的失敗。而失敗又會帶來連鎖反應,一方面讓轉型的軟件開發團隊大大降低對敏捷的熱情和信心;另一方面,也會給其他周邊的團隊帶來負面影響,使其充滿疑慮、裹足不前。
3敏捷轉型策略
針對敏捷轉型的反模式,就可以有針對性地制定轉型策略。
3.1寬松環境
敏捷轉型是在項目交付過程中實施的,團隊成員需要付出額外的工作和努力。改進活動需要時間、資金、辦公環境的支持,甚至改進過程中會遇到挫折和失敗。團隊的管理層對此有清晰的認識,保持關注、積極支持、容忍失敗,建立一種寬松的轉型氛圍。
3.2轉型小組
敏捷教練通常對于敏捷價值觀有深刻的理解,對敏捷管理實踐或技術實踐有非常好的掌握,并且具備一定的溝通和引導技能。這種角色對于傳統團隊的轉型是非常關鍵的,起到引導實踐、轉變思想的作用。在傳統團隊內部通常難以獨立培養敏捷教練,需要從外部引入,幫助團隊轉型。以教練為核心加上團隊內部骨干建立轉型小組,可以幫助轉型工作順利開展。
3.3痛點驅動
傳統團隊在研發過程中通常受制于自身的能力和外部的壓力,遇到各種問題。常見的問題包括:(1)維護代碼規模大,遺留故障多,團隊陷于質量的焦油坑;(2)用戶需求多、變化快,驅使團隊過于追求進度,卻無法充分理解用戶需求;(3)分工壁壘嚴重,開發人員和測試人員之間對抗造成大量浪費活動;(4)團隊成員技能提升緩慢,加班過多,士氣低落。轉型小組一起分析團隊現有問題,再與團隊成員開誠布公地探討,通常會得到強烈的共鳴。不以引入新概念、新模式為目的,而以痛點驅動的態度面對問題,敏捷開發的起步就容易得到支持。
3.4實踐選擇
經過多年的業界探討和嘗試,敏捷方法論層面Scrum,XP和精益看板得到了廣泛認同。但即使這樣,從這幾個方法論里面挑選合適的敏捷實踐仍然不是件容易的事情,先做什么后做什么同樣也是難以抉擇的事情。盲目的實施實踐只會加重團隊的負擔,而難以獲得期望的效果,并將開發團隊陷于交付和改進的雙重壓力中。而轉型的初衷是在短期內付出可以接受的學習成本,提升過程能力從而獲得長期的交付能力提升,因此,短期內的改進必須要獲得可見的成果。通過多個項目的探索和實踐,總結出敏捷轉型初期的3個關鍵實踐:Scrum、用戶故事、持續集成。從管理、價值、交付3個關鍵方面可以幫助團隊在短期內以較小的成本奠定敏捷開發的模式的基礎,并可以在此基礎上持續自我提升。Scrum是一種輕量化的敏捷軟件開發管理框架,每隔1~4周,每個人都能看到能實際工作的軟件,并且據此決定是這個版本還是繼續開發以加強其功能,這樣將原先的長周期的開發過程切割成若干個小段,用戶反饋速度大大提升。有了輕量化的管理框架,團隊的基本的工作模式、協作方式就會發生明顯變化。用戶故事(UserStory,US)是從用戶的角度來描述用戶渴望得到的功能,能把一個功能像講故事一樣敘述出來,不僅描述了產品需求、業務價值,同時還包含了一系列驗收標準。一個好的用戶故事包括3個要素:(1)角色,誰要使用這個功能;(2)活動,需要完成什么樣的功能;(3)商業價值,為什么需要這個功能,這個功能帶來什么樣的價值。通過使用用戶故事,可以增進開發人員與業務人員的溝通,幫助開發人員充分理解需求含義,并確保每個迭代都能關注用戶期望的高優先級需求。沒有用戶故事就難以有真正意義上的迭代,也無法做到敏捷開發所倡導的快速反饋、快速學習和快速價值交付。持續集成是極限編程里面的重要實踐。采用完全的自動化構建過程,使得一個開發團隊在一天中多次構建并測試軟件。持續集成鼓勵軟件開發項目團隊在一天內多次提交代碼,同時保證每次簽入操作都不會損害已經通過的構建。這樣做的目的就是為了快速反饋,使得缺陷及早被發現,并能以可視化手段快速反饋。有了持續集成作為質量安全網,團隊的缺陷可以快速反饋和解決,作為工作產品的軟件版本就可以一直保持在可工作狀態。
3.5敏捷培訓
要讓團隊正確實施敏捷實踐,轉型小組需要實施多層次多類型的培訓。給團隊的敏捷培訓可以分為3個類型:(1)敏捷價值觀的導入培訓,向所有團隊成員解釋敏捷從哪里來的,它是什么、不是什么,與傳統軟件開發的異同點及其背后的原理,這樣可以讓團隊成員能夠在理論層面理解敏捷;(2)敏捷實踐方法的培訓,有針對性地向各角色介紹敏捷實踐方法的要領;(3)本地化敏捷管理要求的培訓,即為了使敏捷方法在團隊落地而制定的各種管理要求,需要宣貫給團隊成員,例如Scrum的活動計劃和執行要求、用戶故事書寫規范、持續集成紀律等。通過一系列培訓及時準確地傳遞敏捷的思路與各種要求,促進團隊建立共識,提升實踐能力。
3.6迭代改進
敏捷轉型不是一蹴而就的,轉型小組的改進工作需要按照敏捷開發的模式迭代前行。每個階段制定切實可行的目標、范圍和計劃,定期組織回顧總結。通過透明化的成果展示獲得管理層支持,及時發現風險改進工作安排,保證轉型工作始終在平穩和可控的軌道上。
4結語
敏捷開發是一系列輕量級方法論的集合,具有共同的價值觀。敏捷轉型行為是由策劃的敏捷方法引入到傳統開發團隊中,合理應用可以顯著提升團隊交付的效率、質量及個人能力。敏捷多種方法論及其實踐都有其特點和學習成本,這就給敏捷轉型帶來了諸多風險和難點。本文在大量實踐的基礎上,針對轉型中的反模式,提出了系統化的敏捷轉型策略以幫助傳統團隊成功轉型。需要注意的是,短期的敏捷轉型任務完后,轉型小組中應該能培養出內部教練,以便有能力引入更多的方法實踐,幫助團隊向更卓越的目標前行,而團隊需要保持敏捷的意識和習慣,形成持續改進的良性循環。
參考文獻
[1]科恩.用戶故事與敏捷方法[M].李國彪,滕振宇,譯.北京:清華大學出版社,2010.
1 概述
由于空中交通管理行業的特殊性,安全性以及高技術性等特點,相關軟件的自我研制與開發就成為必然,各級空管局也相繼成立了軟件開發團隊。但由于軟件開發并不是空管局的核心業務,所以機構小、待遇低、升職機會少、管理水平跟不上成了軟件開發團隊普遍遇到的問題,并由此導致高水平人才留不住、開發人員職責分配不當、開發流程不規范、難以積累管理和技術經驗等等問題。
2 人員崗位管理
2.1 “選” 空管局在招聘軟件開發人員時一般會遇到兩方面問題:一是相比專業軟件開發企業工資待遇偏低,難以吸引有三年以上開發經驗的中高級人才加盟;二是部門人員編制少,每個開發人員都要掌握多種業務和不同的技術。確定了人員招聘的范圍,接下來是怎樣從眾多的應聘者中挑選出團隊所需,如圖1所示。
圖1 軟件開發人員招聘試用過程
在招聘階段,綜合能力筆試和全方位的面試是必須的。筆試要對應試人員的數學能力、邏輯推理能力、歸納總結能力、語言文字能力等基本素質進行考查;面試針對的則是業務能力,技術能力,語言表達能力,應變能力等等。
2.2 “育” 雖然軟件開發并不是空管系統的主業,但員工的培訓卻不能忽視。首先,應該經常進行交叉培訓。交叉培訓不僅快速、低成本的提高了部門員工多方面的技術技能,而且也促成了員工的“備份”,在某一員工離職時不至于出現技術斷檔。其次,軟件是個高速發展的行業,要有針對性的進行新技術的培訓。最后,空管業務的培訓也十分重要,一個軟件成功的開發永遠離不開對相關業務的精通。
2.3 “用” 如今的軟件行業崗位分工已經越來越細化。要想充分發揮每位員工的能力就要了解每個人的喜好特點,針對員工的個人能力分配合適的崗位和任務,做到知人善用。
2.4 “留” 留住人才有一整套的手段和方法。薪酬是很多軟件開發人員首要看中的,要保持員工隊伍的穩定,薪酬至少要在人力資源市場中的平均薪資水平。發展方向是另一重要因素。在員工建立自己的發展方向時,不僅要尊重他們自己的想法同時也要幫助他們發掘自己的特點,找到自我喜好和部門發展方向的契合點,讓員工和部門共同發展。
2.5 崗位配置 崗位配置是涉及軟件開發效率、軟件開發進度、軟件開發過程管理和軟件產品質量的重大問題。面對軟件部門人員少、項目雜等特點,將開發人員分成組內成員和公共成員兩部分,如圖2所示。
一般每個項目都成立一個獨立的程序員小組,根據項目的大小和完成任務的時間設2至5人。程序員小組實行“主程序員”負責制,負責組織、規劃、協調和審查小組內的全部技術活動?!爸鞒绦騿T助理”是主程序員的助手,除了協助主程序員的日常事務外,在必要時能代替主程序員的領導工作。這種一主一副的配置在最大程度上保證了項目開發的連續性和完整性。其他“程序員”負責模塊代碼編寫和測試。
3 開發管理
3.1 開發規范 開發規范的有效建立和嚴格執行是提高軟件開發質量,降低開發周期,增強代碼的可重用性、易讀性,使軟件便于維護,使開發人員之間便于交流和協作的一個最有效的手段。開發規范包括:變量名、函數名、文件名、模塊名等名稱的命名規范;保證代碼簡潔、清楚、易讀的代碼規范;保證類關系清晰,有良好組織、嚴格區分的類組織規范;用戶界面規范;測試規范;bug調試規范等等。
3.2 技術積累 技術積累是軟件開發團隊提高開發效率的關鍵因素,它不僅為將要開發的功能或模塊提供了技術模版和參考,同時也大大降低了人員流動對團隊、對項目開發帶來的不利因素。技術積累并不是一堆代碼的簡單累積,它應該具有如下特點:首先,它應該能實現特定的功能并能被重復使用;其次,在多個項目中使用并被充分驗證;再次,有詳盡的技術說明文檔,易于學習和使用;最后,被清晰的組織和索引,易于查找和引用。
3.3 配置管理 軟件配置管理是一套規范、高效的軟件開發基礎結構。作為管理軟件開發過程有效的方法,軟件配置管理可以系統地管理軟件項目中的多重版本;全面記載軟件開發的歷史過程,包括為什么修改,誰作了修改,修改了什么;管理和追蹤開發過程中危害軟件質量以及影響開發周期的缺陷和變化。通過配置管理工具的使用,打破了開發人員各自為政的開發模式,減少了代碼冗余,提高了軟件重用率,使整個項目組更容易完成統一編碼、統一測試、統一部署、統一升級。
3.4 項目管理 項目管理包括:決定項目啟動時間,確定項目范圍,制定項目任務的重要性和優先順序等等。項目管理運行機制沒有一個統一的標準,它的建立需要長時間的摸索和積累并且要充分結合本部門發展的自身特點。
4 結語
(1)建立自組織團隊。傳統的管理方式具有命令和控制的特點,經理制定目標和計劃,團隊負責完成,發揮不出員工的創造力,影響了企業的效率。軟件開發的敏捷開發要求員工自我管理,個人控制時間和目標,員工能參與流程和項目決策。
(2)用戶故事在需求管理中的應用。軟件開發企業最大的敵人不是用戶,而是變化。瀑布模型難以適應目前軟件市場需要,因此軟件開發工作要取得用戶的參與,順應市場的變化。
(3)用戶故事的度量,它能為產品投資收益提供估計結果,輔助產品決策。對故事點大小討論時,能鼓勵團隊成員重復討論,充分理解需求。故事點度量方式一致,提高統計團隊工作效率。
(4)持續集成。它能提高項目構建自動化程度,將人力成本更多投放到開發任務。項目更有可見性,構建結果更加豐富,一目了然。團隊對開發產品更有信息。
(5)掌握迭代,為員工提供穩定的生活節奏,保持一致的周期循環流程,溝通過程中控制時間。
(6)堅持反饋和改進,了解自身情況,改善團隊效率。
精益生產的目標為提高質量和消除消費。看板原則要求生產降低庫存量、降低生產周期、生產基于交叉培訓和單元并對過程進行持續改善。如同超市進貨一樣,當貨架上貨物少于設定值,供貨商會及時將其填滿。將看板管理與敏捷軟件開發結合起來,能夠達到效率和質量的有效結合,軟件產品周期頻繁,能達到按天級別。
2.項目看板方法流程設計
增量迭代開發開發流程存在著三點問題。
(1)每個迭代的用戶故事較多,產品經理和開發工程師認為很多功能沒有價值,而項目經理認為需要跟蹤的項目較多。
(2)對于為期四周的迭代觀念不統一,部門不同,期望值不同,測試人員認為時間不充分,產品經理認為需要等待太長時間。
(3)部門之間缺乏協作,缺乏透明的項目進展和進度,太多時間花費在流程上。敏捷軟件開發有三個典型流程,分別XP、Scrum及看板,經過比較,看板原則可以解決迭代用戶故事較多的情況,對于規模小及優先級別高的用戶故事能夠迅速完成,并滿足產品經理對產品的預期。
2.1 基于看板管理的敏捷軟件開發流程方案設計
看板一般應用于汽車生產等工業領域中,在敏捷軟件開發中看板管理只是理論上行得通,但是在實際上還缺乏經驗。而且其受到產品特點、客戶差異及企業文化的影響。其流程主要為,(1)定義并可視化流程;(2)限制WIP數量,流程可視化于物理板能夠讓項目透明,讓團隊對目前的任務充分明確。限制WIP數量則能讓團隊在思考時排除千擾,提高個體效率,項目工作不以來時間計劃,而是取決團隊能力;(3)拉動式生產,每個團隊成員只需要對自己環節加以關注,等待任務-完成工作-到下一環節等待區^這種方式推動了產品開發前進步伐。
2.2 看板流程準備和實施
(1)是動員和人員培訓,先獲取領導層的理解和信任,再向所有員工培訓敏捷開發和看板方法,最后,每個部門進行討論。
(2)制定需求管理環節,產品經理提出產品需求,創建用戶故事,技術團隊估算用戶故事工作量。通過需求分析,工程師能夠獲取信息,完成研發工作,產品經理全程輔助開發和測試,解答相關問題。
(3)開發流程改造,主要變化在對程序代碼的管理方式進行改變,主要有主干和分支兩種。
(4)測試流程改造,主要表現為兩個方面,一方面提高系統自動化測試率來加快回歸測試的進度,另一方面增加測試環境滿足功能測試需求。
(5)項目管理流程的建立。
2.3 看板流程的實施
當所有準備工作完成之后,看板方法第36增量迭代之后,可以正式實施。產品經理將用戶故事進行排列再制成任務卡,貼在用戶故事一列,完成需求分析會議。開發組建立功能分支進行開發,測試組應用功能測試環境對用戶故事進行測試,直到產品。團隊成員每天早上聚集看板附近,明確自己的任務,下班前,項目經理將每天的任務卡狀態變化匯總。敏捷流程要求強調團隊自組織和員工自我管理,但是不可忽視項目經理的作用,項目經理能夠組織人員,梳理工作節奏,保證溝通流暢,促進項目進展。
【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009―8097(2009)07―0049―03
當前國內的論著和教材中提出的教學軟件設計與開發模式大體可以歸為兩類。一類是對教學系統設計模式修改而來的,如對ADDE模式的修改;另一類是在軟件工程的線性開發模型中插入教學設計環節的,例如“項目定義教學設計系統設計腳本編寫素材準備軟件編輯試用評價產品出版”。這兩類模式都忽略了教學設計與軟件工程的內在聯系,不能很好地指導教學軟件開發。
教學軟件既是一種教學材料,又是一類應用軟件。作為教學材料,屬于教學系統設計的對象,作為應用軟件,是軟件工程的產品。 因此教學軟件開發過程中有兩條并行交叉的過程。本文在分析開發過程的基礎上,提出兩者結合的開發模式。
一 教學軟件開發過程分析
1 教學材料的系統設計
在教學系統設計中,教學材料的開發是放在整個系統中考慮的,是一系列的相關分析和決策的結果。
教學系統設計有多種模式。圖1所示的是美國學者迪克(Walter Dick)和凱里(Lou Carey,James O. Carey)提出的模式,這個模式有廣泛的應用。
對于整個設計過程,可以分為兩個階段,即分析階段和決策階段。分析階段的結果是編寫出績效目標。以績效目標為依據,設計者開始做出的決策,形成如下的設計文件:
評價學習的試題和量表;
教學內容和活動的順序與組織方案;
教學材料和教師手冊的初稿;
對教學和教學材料的形成性評價方案;
對教學和教學材料的總結性評價方案。
2 教學軟件產品的開發
教學軟件產品的開發要遵循軟件工程的規律。軟件工程是“采用工程化的原理與方法對軟件進行計劃、開發和維護。” 目的是提高軟件開發的效率和可靠性。軟件開發的基本模型如圖2。
這樣的線性過程不適合于教學軟件開發。首先這種模型是以編寫程序代碼為中心的,而教學軟件除了程序代碼,還有大量的媒體元素,如圖像、動畫、音頻、視頻等。這些元素的制作是與程序編寫并行或交叉進行的,該模型反映不出媒體制作的工作過程。其次是在教學軟件設計的初期,由于教學本身的復雜性,設計者不可能完全確定設計的細節,不可能在分析階段解決所有的分析問題,經常需要在開發過程中修改他們的設計,該模型沒有考慮到開發過程中的不確定性。
在對軟件開發模型改進的過程中,人們提出了快速原形法、增量模型、螺旋模型等,這些模型的共同特點是把軟件開發看作多次循環改進的過程,在多個循環過程中有多次的評估和修改,或是從軟件的核心逐步豐富。圖3示意了原型法與螺旋模型結合。無論是哪種模型,都有軟件開發的基本步驟:分析、設計、開發、測試。
3 教學系統設計與軟件開發模型的結合
教學軟件與管理軟件、工具軟件等功能性商用軟件最顯著的不同,是不能用“功能”來衡量。例如一個文字處理軟件,如果測試者能夠用軟件錄入文字,實現任何格式的排版就表明該軟件的功能實現了,而教學軟件無論運行多么流暢,嚴格地講都不能說它具有了功能,因為教學軟件的作用效果,不是自身表現出來的,這是具有不確定性的。因此對教學軟件,開發是否成功要看教學性,而不是“功能”,而教學性要靠教學系統設計來保證。
無論是從教學系統設計的角度,還是從軟件工程的角度,教學軟件開發過程都可以分為兩個階段,一個是設計階段,一個是開發階段。兩個階段之間有反復調整修改的環節。教學系統設計的理論和方法,主要應用在設計階段,以實現軟件的教學性,為開發提供藍圖。軟件工程的思想和方法,貫穿整個設計和開發過程,但重點是開發階段的組織與管理,以實現軟件的技術性能。一個好的教學軟件開發模式,應該以教學系統設計為基礎,結合軟件工程的思想和方法。對這種結合可以用圖4示意。該圖的內圈表示教學設計過程,外圈表示軟件開發過程,兩個過程是同時啟動同步進行的,交織成一個軟件開發循環周期,但是在各個階段兩者的重要程度和工作任務的分量不同。
二 教學軟件開發模式描述
1 模式的構成
該模式是借鑒美國學者Stephen M. Alessi和Stanley R. Trollip提出的模式,結合國內實際情況和我們的工作經驗提出來的,見圖5。
這個模式在整體上是軟件開發的螺旋模型中的一個周期,也可以看作增量模型的一個構件的實現過程,這取決與軟件開發的任務和條件。這個模式具有一定的普遍性,適合教學軟件專業開發,也可供學校的教育技術人員和各科教師制作課件參考。
設計與開發模式有三個要素和三個階段。三個要素是標準、評價和管理,三個階段是計劃、設計與開發。三個要素始終與三個階段相互作用,是指在制作的全過程中都要注意,是全過程的活動原則,保證項目的成功。計劃和設計兩個階段用環形表示階段內部有反復的修改,開發階段用豎的框架表示多項工作可能會并行或交叉開展。
這個模式涉及到開發者和用戶兩個方面,開發者包括教學設計人員、教學與培訓專業人員、媒體素材制作人員和美工人員、程序編寫和測試人員、項目管理人員等。在專業開發中,用戶是指接收產品的客戶,如學校、培訓機構或出版商。在學?;蚺嘤枡C構內部開發時,用戶是指使用軟件的教學者,通常是教師。
2 模式的特點
(1) 基于標準的過程
從項目一開始,開發者與用戶等共同明確軟件最終產品所有方面的一致的標準,每個開發人員都知道應該怎么做,始終堅持確定了的標準。
(2) 實證的方式
全過程是初步設想、評價、修改的反復循環,直到最后完善。在計劃和設計階段需要完成兩個原型,體現了原型法的思想。軟件開發雖然有理論指導,但是最保險的還是不斷地試驗修改,直到合適為止。在全過程中堅持按標準評價,既不拔高也不降低。
(3) 全過程管理
軟件開發中有一種現象是偏離原定方案,到了最后又耗費時間、人力和財物進行修改。好的項目管理能保證方案實施,堅持既定標準。
(4) 重視決策階段
該模式中把計劃與設計分為兩個階段,在全過程中花費較多的時間,意圖是制作人員多花一些時間討論,提出初步設想,做出正確決策,然后進行技術實現。這樣不僅能少走彎路,提高工作效率,更重要的是能開發出體現教學設計魅力的軟件,而不是炫耀技術水平和藝術效果的展品。
(5)倡導集體協作
全過程貫穿了集體協作的工作方式。首先是因為設計與開發所需要的技能與知識不是一個人能全部具備的,決策需要集思廣益,需要有各方面專長的人合作;其次是協作方式能夠在參與者共同監督下,保證原定的標準與方案。
3 模式的要素
(1) 標準
標準是一個好的項目的起點和基礎,規定了開發人員持續努力所要達到的質量。在典型的情況下,一套標準來自兩個方面。第一,是由開發人員提出來的,開發人員都應知道質量標準,并且在全過程中遵守;第二,是由客戶或教學人員提出來的,往往比較具體,例如規定了總體印象、內容詳細的程度、字體、顏色等等。來自兩方面的標準一般是不會沖突的,能夠協調為一套標準。
(2) 評價
標準只有在軟件開發中堅持才有用,這就要求對所做的每一件事進行評價,每個人員也必須執行標準,以標準來衡量自己所做的工作。如果等到項目接近完成時,才來看是否應用了標準,既不現實,也沒有用處。
進行全程評價關系著項目的質量,通過設計與開發過程中反復的設想、試驗、評價、修改,使每一步工作都符合質量,則最終的產品才能具有高質量。
(3) 管理
成功與不成功的項目的差別很大程度上在于管理。對整個軟件開發項目的資源、經費、時間等要從始到終嚴格控制,進行的良好管理,否則項目容易偏離預定計劃和標準。加強項目管理,首先是要制定好計劃,其次是要做好監控工作,最后是要保持項目組成員之間以及與用戶之間的交流和溝通。
4 模式的階段
(1) 計劃階段
計劃階段奠定多媒體教學軟件開發項目的基礎,形成總體設想,以保證項目各方面順利進行。
計劃階段應確定項目的目的,也就是學習者完成軟件學習后應掌握的知識、技能及應形成的能力、態度等。目的的確定涉及到教學內容范圍,學習者的起點知識技能,以及一般特點。明確工作的限制條件也是必要的,例如運行軟件的計算機環境,用戶對信息呈現的特殊要求、軟件內容的指定范圍等。
計劃還包括收集資料,明確所需要的資料是否都能得到,能否改編或自制,如果有些資料不可能解決,決定是否需要改變軟件的內容。計劃階段應開展頭腦風暴活動,項目組成員共同討論,形成對軟件的內容、結構、外觀、風格等方面的初步設想,用原型或文字描述出來。在這一階段需要頻繁地與用戶溝通,應編制一些文件,包括項目說明、計劃書、項目標準等,使項目管理有章可循,并得到用戶認可。
(2) 設計階段
設計階段進行軟件的教學內容的組織,明確軟件的教學目標,形成對軟件的具體描述,為技術實現提供指南。
設計是軟件開發的核心階段,時間用得最多。在這一階段,要綜合應用教學理論,使用控制與交互的各種方法,體現信息呈現的要求。在設計過程中,制作人員之間,以及制作人員與用戶之間,要繼續交流,對軟件最終的樣式達成共識,完成原型和設計文件。
(3) 開發階段
開發階段使設計的結果最終轉化為實際的產品。
這一階段要運用各種技術手段,包括硬件設備和工具軟件,利用和改編現有資料,制作文本、圖像等多媒體素材,用編程或創作軟件集成軟件,經過多種不同水平的測試和試用后,最終完成軟件。并且安排軟件的總結性評價。
在開發階段,素材制作、軟件編程、手冊編寫等多項工作往往是并行或交叉開展的,素材創作和程序編寫人員是工作的主體,但設計人員和用戶仍以不同的角色參與制作過程,同時又在動用所有的技術資源,因此組織管理和質量控制十分重要。
參考文獻
成立校企合作教師工作站是深入貫徹落實教育部、財政部《關于實施職業院校教師素質提高計劃的意見》和教育部等部門《關于進一步加強高校實踐育人工作的若干意見》精神的重要舉措,是在“校培”層面上建立的保證教師進行企業實踐鍛煉長效機制,旨在培訓一大批“雙師型”教師,進一步推動和加強職業院校教師隊伍建設,促進職業教育科學發展。教師工作站的目標就是讓教師到生產一線,通過現場觀摩、技能訓練、專題講解、交流研討等形式實施,重點體驗企業文化,了解企業生產組織方式、工藝流程、產業發展趨勢等信息,熟悉企業相關崗位(工種)職責、操作規范、用人標準及管理制度等具體內容,學習所教專業在生產中應用的新知識、新技能、新工藝、新方法,增進對企業生產和產業發展的了解,培養廣大教師的“職業氣質”,并結合企業實踐改進實踐教學。
建立教師工作站同時也是安徽商貿職業技術學院(以下簡稱“我院”)國家高職骨干院校建設的一項重要任務,是學校推進校企深度合作的又一重要舉措。教師工作站將為學校專業建設、課程建設、實訓基地建設等方面提供更權威的信息和資
料,為學校創新人才培養模式,提升師資科研水平、
專業能力和社會服務能力以及緊密校企合作關系提供了一個良好平臺。
二、高職院校軟件技術專業建立
教師工作站的意義
我院的軟件技術專業主要培養適應社會主義市場經濟需要的,德、智、體全面發展的,具良好的職業素質、實踐能力和創新意識,具備較強的基于 Java 技術和Android系統的應用軟件開發能力、基本的軟件測試能力,面向IT行業、軟件企業,從事3G應用軟件與動態網站的設計與開發、各類管理信息系統的初級編碼、數據庫系統的日常管理與維護、軟件銷售與技術支持等領域的工作,具有熟練技能的高素質技術應用型人才。[1]
其專業的人才培養方案中對于專業教師實踐能力中指出必須具備“雙師”素質,符合“雙師”結構隊伍要求,在企業一線從事過Java或Android系統開發人員。教師應密切關注行業、企業的發展態勢,注意教育教學的理論研究與社會實踐的緊密結合,以理論指導實踐,以實踐提升理論。
軟件技術專業的教師工作站對教師而言,一方面有利于教師逐步向軟件工程師或系統集成項目
管理工程師等復合方向發展,另一方面也有利于教師學習新技術,了解最新的軟件開發技術和專業發
展趨勢,增強指導教學實踐的能力。高職院校的教師不僅要有專業理論知識,更要有能力培養出高素質的技能型人才。而校企合作教師工作站作為一個載體和基地,有較強的崗位實踐經驗,為軟件技術專業“雙師型”教師赴企業鍛煉培養提供了尤為重要的平臺。這種教師工作站兼顧了校企雙方的需求,為校企之間開展緊密、繼續的合作提供了條件。
三、專業教師如何開展教師工作站的工作
(一)明確進站工作目標
專業教師由于進站工作的時間不是很長,一般只有半年,不可能將企業所有方方面面的知識都學到手,所以在進站工作之前應當結合自身教學工作情況與系部主任及教研室主任溝通,明確進站工作目標。通常的目標有:掌握一到兩門課的核心技術,能夠勝任項目化課程的教學;對專業的人才培養方案進行調研,以便改進專業的課程體系;學習企業的經營管理模式,為校內實驗或實訓積累經驗,等等。
(二)熟悉企業規章制度以及軟件開發的流程
專業教師到企業后首先對企業的基本情況進行了解,熟悉環境,進行角色轉換的準備。首先要了解公司組織結構、管理制度、業務范圍,掌握企業工作流程。[2]其次要掌握企業軟件開發的流程,如何做好需求分析,進行概要設計與詳細設計,安排好編碼與測試工作以及后期軟件交付與驗收。
(三)跟進企業軟件開發項目
在熟悉了軟件開發流程之后,教師如何有效地把握實際的軟件開發,在今后的教學過程中實施項目化教學,了解切合社會需要的項目案例,最佳的辦法就是跟進企業軟件開發項目,在其中承擔開發任務。在進站工作的半年時間里,筆者分別跟進了兩個數字化校園項目,在其中擔任配置管理員以及測試工作,著重提高了軟件測試和UML系統分析與設計的能力,掌握了項目案例的第一手資料,在進站結束回到學校后,可以勝任兩門課的項目化教學工作。
(四)積極參加企業技術培訓
軟件技術發展日新月異,在新興的軟件公司,人員流動頻繁,不斷有新的員工加入到企業中。各個部門經常會有目的性的組織一些技術培訓,其中有些是系列性培訓。通過參加這些培訓,可以掌握最新最前沿的軟件開發技術,學習使用最好最實用的軟件開發平臺,在以后的教學過程中可以將它們傳授給學生,使之跟上軟件技術時展的步伐,能夠讓他們在畢業時適合企業用人的需要。
(五)經常進行階段性小結
在進站工作的期間,一方面的學習是企業給你的培訓,另一方面由于企業員工自身工作也十分繁重,企業不可能派專人每天手把手對你進行輔導,大部分時間要靠自己利用企業的資源進行研究和探索。所以對于自己的所學應當及時地進行階段性總結,以便鞏固所學成果和開展下一階段工作??偨Y的形式的是多樣的,既可以撰寫周記和月報,也可以抽時間與企業相關人員開工作匯報會或經驗總結交流會,通過不斷地總結和改進工作,提高在教師工作站的成效。
(六)做好實習學生的管理工作
教師工作站的企業往往也是學生校外的實訓基地,教師應當妥善安排好學生學習和生活,培養學生的崗位適應能力與創新能力,結合專業實踐和社會實踐活動,實現學校教育與社會教育的交互結合,把“校企合作,工學結合”落到實處。
四、教師工作站工作經驗的總結與推廣
在結束教師工作站工作之后,教師應當將所學用于改進今后的教學,實施工學結合的人才培養模式。同時,要重視學生校內學習與實際工作的一致性,校內成績考核借鑒企業實踐考核,探索工學交替、任務驅動、項目導向、頂崗實習等有利于增強學生能力的教學模式。為此,一要完善課堂教學實訓、階段實訓、綜合模擬實訓、產學合作、頂崗實習、社會調研等多種形式的實踐教學體系,培養學生的崗位適應能力與創新能力;二要建設融實踐教學、職業素質養成、職業能力培養、師資培訓、技能鑒定等多功能于一體的校內外實習實訓基地。以下將具體的從四個方面進行闡述。
(一)進行專業教學改革
高等職業教育肩負培養面向生產、建設、管理和服務第一線所需的高素質技能型人才的重任。軟件技術專業人才培養必須從市場的人才需求調查入手,及時跟蹤市場的人才需求變化,根據需求人才的職業崗位群及所需能力設計課程體系、安排教學內容。在撰寫人才培養方案時,借助于在教師工作站對軟件技術專業職業崗位的能力、知識要求的準確把握,制訂出符合企業需要的人才培養方案,使軟件技術專業的教學改革能夠緊緊地圍繞培養目標以崗位需求為導向、專業以行業發展為定位、課程設置以能力培養為本位、教學過程以職業活動為主線、質量評價以職業規范為標準。通過人才培養模式、教學方法改革,突出學生職業能力培養,提高學生的綜合素質。
(二)邀請企業專家走進課堂
通過進站學習交流,在以后的教學過程中,邀請一部分專家走進課堂,有效參與學院的專業建設、課程改革、學生實訓以及一定數量的專業課教學等工作,學生由此可以零距離地獲得企業一線高技能人才的指導,縮短了他們在學院習得的知識與企業實際工作的距離,讓學生清晰地知道企業用人的標準,明確學習的目標,激發自己的學習積極性,為他們今后進入企業打下了堅實的基礎。同時,這些企業專家通過教學實踐活動,對學院專職教師起到“傳、幫、帶”的作用,促進、提高了學院廣大專職教師的實踐教學能力和水平。[3]
(三)鼓勵學生到企業去實習鍛煉
目前軟件的應用已經深入到企業、政府及我們日常生活的方方面面,其中大量的開發是由中小型軟件企業承擔的。由于中小型軟件企業在體制、人力資源投入力度和關心程度等方面存在差異,開發軟件產品時與專業軟件企業有很大的不同,因此對中小型軟件企業的軟件項目管理進行研究,有助于提高軟件項目管理水平,增強客戶的滿意度。
1軟件項目管理與中小型軟件企業
軟件項目管理既具有一般項目管理的屬性,又具有其特殊性,軟件項目管理的重點在于標準的制定和推行。為了加強我國軟件業的國際競爭力,需要發展一大批具有遵循開發過程與注重質量的文化氛圍的企業。而制定和推行標準的目的正是要引導軟件企業逐步走向成熟,使其工程和管理水平穩步提高,同時為它們提供全方位的服務,以支持軟件產業的整體發展。
軟件項目管理在20世紀70年代中期引起了廣泛的注意。美國國防部通過研究發現了所謂的“軟件危機”,即“管理是影響軟件研發項目全局的因素,而技術只影響局部”。目前國內的中小型軟件企業,由于其企業規模,研發能力等限制,造成其軟件開發管理的問題非常普遍。不恰當的組織結構,工作流程不規范,缺乏項目管理概念和軟件工程概念等是中小型軟件企業面臨的主要問題。
1.1中小型軟件企業中軟件開發的特點
國內的中小型軟件企業雖然涉足軟件開發業務,但對軟件的認識停留在“程序員編代碼”的水平上。對企業內部的軟件開發缺乏管理意識,具體體現在以下幾方面:首先,項目負責人項目管理經驗不足,項目功能相對較少,涉及面相對狹窄;其次,項目開發人員較少,人員結構簡單;再次,項目進度缺乏控制,項目成本預算較難,缺乏完整的項目文檔;最后,缺乏后續維護。
1.2中小型軟件企業中的軟件開發組織
與專業軟件公司的軟件開發組織相比較,中小型軟件企業中的軟件開發工作機構小、人員少,開發人員待遇低,難以吸引高水平的人才,人才流失率達到50%以上。由于沒有高水平的開發人員和技術管理人員,軟件工作狀況處于初級水平,軟件開發不能按照軟件工程的要求執行。
軟件系統建立過程中需要多方面的人員:需求方人員、懂得軟件項目管理的人員、軟件程序員、系統分析員。普通企業由于對軟件生產不了解,往往由軟件需求方人員對軟件工作直接管理。這個工作顯然超過了其能力范圍,不符合軟件工作的相關原則。業務人員作為項目的負責人,既不能合理地計劃軟件開發工作,也不可能管理好軟件工作中的各種風險,這將使軟件開發處于無序的風險狀態之中。
1.3中小型軟件企業中的軟件開發溝通
在需要團隊協同工作的今天,溝通可以說已經變得無比的重要。在軟件業,溝通可以說是快速學習和掌握新知識,達到技術上更高層次的最佳途徑。如果小組成員在協調上出了漏洞,會導致很大的問題,所以項目負責人必須隨時監控開發人員的工作,包括內容是否與要求發生偏差,進度是否滯后等等。
項目組與組織之間、項目組與項目組成員之間,甚至與一個項目組的不同成員之間,如果沒有足夠的溝通意識和溝通制度、溝通工具,就有可能造成信息不暢,從而加大項目失敗的風險。中小型軟件企業開發人員少,意味著不同人員的程序之間交互、接口相對少一些;缺少文檔資料或者文檔資料不規范也是軟件項目管理中的普遍問題。由于討論時忽略了某些情況,當大家都按當時的分工完成屬于自己的工作后,才發現各個模塊組合起來卻不能形成一個完整的系統。其根源在于沒有一個負責協調的人員不斷監控整個開發過程。一旦有人中途退出開發隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭做起。
1.4中小型軟件企業中的軟件開發工作流程
與一個標準的軟件開發流程相比,中小型軟件企業內部的軟件開發“節省”了不少步驟。例如不經過單元測試而直接進入系統測試等。由于這種測試不完全,真正運行系統,當調用某模塊時,可能大部分時候都是正常數據,極少出現邊界情況,但某些邊界情況容易被忽視,很久之后才被發現。但是如果對每個模塊進行單元測試時都進行邊界測試,就會很容易消除這些隱患。
2中小型軟件企業軟件開發過程改進模型
軟件開發模型是軟件開發全部過程、活動和任務的結構框架。它能直觀表達軟件開發全過程,明確規定要完成的主要活動、任務和開發策略。一個企業的管理,大公司有大公司的方式,小公司也有小公司的模式,如果把別人的經驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件項目也一樣,大項目和小項目的方式不可能完全一樣。但從另一個角度來看,項目的大與小并沒有本質區別,很多方法是共通的。因此為了改進軟件開發過程,可參考模型如圖1
2.1制定軟件開發規范
一切溝通與交流,首先都要有可見的依據,這可以從制定軟件開發規范入手。具體可以從以下四個方面制訂:軟件開發工作流程規范、產品文檔規范、軟件開發文檔規范、開發管理文檔規范。編寫規范,可以參考國家標準的計算機軟件工程規范,也可以結合開發經驗制定出適合本企業使用的開發規范。
詳細制定這些文檔使用方法和規則,要保證文檔便于書寫、形式一致,這不僅要有文字描述,還應制定相關文檔模板,形式上要保證簡潔明了、實用、符合使用習慣。根據項目規模的不同,還可以制定不同的文檔模板,小型項目可以寫一個相對簡化的小型項目文檔,復雜項目可以使用較全面和大型的文檔模板。
2.2軟件開發人員培訓
軟件開發中人的因素占有很大的比重,因此對軟件人員的培訓是非常重要的。一個團體的軟件水平并不是個別程序員的程序水平,而是整體的認識和系統建設的水平。可以先在內部對軟件開發人員進行培訓,內容包括軟件工程、己經制訂的各種規范、項目管理知識。通過共同分析軟件工程對軟件開發和開發者的益處,可以得到開發人員的認同,以便共同遵守和執行初期規范,更好地完成開發目標。
2.3加強軟件生產過程規范性
軟件開發是一個知識密集型領域,對人才的依賴很強。加強生產過程的規范性并規范管理,可以加強人的執行能力。
在中小型軟件企業中,很少有成本核算和嚴格的進度控制。影響項目的因素也比較多:需求的提出比較隨便,甚至業務需求還不明確的時候就要求程序員開始編程序,沒有合理的措施控制透徹的分析業務需求;時間進度由領導規定,而不是根據需求客觀確定,這樣使軟件質量根本無法保障。因此要通過加強管理使軟件開發過程可視化,軟件開發工
作協調、有效。
在規則明確、組織機構確定、有一定的理論認識之后,可以通過一些管理要求,強制執行軟件工程的一些基本過程,要求的提出要簡單明了。例如:項目要有正式立項啟動、項目結項,有時間控制要求、計劃要求。要求項目有開發計劃,計劃中確定開發工作的人員保障、開發周期、開發進度計劃,并允許項目進行中在一定范圍內調整計劃與進度。上級領導也應出面協調和幫助解決相應問題。
2.4軟件配置管理機制
軟件開發不是一個短期行為,但是,由于許多開發工作因缺少管理而成為個人行為,對于軟件成果沒有保護意識,更不能達到軟件的共享與重用。通過“統一配置管理”這一具體的做法,能夠強化軟件完成后的總結工作。
建立基本的軟件配置管理機制,在開發中和開發后都要求程序員及時備份源文件。進行這項工作要首先選擇一套適合的配置管理軟件,如Visual SourceSafe、cvs(Concurrent Versions System)等。項目主管應該要求程序員在開發全過程中使用軟件來管理源文件,在全過程的配置管理的基礎上,整個項目組更容易完成統一編碼、測試組裝產品等工作。
以上步驟,可以保障內部開發工作達到初級的項目可視化,在軟件開發部門內部建立起對滿足業務需求完成的信心,以滿足業務需求的承諾。通過這些工作,可以在企業內獲得對軟件規范性的一定認識以及對執行方式的認同,這對軟件開發工作會有不同程度的幫助。
2.5持續改進過程和管理模型
2信管專業的計算機教育總體規劃
2.1課程體系設置
課程體系是幫助學生建立完整知識結構的前提條件,如何理順本專業的課程體系是提高計算機教育水平的關鍵問題[3]。根據信管專業的培養目標,相應的計算機教育理論體系應分為計算機基礎課程模塊、信息管理課程模塊、計算機軟件開發核心課程模塊和信息系統應用模塊4個層次。(1)計算機基礎課程模塊,包括計算機專業的基礎課程:C/C++語言程序設計、數據結構與算法、操作系統、計算機組成原理和計算機網絡技術等。(2)信息管理課程模塊,包括信息加工、管理、使用方面的課程,如信息化概論、信息資源開發與管理、信息組織、信息檢索等,或根據院校特點開設有領域特色的信息化概論課程,如醫院信息學等。(3)計算機軟件開發核心課程模塊,主要學習各種常用的系統開發技術,包括C#應用編程、Java網絡編程技術、Web數據庫應用系統開發等。(4)信息系統應用模塊,包括管理信息系統、信息系統分析與設計、信息系統安全、信息系統項目管理。
2.2專業方向的設置
本專業的社會崗位需求多層次。在企事業單位信息化建設實施中,既需要信息系統開發人才,也需要信息化工程管理人才,信息化系統實施后還需要網絡管理和維護人才。因此在培養模式上設置3個專業方向,分別為:系統開發方向、網絡管理方向、信息管理方向。3個方向的知識結構有所不同:系統開發方向培養技術型人才,主要掌握各種系統開發技術;網絡管理方向培養工程型人才,主要掌握網絡工程管理和信息安全維護;信息管理方向培養復合型人才,主要學習如何用信息系統支撐先進的管理思想。3個方向都必須將信息系統應用模塊的課程作為必修課程,將管理思想和計算機技術知識有機地協調配合起來。與前兩類人才相比,復合型人才更具有競爭力。他們具有信息分析能力與企業管理創新的知識,是具有駕馭信息資源知識與能力的新型管理人才。學生可以根據自己的興趣來選擇發展方向,無論哪種類型人才,掌握一種系統開發技術都是進入企業就業的敲門磚。根據以上兩點,我們設計了信息管理與信息系統專業的計算機教育的課程體系,每一層開設具有代表性的課程。
3建立提高軟件開發能力培養體系的改革實踐
3.1創新基礎課程教學,注重程序設計邏輯思維訓練基礎課程是一個專業的基石,基礎是否學好直接影響學生對后續課程的學習興趣和未來的職業定位。因此要強化基礎教學,鼓勵教師進行創新教學,引入先進可行的教學方法,并在教學中注意培養學生的職業關鍵能力。所謂學生的職業關鍵能力是指學生從事軟件開發職業所具有的職業素養,包括邏輯思維能力、舉一反三能力、自學和獨立解決問題能力、對軟件開發工作的興趣等。在基礎課程中,程序設計課程是軟件開發人才培養課程體系中不可或缺的組成部分,它的教學效果直接影響著軟件開發人才培養的成敗,其最終目的是培養軟件工具應用者的程序設計能力和程序設計思維。在授課過程中,教師往往陷入一個誤區:過于注重語句、語法等程序設計語言所涉及基本概念的講解,忽視在構建程序過程中應用于分析、解決問題的一種邏輯思維的訓練,忽視對整體知識綜合應用能力的訓練。這種“只見樹木,不見森林”的教學就是造成學生動手解決實際問題能力差的直接原因。因此程序設計課程教學中應注重把握兩個方面的平衡:(1)專業技能培養目標要清晰。教學不僅要注重單項知識的講解練習,更要加大對應用整體知識的能力訓練及解決問題的思維訓練。(2)專業技能教學要與職業關鍵能力培養有機結合。在教學組織形式上,吸納軟件企業的工作模式應用于教學;在教學設計上,應把持知識的整體與局部關系,靈活應用各種教學方法和手段來優化課堂教學。學生在學習、實踐的雙環節中,也要完善自身知識結構,構建自主工作行為。
3.2以項目驅動教學法來設計應用類專業課程
項目驅動式教學法是一種行為引導式的教學形式,是以項目為主體的職業行為引導的教學方式,是一種通過組織學生真實地參加項目設計、履行和管理,完全在項目實施過程中完成教學任務的過程[4]。項目教學法通過項目對學生進行工程設計和綜合能力的全面培養,是實現高校畢業生和企業無縫銜接的最好的教學方法之一。在面向應用的專業課程中,網絡編程技術、Web數據庫應用等課程比較適合項目教學法,這些課程直接面向應用,與日常生活和工作息息相關,偏重于實踐,學生比較感興趣。首先選擇合適的項目。教師所選的項目要貼近實際,可以從科研課題、技術開發項目或社會實際需要中選擇,項目規模適中,太大或太復雜都不利于教學。所選項目最好是教師熟悉或親自開發過的,這樣對項目的開發流程和可能遇到的問題有充分的認識和準備,能在學生學習過程中給予指導和幫助,有利于項目教學法的順利開展。其次制訂教學計劃。教師要制訂教學計劃,案例項目中要包含該課程的主要知識點,同時準備相關的學習資料,以供學生在項目開發中查閱,拓展其知識面,培養學生獨立解決問題的能力和自學能力。然后實施項目教學法。在開展一門全新課程時,學生一定是感到抽象和困難的。教師先將項目分成幾個模塊,每個模塊的功能應該類似,選取其中一個模塊逐步進行分析、演示其開發過程;學生進行項目模仿開發。模仿是一個很好的學習過程,學生從中既可以掌握各個環節的知識點,又可在項目的成功中增強自信,激發創作興趣,從而主動學習并拓展知識面。在一個完整的模塊演示教學完以后,大部分的課程知識點也已經完成教學,學生將參照模仿或自我創新來完成其他模塊的編寫,然后把各個模塊整合起來,形成一個完整的項目。在這一過程中,學生不但快速完整地學習到一個系統的開發過程,還可以舉一反三,運用到其他案例項目上。最后進行項目總結和評價。項目完成后,組織教師對學生項目進行評價,給出指導和建議,并進行項目總結和知識的歸納,鼓勵學生對項目進行完善和擴展,擴充知識點,增加分析問題、解決問題和自我學習的能力。項目教學法將一個應用課程的教學建立在一個工程項目的完整開發過程上,充分體現了“做中學”和“學中做”的特點,有力地調動了學生的興趣,激發了學生潛力,使枯燥無味的理論學習變成了一次有實際意義的工程實踐。學生不但獲得了寶貴的工程實踐經驗,還鍛煉了獨立分析、解決問題的能力和自學能力,也通過項目的成功開發增加了軟件開發的興趣,利于日后選擇從事軟件開發或相關行業的工作,從而達到培養學生職業素養的目的。
3.3建立與企業無縫銜接的實踐教學平臺
實踐教學環節在這里指畢業生在最后一年或兩年所進行的生產實習或頂崗實習。這是本科教育的最后一個重要環節,它將決定畢業生能否獲得真正的實踐經驗,勝任工作崗位,贏得就業。正如前文所述,目前大多數信息管理專業的畢業生存在種種缺陷,以致就業比較困難。那么癥結就在于將畢業生推向社會前的最后一個實踐環節沒有做好。為了改變現狀,建立一個與企業無縫銜接的實踐教學平臺將是一個很好的解決方案。與企業無縫銜接是指學校按照企業對人才的要求進行培養,如訂單式培養或崗位性培養,用真實的項目或工作環境打造、鍛煉人才,使其既有理論又有管理實踐經驗,同時具有本專業的職業關鍵能力和發展潛力。建立與企業無縫銜接的實踐教學平臺的途徑有:1)校企合作辦學,共同培養學生,縮短與企業的“最后一公里”路程。目前社會上有許多培訓機構可以對學生進行就業前的技術培訓,價格不菲,但還是很受歡迎。因為培訓機構能提升他們的能力,帶給他們實際的實踐經驗,從而增加就業機會,甚至可以推薦就業。盡管學校在教學和體制上做了許多改革和努力以使我們的畢業生盡量找到工作,但社會的需求是多變的,技術的進步是變化的,學校的腳步總是落后的,當然也包含個人對自我要求,因此技術培訓機構才會盛行。與社會培訓相比,有些軟件培訓機構則和學校進行合作辦學,幫助培養學生。由于培訓機構的項目實踐環境比較真實,甚至是培訓機構所接項目的一部分,而且師資是來自一線的開發人員,所營造的實踐教學環境自然比學校教師所營造的要好,使學生將來更能適應工作環境。與培訓機構聯合辦學是“雙贏”的,首先,培訓機構獲得了長期穩定的生源,可以降低同行業的培訓費用,這對學生是有益的。其次,學校通過培訓機構合作,首先促使本校教師學習先進的技術提高教學水平,第二,使本校學生更好地就業或發展,樹立榮譽,發展更多生源,促進本專業的發展,第三,可以監督培訓機構使其保持高質量的教學培訓水平,否則不繼續合作。此外,校企合作辦學機制應該是靈活的,學生可以依據所選的專業方向自由地選擇參加或不參加。校企合作辦學是一個趨勢,例如青島大學計算機學院就與印度IT公司合作,訂單式培養軟件開發人才,學費每年高達9000元,招生人數多達350人。所以作為學校一方可能要更多地考慮自身在職業教育上的缺陷,為本校學生提供多方位的選擇,特別在教育費用上,社會機構培訓比校企合作辦學的培訓費用肯定更昂貴。2)培養“雙師型”教師,豐富實踐教學內容,與前沿技術發展接軌。實踐教學平臺不僅要有接近實際的教學內容和成熟有效的教學模式,還要有教學經驗豐富和技術過硬的“雙師型”教師,才能保證實踐教學效果。與培訓機構合作固然好,但專業的發展不能依靠外力,還要提高自身的軟硬件實力。長久來看,建立一支技術過硬、教學水平高的“雙師型”實踐教學隊伍是必需的,這是提高學校的軟實力。
3.4促進科技創新體系建設
鼓勵學生參加各種科技創新活動,例如管理類競賽、計算機軟件應用大賽等。對于參賽獲獎的學生給予一定的學分和獎勵,也鼓勵教師積極參與學生的科技創新輔導,無論獲獎與否都給予教師一定的工作量獎勵,從而形成一個積極進取的科技創新環境。鼓勵學生考取相關的職業證書。信息管理專業學生可以考取的職業資格證書有:工業與信息化部組織的“全國計算機軟件開發專業人才(高級/中級)”證書、全國信息化工程師崗位技能證書(軟件管理)(中級)、信息系統項目管理師、網絡工程師、信息系統監理師、人力資源與社會保障部組織的“助理企業信息管理師(三級)”證書、企業人力資源管理師(四級)。職業證書表明了一個行業的職業標準,通過考取職業證書的學習,使學生了解市場對就業者的勞動技能要求、促使自己提高職業修養,建立全面系統的職業知識體系。
2學校投入不足
軟件實訓過程中需要使用最新軟件開發技術和開發工具,這些軟件和工具往往對計算機配置要求也很高,為了保證能正??焖俚剡\行這些軟件,實訓室中的計算機就需要和軟件保持同步更新,學校很多實訓室存在老化和更新不及時的現象,造成很多新的軟件不能安裝和運行、或者運行速度慢的情況,影響了課程教學質量和學生學習的積極性。在高職學生進行軟件開發的過程中,教師不僅僅要指導學生,還要對學生的開發工作進行監督和對開發進程進行監控,以保證學生軟件開發工作的進度以及所開發軟件系統的質量。這需要教師投入大量的時間去跟蹤和監督,但是我們大多數教師都承擔了很繁重教學任務,實訓也似乎成了教師業余時間的工作,很難滿足學生的需求,也不能很好地監控每一個小組所有成員的開發工作。
項目管理是在一定的約束條件下,以高效率地實現項目業主的目標為目
的,以項目經理個人負責制為基礎和以項目為獨立實體進行經濟核算,并按照項目內在的邏輯規律進行有效的計劃、組織、協調、控制的系統管理活動。
2、為什么要有項目管理?
沒有項目管理,項目也有可能成功。但沒有管理的項目,很難保證項目
的利潤空間,對公司來說,虧損的風險就大。所以我們要有項目管理,以保證公司在總體上是盈利的,注意不是每一個項目都要盈利。
另外,有了項目管理,就有了管理改進的基礎,無論剛開始的項目管理多么糟糕,只要有管理,就有了改進的可能性,至于能不能得到改進,以及改進的快慢,則取決于兩個因素:一個是人,特別是各級管理者;另一個是利益。關鍵是“利益”,準確的說是“利益的分配”,在權責利明確的前提下,人才能充分的發揮作用。還需要指出的是“利益”是多元的,這里的多元不僅指利益的具體形式,而且指利益的受眾是多元的,包括客戶方相關人員個人的利益。
3、項目管理的發展與現狀。
今天,項目管理作為一種現代化管理方式在國際上已獲得了廣泛的應用,從最初的國防、航天、建設工程領域,迅速發展到電子、通信、計算機、軟件開發、金融等行業以及政府機關的項目管理工作。隨著計算機、網絡系統的迅速發展,項目管理技術的不斷進步,項目管理軟件產品層出不窮,其功能、特點、應用對象也各不相同。當前,越來越多的企業和組織在內部推廣項目管理的理論方法及管理模式,如果都采用項目管理軟件進行管理,效果就更加明顯,可以節省大量的資源和財富。國外90%以上的項目管理都采用軟件進行,但我國在這方面的應用還不到10%。新世紀項目管理在中國的迅速興起,給軟件企業的發展帶來了前所未有的發展機遇。
項目管理在軟件開發中的應用的成因
隨著信息技術的飛速發展,軟件產品的規模也越來越龐大,個人單打獨斗的作坊式開發方式已經越來越不適應發展的需要。各軟件企業都在積極將軟件項目管理引入開發活動中,對開發實行有效的管理。從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明這個企業的軟件生產越趨向于成熟,企業越能夠穩定發展(即減小開發風險)。同時,隨著軟件開發規模及開發隊伍的逐漸增大,軟件開發不再是向過去那樣一二個開發人員即可解決的事情。迫切需要一種開發規范來規范每個開發人員、測試人員與支持人員的工作,每個項目組成員按約定的規則準時完成自己的工作。同時采用規范化管理,專業分工也可以降低對開發人員的要求,從而降低產品研發成本。
軟件開發是一項復雜的系統工程,牽涉到各方面的因素,實際工作中,經常會出現各種各樣的問題,甚至面臨失敗。如何總結、分析失敗的原因,得出有益的教訓,對一個公司來說,是在今后的項目中取得成功的關鍵。
早在20世紀60年代中期,人們就發現軟件的生產出現了“問題”,主要表現在生產過程不規范,缺乏管理。后來,人們在軟件工程方法學中引入了工程的概念、原理、技術和方法,這種思想在一定程度上解決了軟件生產過程中遇到的問題。但是直至80年代還是沒有提出一套管理軟件開發的通用原則,軟件管理不善的問題依舊在大范圍內存在。
目前的軟件開發正逐步趨向于復雜化、多元化,大多數開發團隊中都會出現同時開發多個版本、開發/維護工作并存、多地點同時開發等情況,給軟件開發管理帶來了前所未有的困難。如果管理不善,必將造成版本混亂,各個開發人員的工作相互交叉、干擾,整個開發團隊的工作在一種無秩序的不良狀況下運行,嚴重影響軟件產品開發的進度和質量。
因此,隨著軟件開發的深入、各種技術的不斷創新以及軟件產業的形成,人們越來越意識到軟件過程管理的重要性,管理學的思想逐漸融入軟件開發過程中,應用開發的項目管理日益受到重視。而項目管理技術的發展與計算機技術的發展是密不可分的,隨著計算機性能的迅速提高,大量的項目管理軟件涌現出來。它們可以用于各種商業活動,提供便于操作的圖形界面,幫助用戶制定任務、管理資源、進行成本預算、跟蹤項目進度等。
軟件項目管理常見問題及解決方案
對于軟件開發項目中,經常出現兩種極端情況,一種是創造了新的生產率和質量的紀錄;一種則完全是一場災難,不是被取消就是拖延很長時間。前者如在很短的時間內,為了趕進度,在幾乎不可能的時間內開發出一套軟件產品,創造了軟件開發的記錄,滿足了上級所要求的上機日期,由于開發時間太短,過于倉促,上機時,問題百出,試運行時間長達幾個月或一年半載的,而且程序一改再改,維護工作量大。
后者,如某套系統未弄清楚需求,或因設計問題,開發失敗。通過提煉這些成功和失敗的例子,軟件項目成功或失敗的根本原因可能會更清晰一些。
目前我國大部分軟件公司,無論是產品型公司還是項目型公司,都沒有形成適合自己公司特點的軟件開發管理模式,雖然有些公司根據軟件工程理論建立了一些軟件開發管理規范,但并沒有從根本上解決軟件開發的質量控制問題。這樣導致軟件產品質量不穩定,軟件后期的維護、升級出現麻煩,同時最終也會損害用戶的利益。
分析目前項目管理需要改進的問題可以從幾種相關角色的角度去考慮:項目經理、項目組成員、公司管理人員、市場人員、客戶等。
問題一:缺乏項目管理系統培訓(相關對象:項目經理、管理人員)
項目經理在項目管理方面的培訓較少或不夠系統。項目經理或管理人員不了解項目管理的知識體系和一些常用工具和方法,所以在實際工作中沒有項目管理知識的指導,完全依靠個人現有的知識技能,管理工作的隨意性、盲目性比較大。在軟件企業中,以前幾乎沒有專門招收項目管理專業的人員來擔任項目經理(甚至很少是管理專業的),被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是項目管理方面的知識比較缺乏。
解決方案:項目經理接受系統的項目管理知識培訓是非常必要的,有了專業領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項目經理的項目管理水平。應實行項目經理知識技能資格考核制度,讓項目經理自覺補充學習項目管理的知識和一些常用工具和方法。
問題二:項目計劃意識問題(相關對象:項目經理)
項目經理對總體計劃、階段計劃的作用認識不足。項目經理認為計劃不如變化快,項目中也有很多不確定的因素,做計劃是走過場,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。沒有計劃或者是隨意的不負責任的計劃的項目是一種無法控制的項目。
解決方案:在高技術行業,日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事后的評估。
問題
三、管理意識問題(相關對象:項目經理)
部分項目經理沒有意識到自己項目經理的角色,從總體上去把握管理整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。在軟件企業中,項目經理大多是技術骨干,技術方面的知識比較深厚,但無論是項目管理知識,還是項目管理必備的技能、項目管理必備的素質都有待補充和提高,項目管理經驗也有待豐富。有些項目經理對于一些不服管理的技術人員,沒有較好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解結構設計的合理性,項目任務無法有效、合理地分配給相關成員,以達到“負載均衡”。
解決方案:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經理更好地做好項目管理工作。技術骨干在擔任項目經理之前,最好能經過系統的項目管理知識,特別是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經驗,提高項目管理意識。
問題四:溝通意識問題(相關人員:項目經理、項目組成員)
在項目中一些重要信息沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重復勞動,甚至造成不必要的損失;有些人沒有每天定時收郵件的習慣,以至于無法及時接收最新的信息。
解決方案:制定有效的溝通制度和溝通機制,對由于缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識;溝通方式應根據內容而多樣化,講究有效率的溝通;通過制度規定對由于未及時收取郵件而造成損失的責任歸屬;對于特別重要的內容要采用多種方式進行有效溝通以確保傳達到位,例如除發送郵件外還要電話提醒、回執等,重要的內容還要通過舉行各種會議進行傳達。
問題五:風險管理意識問題(相關人員:項目經理)
項目經理沒有充分分析可能的風險,對付風險的策略考慮比較簡單。項目經理在做項目規劃時常常沒有做專門的風險管理計劃文檔,而是合并在項目計劃書中。有些項目經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對于后面的風險防范起不到什么指導作用。
解決方案:通過學習項目管理知識掌握風險識別、量化、對策研究、反應控制的工具和方法掌握項目風險管理所必備的知識。通過加強對項目規劃中風險管理計劃的審核提高項目組的風險管理意識。總結本行業項目中常見的風險及其對策作為風險管理計劃中必要的風險內容,并切實評估相應對策的有效性和可行性。
問題六:不重視項目經驗的總結(相關人員:項目經理、管理人員)
項目經理在項目結束時有些是因為自身對寫文檔工作的興趣或意識,或
者是因為緊接著要參加下一個項目,總體對項目總結的重視程度不夠。有些是項目總結報告一再拖延,有些是交上來的報告質量較低,敷衍了事。
解決方案:在制度上鼓勵和加強項目經驗總結工作,使得項目總結及時并且具有指導意義而不是走過場。
問題七:項目干系人相關問題(相關人員:項目經理、項目成員、客戶)
在范圍識別階段,項目組對客戶的整體組織結構、有關人員及其關系、
工作職責等沒有足夠了解以致于無法得到完整需求或最終經權威用戶代表確認的需求。由于項目經理的工作問題,客戶參與程度部不高,客戶方相關責任人不明確或對范圍和要求責任心不強,提出的要求具有隨意性,項目前期對需求的確認不夠積極;或者是多個用戶代表各說各話、昨是今非但同時又要求項目盡早交付;項目后期需求變化隨意,造成項目范圍的蔓延,進度的拖延,成本的擴大。
解決方案:項目的目的就是實現項目干系人的需求和愿望。項目干系人管理應當從項目的啟動開始,項目經理及其項目成員就要分清項目干系人包含哪些人和組織,通過溝通協調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
問題八:項目團隊內分工協作問題(相關人員:項目經理、項目成員)
項目團隊內部有時由于各階段不同角色或同階段不同角色之間的責任
分工不夠清晰而造成工作互相推諉、責任互相推卸的現象,有時各階段不同角色或同階段不同角色之間的責任分工比較清晰但是各項目成員只顧完成自己那部分任務、不愿意與他人協作。這些現象或多或少地造成了項目團隊內部資源的損耗,從而影響了項目的進展。
解決方案:項目經理應當對項目成員的責任進行合理的分配并清楚地說明,同時應強調不同分工、不同環節的成員應當相互協作,共同完善。
以上對軟件開發項目管理中出現的問題的分析還不夠深入,也無法列舉所有遇到或將遇到的問題,解決方案也要根據實際情況進行調整,希望引起對這些問題更多的思考和改進。
結束語:項目管理雖然沒有非常高深的理論,但要真正實施起來,也絕非易事。對于軟件開發企業而言,這不是一個小的改變,而是一種變革,企業需要為此付出艱苦的努力,宣傳并樹立公司范圍內的項目管理文化十分重要。從而在實踐中鍛煉提高,解決各種各樣的問題,使項目管理工作越做越好。
1 現狀分析
當前信息化建設浪潮席卷全球,中國也制定了“加速發展信息產業,大力推進信息化,以信息化帶動工業化”的發展戰略。隨著信息技術的發展,信息化給企業生產和管理帶來了根本性變革,信息技術將企業組織的各種經營管理職能和機制有機結合起來。對企業來說,一個重要的挑戰就是如何改造企業使其有效地運用信息技術,適用信息社會,在全球競爭中立于不敗之地。信息化建設不僅存在技術問題,更需要管理的協調配合,管理的科學化對信息系統有著至關重要的影響。信息管理與信息系統專業是一個管理科學與計算機信息技術相結合的專業,所培養出來的學生應該是既懂管理又懂計算機技術的應用型人才,在當前企事業單位的信息化建設中應最能發揮本專業人才所具有的專業技能和職業素養。
然而,信息管理與信息系統專業畢業生在應聘工作崗位時卻常常遇到尷尬情況:管理技能不如管理專業的學生,計算機技能不如計算機專業的學生,人才市場上很少有專門為信息管理與信息系統專業量身定制的就業崗位。當前我國進入信息化建設的期,需要大量的信息化建設人才,但從我國信息化建設現狀來看,企業內部在信息化建設方面的崗位需求沒有進行專業細分,它將管理信息系統軟件的分析、設計、開發、引進、實施、維護和信息管理等工作需求統歸為做軟件。因此,企業招聘應屆畢業生的入門要求就是能夠編程,包括企業內部覆蓋銷各職能部門的信息系統軟件,也包括企業各層次網站系統開發。而政府機關、事業單位則以網站系統開發和工作流管理為主。
對信息管理專業人才來說,軟件開發技能是未來就業的敲門磚,而管理理論思想和方法的掌握則是其未來成為企業CIO的奠基石。筆者將探討如何進行信管專業計算機課程教育改革,提高學生的軟件開發能力,增加就業機會。
2 信管專業的計算機教育總體規劃
2.1 課程體系設置
課程體系是幫助學生建立完整知識結構的前提條件,如何理順本專業的課程體系是提高計算機教育水平的關鍵問題。根據信管專業的培養目標,相應的計算機教育理論體系應分為計算機基礎課程模塊、信息管理課程模塊、計算機軟件開發核心課程模塊和信息系統應用模塊4個層次。
(1)計算機基礎課程模塊,包括計算機專業的基礎課程:C/C++語言程序設計、數據結構與算法、操作系統、計算機組成原理和計算機網絡技術等。
(2)信息管理課程模塊,包括信息加工、管理、使用方面的課程,如信息化概論、信息資源開發與管理、信息組織、信息檢索等,或根據院校特點開設有領域特色的信息化概論課程,如醫院信息學等。
(3)計算機軟件開發核心課程模塊,主要學習各種常用的系統開發技術,包括C#應用編程、Java網絡編程技術、Web數據庫應用系統開發等。
(4)信息系統應用模塊,包括管理信息系統、信息系統分析與設計、信息系統安全、信息系統項目管理。
2.2 專業方向的設置
本專業的社會崗位需求多層次。在企事業單位信息化建設實施中,既需要信息系統開發人才,也需要信息化工程管理人才,信息化系統實施后還需要網絡管理和維護人才。因此在培養模式上設置3個專業方向,分別為:系統開發力’向、網絡管理方向、信息管理方向。3個方向的知識結構有所不同:系統開發方向培養技術型人才,主要掌握各種系統開發技術;網絡管理方向培養工程型人才,主要掌握網絡工程管理和信息安全維護;信息管理方向培養復合型人才,主要學習如何用信息系統支撐先進的管理思想。3個方向都必須將信息系統應用模塊的課程作為必修課程,將管理思想和計算機技術知識有機地協調配合起來。
與前兩類人才相比,復合型人才更具有競爭力。他們具有信息分析能力與企業管理創新的知識,是具有駕馭信息資源知識與能力的新型管理人才。學生可以根據自己的興趣來選擇發展方向,無論哪種類型人才,掌握一種系統開發技術都是進入企業就業的敲門磚。
根據以上兩點,我們設計了信息管理與信息系統專業的計算機教育的課程體系,每一層開設具有代表性的課程,如圖1所示。
3 建立提高軟件開發能力培養體系的改革實踐
3.1 創新基礎課程教學,注重程序設計邏輯思維訓練
基礎課程是一個專業的基石,基礎是否學好直接影響學生對后續課程的學習興趣和未來的職業定位。因此要強化基礎教學,鼓勵教師進行創新教學,引入先進可行的教學方法,并在教學中注意培養學生的職業關鍵能力。所謂學生的職業關鍵能力是指學生從事軟件開發職業所具有的職業素養,包括邏輯思維能力、舉一反三能力、自學和獨立解決問題能力、對軟件開發工作的興趣等。
在基礎課程中,程序設計課程是軟件開發人才培養課程體系中不可或缺的組成部分,它的教學效果直接影響著軟件開發人才培養的成敗,其最終目的是培養軟件工具應用者的程序設計能力和程序設計思維。在授課過程中,教師往往陷入一個誤區:過于注重語句、語法等程序設計語言所涉及基本概念的講解,忽視在構建程序過程中應用于分析、解決問題的一種邏輯思維的訓練,忽視對整體知識綜合應用能力的訓練。這種“只見樹木,不見森林”的教學就是造成學生動手解決實際問題能力差的直接原因。因此程序設計課程教學中應注重把握兩個方面的平衡:
(1)專業技能培養目標要清晰。教學不僅要注重單項知識的講解練習,更要加大對應用整體知識的能力訓練及解決問題的思維訓練。
(2)專業技能教學要與職業關鍵能力培養有機結合。在教學組織形式上,吸納軟件企業的工作模式應用于教學;在教學設計上,應把持知識的整體與局部關系,靈活應用各種教學方法和手段來優化課堂教學。學生在學習、實踐的雙環節中,也要完善自身知識結構,構建自主工作行為。
3.2 以項目驅動教學法來設計應用類專業課程
項目驅動式教學法是一種行為引導式的教學形式,是以項目為主體的職業行為引導的教學方式,是一種通過組織學生真實地參加項目設計、履行和管理,完全在項目實施過程中完成教學任務的過程。項目教學法通過項目對學生進行工程設計和綜合能力的全面培養,是實現高校畢業生和企業無縫銜接的最好的教學方法之一。在面向應用的專業課程中,網絡編程技術、web數據庫應用等課程比較適合項目教學法,這些課程直接面向應用,與日常生活和工作息息相關,偏重于實踐,學生比較感興趣。
首先選擇合適的項目。教師所選的項目要貼近實際,可以從科研課題、技術開發項目或社會實際需要中選擇,項目規模適中,太大或太復雜都不利于教學。所選項目最好是教師熟悉或親自開發過的,這樣對項目的開發流程和可能遇到的問題有充分的認識和準備,能在學生學習過程中給予指導和幫助,有利于項目教學法的順利開展。
其次制訂教學計劃。教師要制訂教學計劃,案例項目中要包含該課程的主要知識點,同時準備相關的學習資料,以供學生在項目開發中查閱,拓展其知識面,培養學生獨立解決問題的能力和自學能力。
然后實施項目教學法。在開展一門全新課程時,學生一定是感到抽象和困難的。教師先將項目分成幾個模塊,每個模塊的功能應該類似,選取其中一個模塊逐步進行分析、演示其開發過程;學生進行項目模仿開發。模仿是一個很好的學習過程,學生從中既可以掌握各個環節的知識點,又可在項目的成功中增強自信,激發創作興趣,從而主動學習并拓展知識面。在一個完整的模塊演示教學完以后,大部分的課程知識點也已經完成教學,學生將參照模仿或自我創新來完成其他模塊的編寫,然后把各個模塊整合起來,形成一個完整的項目。在這一過程中,學生不但快速完整地學習到一個系統的開發過程,還可以舉一反三,運用到其他案例項目上。
最后進行項目總結和評價。項目完成后,組織教師對學生項目進行評價,給出指導和建議,并進行項目總結和知識的歸納,鼓勵學生對項目進行完善和擴展,擴充知識點,增加分析問題、解決問題和自我學習的能力。
項目教學法將一個應用課程的教學建立在一個工程項目的完整開發過程上,充分體現了“做中學”和“學中做”的特點,有力地調動了學生的興趣,激發了學生潛力,使枯燥無味的理論學習變成了一次有實際意義的工程實踐。學生不但獲得了寶貴的工程實踐經驗,還鍛煉了獨立分析、解決問題的能力和自學能力,也通過項目的成功開發增加了軟件開發的興趣,利于日后選擇從事軟件開發或相關行業的工作,從而達到培養學生職業素養的目的。
3.3 建立與企業無縫銜接的實踐教學平臺
實踐教學環節在這里指畢業生在最后一年或兩年所進行的生產實習或頂崗實習。這是本科教育的最后一個重要環節,它將決定畢業生能否獲得真正的實踐經驗,勝任工作崗位,贏得就業。正如前文所述,目前大多數信息管理專業的畢業生存在種種缺陷,以致就業比較困難。那么癥結就在于將畢業生推向社會前的最后一個實踐環節沒有做好。為了改變現狀,建立一個與企業無縫銜接的實踐教學平臺將是一個很好的解決方案。與企業無縫銜接是指學校按照企業對人才的要求進行培養,如訂單式培養或崗位性培養,用真實的項目或工作環境打造、鍛煉人才,使其既有理論又有管理實踐經驗,同時具有本專業的職業關鍵能力和發展潛力。
建立與企業無縫銜接的實踐教學平臺的途徑有:
1)校企合作辦學,共同培養學生,縮短與企業的“最后一公里”路程。
日前社會上有許多培訓機構可以對學生進行就業前的技術培訓,價格不菲,但還是很受歡迎。因為培訓機構能提升他們的能力,帶給他們實際的實踐經驗,從而增加就業機會,甚至可以推薦就業。盡管學校在教學和體制上做了許多改革和努力以使我們的畢業生盡量找到工作,但社會的需求是多變的,技術的進步是變化的,學校的腳步總是落后的,當然也包含個人對自我要求,因此技術培訓機構才會盛行。與社會培訓相比,有些軟件培訓機構則和學校進行合作辦學,幫助培養學生。由于培訓機構的項目實踐環境比較真實,甚至是培訓機構所接項目的一部分,而且師資是來自一線的開發人員,所營造的實踐教學環境自然比學校教師所營造的要好,使學生將來更能適應工作環境。與培訓機構聯合辦學是“雙贏”的,首先,培訓機構獲得了長期穩定的生源,可以降低同行業的培訓費用,這對學生是有益的。其次,學校通過培訓機構合作,首先促使本校教師學習先進的技術提高教學水平,第二,使本校學生更好地就業或發展,樹立榮譽,發展更多生源,促進本專業的發展,第三,可以監督培訓機構使其保持高質量的教學培訓水平,否則不繼續合作。此外,校企合作辦學機制應該是靈活的,學生可以依據所選的專業方向自由地選擇參加或不參加。
校企合作辦學是一個趨勢,例如青島大學汁算機學院就與印度IT公司合作,訂單式培養軟件開發人才,學費每年高達9000元,招生人數多達350人。所以作為學校一方可能要更多地考慮自身在職業教育上的缺陷,為本校學生提供多方位的選擇,特別在教育費用上,社會機構培訓比校企合作辦學的培訓費用肯定更昂貴。
2)培養“雙師型”教師,豐富實踐教學內容,與前沿技術發展接軌。