如何看待大學裡的軟體工程、IT項目管理等課程?
兩個方面
1.講這兩門課程的很多老師沒有真正做過軟體項目,真正進行過IT項目管理,那麼這兩門課程究竟能夠講出多少東西。2.聽課的學生沒有實際項目演練機會,學的東西沒有辦法馬上進行實踐。
這兩門課程都相當重要,對於軟體工程來說從理論層面基本還是有聽的必要。對IT項目管理來說基本了解個大概就行了,IT項目管理如果沒有和實際結合,存理論上的講授基本沒有太大意義。而且也很難真正理解為何需要這樣的管理流程,管理方法和工具,技術標準等。軟體工程,項目管理。
這些個課程很重要很有用,但是大學裡面教,基本無效————實際上甚至公司裡面培訓,很多情況下都無效。原因之一,是理論和現實被割裂。沒有實際上參與過一個項目工程,則所有的概念都只是些文字而已,自然更談不上深刻理解「為什麼」會存在這些概念/要求/規定了。
原因之二,是現狀往往和理論差距過大。實際上很多人工作多年,也不見得能理解這些課題。很多IT項目,基本上是「錯誤大薈萃」,甚至可能把人帶的跑偏了。實際上作為不成文的共識,搞這一行的都知道,書里描寫的,何止是「理想狀況」,簡直就是從未出現過的「夢想」。就個人經驗而言,我在學校也學了、在公司也培訓了,然而卻是多年以後的一些其他要素,使得我真的開始跨越懵懂,逐漸理解了一點點。第一個契機是,我做Manager,身上開始背負成本。真金白銀的壓力,足以使菜鳥變成老油條。於是從項目還沒開始,到項目結束很久之後,一直都在錙銖必較,和老闆/客戶/成員之間,做無休止的苦戰。正如小說家言:
我的前面是聰明的敵人,後面是無能的同伴,我必須同時與這兩者博斗。什麼代碼框架、設計思想,都被丟到了九霄雲外,每天為進度/功能/成本,而絞盡腦汁。這也就意味著,除非天賦異稟無師自通的能人異士,其他的凡人們,只有置身於真實而強大的壓力之下,才能體會到前人總結出來的《軟體工程》《項目管理》這些東西,豈止是字字珠璣,簡直是滿篇血淚啊。學校裡面這種「過家家」做遊戲一樣的教授,基本上只能算蜻蜓點水,最多能給學生留個印象,知道世界上還有這麼一種東西,僅此而已。
抱歉,我的回答可能不是你所需要的答案。我覺得這類課程對項目而言是很重要的。但是我希望這些課程設置能夠與實戰結合在一起。脫離實踐的純講解沒有意義。
至少有一個機會讓你知道這些東西,以後碰到問題了可以去查。
軟體項目管理以及同樣老師教授的項目實訓 ,是我本科期間上過的最有價值的課程之一。
最大的價值就是讓我了解到現實生活中的 pro 是如何做軟體開發的。課程的老師項目經驗很豐富:澳洲IBM、香港政府顧問、對日外包、PMP講師,講起課來旁徵博引,大量第一手的流程、文檔、數據。我真切感受到了開發流程、需求管理、質量控制的作用,這些概念並不是一群人窩實驗室里憋出來混paper的,大多數都是對工業界經驗的總結。
這讓我在學校的時候,就有了很正的三觀:在軟體開發的過程中,編碼從來都不是最重要的。後一門課的主要形式是老師充當老闆,學生分組,組長充當項目經理,一學期完成一個小項目。聽起來是很贊的,但限於時間有限、學生水平不高,最後也不過是過家家而已。所以雖然老師很贊,這門課對提高實際能力並沒有什麼幫助。
軟體工程及後續的需求工程、軟體過程,是由學院的神牛教的,該神牛研究給軟體過程建模以實現自動演化遺留系統,理論造詣極高,上課的感染力也很強,不過這幾門課留給我的印象是無窮無盡的GB文檔,哎,想起來都要做惡夢。
寫得亂亂的,也沒什麼統一的觀點,因為這本身就是個小馬過河的事兒。恩,就這樣了。當然是非常有用的。
我同意上面的說法,理論要結合實踐。不只是IT項目管理或者軟體工程,知難行易是這世上所有工作的準則。可是對於IT從業人員來說,或者對於學生來說,都是先學習再實踐的。
重要的不是先學還是先實踐,而是要從實踐中反思,從學習中進步。實踐中遇到的問題,要從理論和實踐兩個方面去尋找答案。如果你沒有上過這些課程,就需要重新學習。可是在日常工作中,遇到了實際問題,能給你解決問題的時間是不多的,所以未必來得及重新學習。
推薦閱讀:
※如何做好PMO,PMO分哪些方面?
※假設某天全世界所有的軟體全部消失了,該如何從頭再來?
※有哪些常用卻不為外行人所知的工具軟體?
※Total Commander 為什麼沒有流行起來?
※北京有哪些就業強的軟體設計培訓班?