論證,也有了一定的投資和時(shí)間預(yù)算,產(chǎn)品立項(xiàng)了。但這只是一個(gè)良好的開端,因?yàn)橄旅娴娜魏我粋€(gè)過程的失敗,都有可能導(dǎo)致全盤皆輸。
二、團(tuán)隊(duì)構(gòu)建
產(chǎn)品立項(xiàng)后,就要開始組建研發(fā)團(tuán)隊(duì)了。軟件開發(fā)是一個(gè)既要高度協(xié)作、又有獨(dú)立創(chuàng)造的智力活動(dòng)。所以人的因素是關(guān)系到產(chǎn)品開發(fā)能否成功的一個(gè)重要方面。應(yīng)該說產(chǎn)品能否研發(fā)成功,研發(fā)團(tuán)隊(duì)的合理構(gòu)建是關(guān)鍵性的。一個(gè)公司的領(lǐng)導(dǎo)層或許沒有多少軟件研發(fā)的經(jīng)驗(yàn),但必須要保證能構(gòu)建一個(gè)合理的研發(fā)團(tuán)隊(duì)。就點(diǎn)很容易理解,就是讓合適的人去做合適的事。不過反過來說,如果領(lǐng)導(dǎo)層沒有軟件研發(fā)的經(jīng)驗(yàn),那也很難構(gòu)建一個(gè)合理的團(tuán)隊(duì)。
那怎樣構(gòu)建一個(gè)好的團(tuán)隊(duì)呢?這個(gè)問題沒有一個(gè)非常普遍的答案。各個(gè)產(chǎn)品的規(guī)模、技術(shù)難度都不相同,答案也不一樣。我們時(shí)??吹降那闆r是,公司會(huì)任命一個(gè)研發(fā)經(jīng)理或叫PM,負(fù)責(zé)整個(gè)研發(fā)過程。于是問題就出來了。這個(gè)PM是負(fù)責(zé)管理工作還是技術(shù)工作,或者兩個(gè)都一起負(fù)責(zé)?怎樣規(guī)定PM的職責(zé)權(quán)限?如果沒有對這個(gè)問題的明確答案,那危險(xiǎn)就隨之而來的。就來我的經(jīng)歷過的來說吧。在離開上一家公司后,我來到另一家軟件公司做網(wǎng)上教育平臺(tái)的產(chǎn)品研發(fā)。前期階段可以說沒有一個(gè)專職的項(xiàng)目經(jīng)理,管理工作基本上由一個(gè)做技術(shù)的Team Leader(架構(gòu)師)負(fù)責(zé),雖說也有不少問題,但大家基本上還是團(tuán)結(jié)在一起安步就班的工作。后來公司為我們團(tuán)隊(duì)招來一個(gè)PM,此君是海龜派,在國外、學(xué)習(xí)工作好幾年,也有技術(shù)背景。我們對他也充滿期待。沒想到過了不久,他居然把我們的Team Leader給開了,找了一些大家都不認(rèn)可的理由。并自任技術(shù)負(fù)責(zé)人,對我們的大部分的技術(shù)方案都持否定態(tài)度,并嚴(yán)厲要求我們服從他的技術(shù)領(lǐng)導(dǎo)。如果他精通技術(shù)也就罷了,關(guān)鍵是他的技術(shù)一點(diǎn)也不怎樣,還自我感覺良好。那最終的結(jié)果可想而知了。產(chǎn)品基本上失敗,技術(shù)人員紛紛跳槽,最后,這個(gè) PM也只得走人了。
這樣的故事每天都在發(fā)生,大量的技術(shù)人員在抱怨領(lǐng)導(dǎo)不懂技術(shù),瞎指揮。在我的案例中,可以明顯的感覺到,公司對這個(gè)PM沒有明確的職責(zé)劃分,或者這個(gè)PM沒有擺正自己的位置。這個(gè)PM應(yīng)該做做管理工作,而不是負(fù)責(zé)技術(shù)。做軟件開發(fā)的都知道,一個(gè)團(tuán)隊(duì)中一般都有一個(gè)技術(shù)領(lǐng)導(dǎo),或者叫架構(gòu)師(Architect)。那他和PM怎樣劃分職責(zé)?如果要開發(fā)的產(chǎn)品規(guī)模比較大,比如人員數(shù)達(dá)到10人以上。這時(shí)面臨的管理、組織工作比較多,公司應(yīng)該考慮起用一位專職的PM來負(fù)責(zé)這方面的工作。他的主要工作包括人員招聘,提供開發(fā)團(tuán)隊(duì)所需資源,制定計(jì)劃,監(jiān)督實(shí)施等,同時(shí),他應(yīng)該是一個(gè)能夠鼓動(dòng)士氣,懂得調(diào)動(dòng)員工積極性的親善的領(lǐng)導(dǎo)人,對作為一個(gè)PM的職位來說,個(gè)人的素質(zhì)和性格應(yīng)該具有更決定性的意義,他主要工作是為研發(fā)團(tuán)隊(duì)提供一切必要的服務(wù),監(jiān)督的作用應(yīng)該包含其中。在這樣的團(tuán)隊(duì)里,必須存在一位架構(gòu)師來全面負(fù)責(zé)技術(shù)工作,他有權(quán)獨(dú)立決定技術(shù)方案,他與PM的關(guān)系是團(tuán)結(jié)與合作,而不是領(lǐng)導(dǎo)和被領(lǐng)導(dǎo),架構(gòu)師應(yīng)該得到PM應(yīng)有的尊重,而這點(diǎn)在中國很難做到。很多PM干涉架構(gòu)師的技術(shù)工作,甚至起而代之,造成團(tuán)隊(duì)之間的混亂。上面的案例正是說明了這一點(diǎn)。架構(gòu)師一般都是有一點(diǎn)完美主義,他總是希望看到產(chǎn)品做得更加出色,但這是否讓產(chǎn)品開發(fā)走向不可控制的地步?事實(shí)上,架構(gòu)師要對現(xiàn)實(shí)情況作出妥協(xié)(如時(shí)間、資金的限制),也就是對PM作出妥協(xié)。如果說PM代表時(shí)間、資源的現(xiàn)實(shí)主義,那么架構(gòu)師就代表著完美的理想主義,他們就是在不斷的合作、妥協(xié)中共同推動(dòng)產(chǎn)品的發(fā)展。
對于開發(fā)的產(chǎn)品規(guī)模較小,也可以完全不設(shè)置專職的PM。設(shè)置一位Team Leader,他既負(fù)責(zé)整個(gè)技術(shù)、也同時(shí)負(fù)責(zé)團(tuán)隊(duì)的管理工作。如果認(rèn)為負(fù)擔(dān)較重的話,