淺析軟件項(xiàng)目管理中的文檔化進(jìn)程
什么樣的人適合看這篇文章?
1、項(xiàng)目經(jīng)理
2、希望改進(jìn)團(tuán)隊(duì)現(xiàn)狀的技術(shù)人員
3、學(xué)習(xí)軟件工程覺得是一紙空文的大學(xué)生
如果您并不覺得軟件項(xiàng)目管理是一項(xiàng)管人的藝術(shù),請(qǐng)閱讀我剛無(wú)意收集到的一篇文章《一個(gè)敏捷教練中止越軌列車的故事》
眾所周知,軟件的開發(fā)離不開技術(shù),但是也同樣離不開管理。雖然這只是簡(jiǎn)單的一句話,但是不同的人卻對(duì)其有不同的理解,有的人將重點(diǎn)放在“技術(shù)”,有的人則將其放在“管理”。當(dāng)然這樣的判斷都是全然無(wú)效的,首先二者都是必備的,再者由于不同項(xiàng)目的具體細(xì)節(jié)所導(dǎo)致的技術(shù)和管理的比例不盡相同,因此我們只能因地制宜地去創(chuàng)造我們的軟件,締造一個(gè)又一個(gè)的人月神話。
不知道您是通過(guò)什么途徑了解軟件項(xiàng)目管理的呢?以下列出幾種我覺得可能的情況。
1、大學(xué)課本,很多大學(xué)計(jì)算機(jī)專業(yè)都必開軟件工程一門課,其中就對(duì)軟件項(xiàng)目管理大張旗鼓過(guò)。當(dāng)然據(jù)我所知,同學(xué)們往往一無(wú)所知地完成了學(xué)業(yè),因此這門課所給他們帶來(lái)的意義遠(yuǎn)不及生產(chǎn)實(shí)踐。
2、大學(xué)課本,(重復(fù)?NO)很多大學(xué)的管理學(xué)系同樣也開設(shè)同樣的課程,當(dāng)然他們的重點(diǎn)是項(xiàng)目管理,但是也涉及到一些軟件項(xiàng)目管理的項(xiàng)。
3、IT經(jīng)理,也許你認(rèn)識(shí)一些IT經(jīng)理人,他們總告訴你他們的團(tuán)隊(duì)的種種故事,也許你不一定聽得到“軟件項(xiàng)目管理”幾個(gè)字,但是你一定能將他與本條途徑對(duì)上號(hào)。
4、程序員,也許你的朋友正在從事軟件行業(yè),因此他們對(duì)他們團(tuán)隊(duì)所發(fā)生的事也給出了種種說(shuō)法。
5、圖書,當(dāng)然了,這一點(diǎn)很明顯,因?yàn)檐浖袠I(yè)是個(gè)巨大的市場(chǎng),也有很多的學(xué)者投入其中。很可觀的實(shí)際情況告訴我們這類圖書通常依托于一些現(xiàn)實(shí)場(chǎng)景進(jìn)行描述。
……
不再一一列舉。
軟件項(xiàng)目管理,究竟是一門什么樣的學(xué)問(wèn)?
軟件項(xiàng)目管理,究其本質(zhì)其實(shí)是一項(xiàng)管理,它應(yīng)該被描述為一項(xiàng)管理軟件人員協(xié)同工作的職責(zé)。
現(xiàn)代軟件的特征表明,一個(gè)成功的軟件的開發(fā)將不是或至少通常不是一個(gè)人所能夠完成的,而是由軟件團(tuán)隊(duì)協(xié)同完成的。如何組織協(xié)調(diào)軟件團(tuán)隊(duì)有序有效地協(xié)同開發(fā)軟件是軟件項(xiàng)目管理的偉大職責(zé)。我們有理由相信沒有良好的軟件項(xiàng)目管理的團(tuán)隊(duì)是無(wú)法高效地適應(yīng)現(xiàn)代軟件行業(yè)競(jìng)爭(zhēng)的。因此,軟件項(xiàng)目管理的重要性一直被看作軟件工程中的至關(guān)重要的成分而被列入項(xiàng)目經(jīng)理的必修課。
經(jīng)常聽說(shuō),大公司/外企所擁有的是一個(gè)有效的管理團(tuán)隊(duì),從大公司出來(lái)的人,之所以吃香,是因?yàn)樗麄兯δ咳镜墓芾斫?jīng)驗(yàn)?zāi)軌驇?lái)對(duì)新公司生產(chǎn)力的一種提高,或者說(shuō),這層“管理能力”將成為他們夢(mèng)寐以求所鍍的金。
軟件項(xiàng)目管理,不是管技術(shù)的技術(shù),而是管人的藝術(shù)。
說(shuō)說(shuō)我得到的關(guān)于一些外企工作方式的一些例子。一個(gè)知名的外商獨(dú)資跨國(guó)公司軟件部,接受該公司在中國(guó)大陸的軟件業(yè)務(wù)的承接,并完成70%以上的海內(nèi)項(xiàng)目。他們的工作生活在明確的分工之下,從承接項(xiàng)目開始后,順序完成軟件項(xiàng)目的需求,設(shè)計(jì),制作研發(fā),測(cè)試等任務(wù)。期間包括從項(xiàng)目審核開始的各項(xiàng)流程,完成這些前期工作的時(shí)間占用了整個(gè)軟件項(xiàng)目開發(fā)60%以上的時(shí)間,之后才開始代碼的編寫。當(dāng)然設(shè)計(jì)肯定不是***的,期間的修改也是圍著主干道,八九不離十。再經(jīng)過(guò)嚴(yán)格的測(cè)試才有***的軟件產(chǎn)品。這些和我們所得之的許多軟件項(xiàng)目管理書中所提及的比例分配也不謀而合。
國(guó)內(nèi)的情況呢?我們可以說(shuō)現(xiàn)在軟件公司的數(shù)量參差不齊,大小規(guī)模更是另人詫異。我不能一棒敲死所有人,但是我相信很多公司總是這樣:項(xiàng)目經(jīng)理得到項(xiàng)目之后就開始思量著怎么開始這個(gè)軟件的設(shè)計(jì),于是很快召集人馬把數(shù)據(jù)庫(kù)先架起來(lái),然后也寫了一份還算能用上滾動(dòng)條的word文檔,招來(lái)手下,開始給他們講解這個(gè)項(xiàng)目的各個(gè)模塊,之后的工作可想而知,就是進(jìn)入coding。項(xiàng)目很快就落戶VSS了,上面也能找到×××項(xiàng)目需求文檔。
時(shí)間上呢?海外公司可能在項(xiàng)目到手的一個(gè)月內(nèi)一直在寫文檔,導(dǎo)致程序員都不知道自己是不是應(yīng)該換位叫文員,大陸團(tuán)隊(duì),程序員懷著為軟件犧牲的熱情,開始了沒日沒夜的代碼生活,寫的是他們最喜歡的代碼,而不是文檔。
一個(gè)月過(guò)去了,海外公司終于啟動(dòng)了編碼進(jìn)程,而大陸團(tuán)隊(duì)可能已經(jīng)寫完了大部分模塊了。(國(guó)內(nèi)很多項(xiàng)目經(jīng)理本身也就參與編碼工作,并且還是不可或缺的人物)項(xiàng)目經(jīng)理開始逐一查閱成果了,項(xiàng)目經(jīng)理還是資格比較老一點(diǎn)嘛,就開始和手下溝通了,
這個(gè)頁(yè)面怎么這么難看啊?你不覺得這樣很難看嗎?你就不會(huì)……于是,改。
這個(gè)功能好像不對(duì)啊,我上次應(yīng)該是跟你說(shuō)的很清楚了,你怎么忘了?……于是,改。
這個(gè)做的倒是還可以,不過(guò),這里、這里、這里,你不覺得用得很不舒服么?于是,改。
這個(gè),你參考一下我做的×××,我們現(xiàn)在都盡量不用圖片了,你不能跟上一個(gè)項(xiàng)目一樣啊,我們可以變得嘛,我都已經(jīng)改了,你也改成這樣吧,(反駁:不是以前說(shuō)要做成這樣么),那是領(lǐng)導(dǎo)的意思,換用文字不是更直接么?(反駁:可是以前做成這樣就被說(shuō)過(guò)不行的呀),你還是聽我的,改成這樣吧!于是,改。
這個(gè),這樣做不太好,你不覺得不方便么,而且技術(shù)上做的這么復(fù)雜,分開,為什么還沿用以前的××風(fēng)格,現(xiàn)在這個(gè)**風(fēng)格的做法不是很好用么?為什么不用?于是,改。
……
程序員一直納悶,這我也是想了好久的呀,要是換我當(dāng)customer,這樣感覺很好,至少比××樣好,嗨,不過(guò)也只得改,反正按時(shí)間算錢……
根據(jù)要修改的數(shù)量,可能這樣修改的時(shí)間可長(zhǎng)可短。但是新的問(wèn)題又來(lái)了,當(dāng)程序員拿著改好的程序去交差的時(shí)候,項(xiàng)目經(jīng)理又開始指點(diǎn)江山了,當(dāng)然了期間居然還有遺留忘記的問(wèn)題未修復(fù),當(dāng)然,還經(jīng)常由于修改而引入了新的問(wèn)題。于是:你這個(gè)東西你自己都不用一下么?怎么會(huì)這樣!這樣要返工的?。。ǚ瘩g:我剛才沒改這里…¥……%&#)當(dāng)然了,還是得改,再深究,還有好多的問(wèn)題,被項(xiàng)目經(jīng)理“追求***”的眼光所識(shí)破,于是,整個(gè)程序又經(jīng)歷了長(zhǎng)達(dá)大半個(gè)月的施工大功告成了,但處處有著未知引入的種種問(wèn)題。
也許你會(huì)說(shuō)改項(xiàng)目的時(shí)候用重構(gòu),再用測(cè)試去保證自動(dòng)驗(yàn)證,再……,但是現(xiàn)有的框架或許根本不是那塊種菜的沃土,現(xiàn)有的團(tuán)隊(duì),壓根就沒有所謂的測(cè)試技術(shù)予以保證。
從以上的示例中我大致抽檢成以下幾種:
用戶體驗(yàn)
項(xiàng)目也許正朝著“良好用戶體驗(yàn)”的廣告上靠攏,并高談闊論之,但實(shí)際上這些“用戶體驗(yàn)”又僅僅只是某些人的主觀判斷,當(dāng)然在美上,人人都有發(fā)表意見的權(quán)利,但卻不是每個(gè)人都能做出***的決定的。
規(guī)范規(guī)格
沒有明文規(guī)定的內(nèi)容大有死無(wú)對(duì)證的隱患,造成的冤假錯(cuò)案,更是諸多其他問(wèn)題的根源。因?yàn)橐恢痹趶?qiáng)調(diào)是管人的藝術(shù),而人是有思想有主觀能動(dòng)性的行為體。被“冤假錯(cuò)案”搞得一頭霧水的人,可能會(huì)上產(chǎn)生恐懼或排斥的心理,這種心理對(duì)于管人的藝術(shù)是不和諧的,但飲水思源,問(wèn)題是誰(shuí)造成的呢?都?xì)w結(jié)為那個(gè)項(xiàng)目經(jīng)理么?不盡然,更具體地說(shuō)是管理策略上的不嚴(yán)謹(jǐn)造成的。
技術(shù)變革
有效地團(tuán)隊(duì)溝通是團(tuán)隊(duì)管理中必不可少的組成部分,而以上案例明顯沒有做到有效地溝通,或者也可以理解成規(guī)范規(guī)格的非標(biāo)準(zhǔn)化所導(dǎo)致的。
事情發(fā)展到這里,海外團(tuán)隊(duì)已經(jīng)開始進(jìn)入年度旅游計(jì)劃了,而國(guó)內(nèi)的團(tuán)隊(duì),如果沒有新項(xiàng)目,則在接受用戶的意見,當(dāng)然可想而知,改是必然的,當(dāng)然海外團(tuán)隊(duì)返工的可能性也不是沒有,但問(wèn)題是他們的產(chǎn)品已經(jīng)事先和用戶達(dá)成了“一致”(由于用戶可能在需求階段也是被軟件團(tuán)隊(duì)搞得一頭霧水導(dǎo)致也不知道定奪的方案是不是產(chǎn)品的效果,但這樣的成功率相對(duì)于后者,則普遍高多了……)大陸團(tuán)隊(duì)呢,如果需求做得業(yè)余,則問(wèn)題將會(huì)大量出現(xiàn)在業(yè)務(wù)邏輯和用戶體驗(yàn)環(huán)節(jié),這方面所帶來(lái)的影響對(duì)整個(gè)項(xiàng)目都是致命的。項(xiàng)目成本變得不可估計(jì),很有哪天用戶不滿意了,一切就得從頭開始,而所有的錯(cuò)誤都發(fā)生在一開始的“假設(shè)”上。大陸團(tuán)隊(duì)總是假設(shè)自己的需求以及實(shí)現(xiàn)對(duì)用戶來(lái)說(shuō)是如此地easy,大陸的用戶又經(jīng)常是逆來(lái)順受的類型(見不多識(shí)不廣,再加上可能是長(zhǎng)期合作伙伴的關(guān)系,因此更能“適應(yīng)”那種糟糕的體驗(yàn)),而大陸的團(tuán)隊(duì)則認(rèn)為他們的東西用戶都是“沒有意見”的,因此愈發(fā)他們的自大和自狂……,當(dāng)然這絕不是大多數(shù)軟件公司,但起碼我相信是一部分。
大陸團(tuán)隊(duì)
現(xiàn)在的團(tuán)隊(duì)已經(jīng)疲憊不堪,
項(xiàng)目經(jīng)理認(rèn)為手下都是廢物,一點(diǎn)小事辦不好(相反,自己做的東西則如此地美好,沾沾自喜中……)
手下:嗨,做的又都改了,高傲型的,則憤憤不平,你做的那也叫用戶體驗(yàn),落后;逆來(lái)順受型,嗨,下次多注意(開始扭曲自己的主觀判斷,并開始謹(jǐn)慎行事于未來(lái)的項(xiàng)目)
關(guān)系:本來(lái)和諧的辦公室出現(xiàn)了隔膜。
這也難怪人家說(shuō)外國(guó)人思想比較簡(jiǎn)單,而中國(guó)人,思路太復(fù)雜,這樣看來(lái),社會(huì)因素是導(dǎo)致這一復(fù)雜關(guān)系的根源,這種不利的溝通則成為團(tuán)隊(duì)中的不和諧音。而管人的藝術(shù)遇到這樣的音符將顯得死氣沉沉。
外國(guó)團(tuán)隊(duì)
由于文檔化做的很好,因此在出現(xiàn)問(wèn)題的時(shí)候,打開文檔,心服口服者了然于胸。責(zé)任不會(huì)被推卸。(記得卡耐基說(shuō)過(guò),通常的人是不會(huì)或者沒有人愿意承認(rèn)自己是錯(cuò)的,即使承認(rèn)了,也并不是100%地這么認(rèn)為……那我們又何必引入這樣一種環(huán)境去滋養(yǎng)這樣的細(xì)菌生長(zhǎng)呢?既然可以讓白字黑字來(lái)撇清這種無(wú)聊的人際因素……)
文檔化也利于項(xiàng)目驗(yàn)收,當(dāng)用戶對(duì)自己拿到的產(chǎn)品不滿意的話,他們需要為改進(jìn)而付費(fèi),而大陸團(tuán)隊(duì)在這方面則沒有任何優(yōu)勢(shì),只能被告知,你做錯(cuò)了。
因此在軟件項(xiàng)目管理中,文檔化可以作為解決軟件團(tuán)隊(duì)溝通、規(guī)范等重要因素的解決方案。
這時(shí)或許能聽到大陸團(tuán)隊(duì)的項(xiàng)目經(jīng)理傳來(lái)的聲音,現(xiàn)在我們的團(tuán)隊(duì)哪里有這么多時(shí)間去做這些功夫啊,那些文檔能當(dāng)按鈕點(diǎn)出效果么?不能?我們要的是程序,不是文檔!再者,你這些所謂的文檔誰(shuí)來(lái)寫?了解需求的就我一人,你想累死我?。窟€有,就這么點(diǎn)大的系統(tǒng)一點(diǎn)難度都沒有,寫那些干嘛?
這些問(wèn)題既然被提出,就一定有它存在的道理,的確小團(tuán)隊(duì)要完成這樣的任務(wù)是需要付出風(fēng)險(xiǎn)的。
首先項(xiàng)目經(jīng)理不愿意寫是一方面,因?yàn)楹芏嗉毙宰硬荒陀趯懩切┧麄兎Q之為形式化的東西,但事實(shí)上他們是形式上的嗎?事實(shí)上它們正在潛移默化地改變我們的工作方式,并從一個(gè)側(cè)面改善程序的構(gòu)造過(guò)程,使之不是被扭曲地成長(zhǎng)起來(lái)的?;蛟S之前的關(guān)于時(shí)間分配的規(guī)律不適合您的團(tuán)隊(duì),但文檔化總是或多或少能解決您當(dāng)前的問(wèn)題。
再者,要解決文檔粒度問(wèn)題。曾聽朋友說(shuō)他們公司的文檔細(xì)致到100px×200px這樣的粒度,對(duì)各個(gè)可見部分的長(zhǎng)寬高都做了嚴(yán)格的設(shè)計(jì),另外,在代碼設(shè)計(jì)上更是細(xì)化到方法體。當(dāng)然這并不是我所推薦的,并且我也沒什么可推薦給您,因?yàn)檫@個(gè)問(wèn)題從來(lái)就沒有也不應(yīng)該有答案,您得根據(jù)您的團(tuán)隊(duì)制定出符合您粒度的項(xiàng)目,細(xì)化到方法體的做法,可能會(huì)導(dǎo)致很多現(xiàn)有的軟件團(tuán)隊(duì)直接瘋掉。
***,強(qiáng)調(diào)文檔在改善人際關(guān)系方面的作用。這方面問(wèn)題最危險(xiǎn)也最可怕,小則影響心情,再者影響工作,甚至危害到您的身心健康(別自己氣死了或者把別人給氣死了……)。人的心理是整個(gè)軟件項(xiàng)目管理中最復(fù)雜的部分,良好的團(tuán)隊(duì)不是強(qiáng)調(diào)有隊(duì)員要有團(tuán)隊(duì)精神的團(tuán)隊(duì),而是創(chuàng)造能激發(fā)人自身***團(tuán)隊(duì)精神的團(tuán)隊(duì),因?yàn)榘l(fā)自內(nèi)心的和刻意偽造的是沒有可比性的。
如果您的團(tuán)隊(duì)還在口頭傳達(dá),如果您的團(tuán)隊(duì)還在為除了業(yè)務(wù)領(lǐng)域邏輯以外的純規(guī)范問(wèn)題而爭(zhēng)執(zhí),如果您的團(tuán)隊(duì)還在忙碌于修改代碼的痛楚之中,請(qǐng)嘗試本文所提及的方法,不敢保證它一定有效,但不煩一試。
原文鏈接:http://hi.baidu.com/cty901/blog/item/ecffd201289c2d19738da5c1.html
【編輯推薦】