【摘要】:計算機專業(yè)的學生畢業(yè)后的就業(yè)方向大多和本專業(yè)相關,而用人單位是十分看重學生在校期間的實踐經(jīng)歷的,因此對學生進行真實場景下的實際項目開發(fā)訓練,既是對學生在校期間理論課程學習的一個實踐檢驗,也是為學生將來就業(yè)打下堅實的基礎。學生在校期間并不缺乏實際項目,缺乏的往往是系統(tǒng)性的軟件項目開發(fā)的指導,這也是目前高校普遍存在的問題,如何在新形勢下更好的對學生團隊進行實際項目指導是一項重要的課題。該文從學生、高校、企業(yè)等多個主體的角度進行綜合分析,結合當前軟件開發(fā)的發(fā)展形勢,探索新形勢下高校學生團隊軟件開發(fā)指導的有效方法,該方法在真實項目開發(fā)場景下的運用得到了良好的效果。
【關鍵詞】:軟件開發(fā) 項目指導 學生團隊
1 高校對學生進行實際軟件開發(fā)項目指導的必要性
從企業(yè)的角度來看,大學生剛從學校畢業(yè),實踐經(jīng)驗有所欠缺這點可以理解,但企業(yè)營利性的特點決定了它總是愿意招聘具有實際項目經(jīng)驗的畢業(yè)生,因為有實踐經(jīng)驗就意味著企業(yè)可以在培訓新員工的開銷上得到降低,意味著招聘到的員工馬上可以或者稍加培訓就可以進入到實際工作的狀態(tài),企業(yè)必然更青睞具有實際項目經(jīng)驗的高校畢業(yè)生,因此企業(yè)希望未來的員工在學校階段就能夠接受正式員工在實際工作中開發(fā)項目那樣的指導。
從學生的角度來看,他們渴望參與到實際項目開發(fā)中并且得到充分的指導?,F(xiàn)在學生中流行著這樣一種觀點,在學校學到的知識出到社會后基本用不上,之所以會讓學生產(chǎn)生這樣的錯覺,除了誤傳以及學生自身學藝不精的原因以外,其實學校也該反思原因,雖然課程的設置都是經(jīng)過科學論證的,但為何學生不買賬?究其原因,學生畢業(yè)進入到社會以后,在軟件開發(fā)公司接觸到的都是實際的開發(fā)項目,使用到的技術往往比課堂上講授的更多而且更新,工作的壓力逼迫著他們要不斷學習更多更新的東西,但學校里面更多的是授之以漁而不是授之以魚,因此并不是學校學的用不上,而是學生需要的更多,從這個角度上看,高校確實有必要在學校和社會之間鋪設更合理的緩沖帶,因此高校加強對學生在實際軟件開發(fā)項目上的指導是十分必要的。
2 探索高校對學生進行實際軟件開發(fā)項目指導的方法
針對高校在學生實際軟件開發(fā)項目指導方面存在的問題,提出以下一些解決方法:
一、有前期項目經(jīng)驗的學生團隊。這一類的隊伍相對來說是比較好指導的,首先,有前期的項目經(jīng)驗,不管是真實的項目還是試驗性的項目,這些都能成為團隊成員的經(jīng)驗儲備;其次,有前期的項目經(jīng)驗,說明團隊成員之間已經(jīng)經(jīng)過了充分的交流與磨合,或者已經(jīng)具備了團隊開發(fā)的交流能力,這就大大減少了成員之間磨合花費的時間。對于這一類型團隊的指導,關鍵在于任務的合理劃分,分配,以及在大方向上的指引。首先是任務的合理劃分,對于一個小型的項目,一個人幾乎就可以承擔起項目方方面面的工作,但是對于中型甚至大型項目,再想通過單打獨斗式的開發(fā)已經(jīng)是不可能的事情,而實際項目的規(guī)模往往不會小,因此,如何對項目進行合理的劃分是關鍵的,有兩個要點需要把握,第一點是粒度的把握,所謂粒度就是劃分之后單個任務的大小規(guī)模,粒度過大或者過小都有問題,過大的粒度會導致任務與任務之間的交集過大,這意味著不同人接手的不同任務之間存在著過多重復的部分,導致了重復工作;此外,粒度過大也不利于多任務的并行執(zhí)行,從而由于等待時間過長也導致開發(fā)總時長增加。但是粒度過小也不好,任務劃分得過于精細,一個是不利于任務的快速劃分,另外一個過小的任務裝配起來的時間開銷也會相應的增加。第二點是并發(fā)度的把握,并發(fā)度和粒度也是相關的,前面講到粒度過大不利于任務的并行執(zhí)行,除了粒度要適中以外,項目的合理分解也十分關鍵,好的分解可以把能并行處理的部分和不能并行處理的部分劃分出來,并形成一個表示項目進度的有向無環(huán)圖,這樣一來,既能讓團隊各個成員同時開發(fā)項目,又能把那些無法并行的、卡住項目進度的環(huán)節(jié)重點推進。任務劃分完成之后,接下來就是任務的分配了,對于有前期項目經(jīng)驗的團隊,任務分配相對容易,可以根據(jù)團隊成員以往的開發(fā)經(jīng)歷進行同類型任務的分配。最后還有一個關鍵問題,作為項目指導的老師,雖然不直接參與項目的開發(fā),但是必須要能夠掌握項目總體方向,可以通過每周一到兩次的會議及時掌握項目的進展情況,如果遇到了影響項目進度的問題可以及時解決。
二、沒有前期項目經(jīng)驗或經(jīng)驗不足的團隊。這種情況不能直接套用第一種情況的方法,作為項目指導的老師首先應該對項目進行梳理,把學生現(xiàn)階段能做的事情和不能做的事情區(qū)分開來,基礎性的框架設計任務對于沒有項目經(jīng)驗的學生來說是現(xiàn)階段不能做的事情,比如數(shù)據(jù)庫的設計,即使學生在課堂上學習過一兩個案例,但是在實際項目中這樣的案例是遠遠不夠的,不僅廣度不夠,深度也不夠,如果硬要把這樣的任務分給學生,企圖讓他們在鍛煉中成長,只會導致項目的根基不穩(wěn),大廈轟然倒塌只是時間的問題。所以作為指導老師,一定要在這些關鍵環(huán)節(jié)親力親為,不能撒手不管,在核心環(huán)節(jié)上不一定要把工作全部做完,但一定要把主干做出來,枝葉部分可以讓學生去填充,這樣一來基礎打牢固了,學生也能從中學到東西。再有一個是標準的問題,不同的學生在開發(fā)中會有不同的標準,比如有的變量或者函數(shù)命名是通過下劃線連接各個單詞,而有的則不通過下劃線連接,而是采用首字母大寫的方式區(qū)分各個單詞,這樣一來不同代碼合并在一起會有很大的問題,作為指導老師就應該制定好統(tǒng)一的標準,后面的開發(fā)就必須按照制定好的標準進行,如果團隊成員產(chǎn)生異議要及時排解異議達成共識,以免在后面發(fā)生更大的問題。
【參考文獻】
【1】 馮天驍, 樊志強, 胡雅杰. 互聯(lián)網(wǎng)軟件開發(fā)中的團隊合作和團隊管理——學生感想篇[J]. 計算機教育, 2009, No.105(21):53-54.
【2】 李遠. 敏捷管理方法在軟件開發(fā)中的應用[D]. 北京郵電大學, 2008.
【3】 范俊輝. 軟件開發(fā)項目進度管理[J]. 數(shù)字通信世界, 2018(2).
作者簡介:陳悅(出生年份—1984),男,漢族,廣西梧州。碩士研究生,研究方向:數(shù)據(jù)挖掘、圖像處理、軟件開發(fā),單位:梧州學院,廣西、梧州市。