聲明:本文是作者觸感而發(fā),不存在抄襲,如果有雷同,實(shí)屬巧合,如果有不同的意見(jiàn),請(qǐng)及時(shí)給作者留言。
作者一直從事與網(wǎng)站開(kāi)發(fā)有關(guān)的項(xiàng)目,本文所述的高效快速反應(yīng)的研發(fā)團(tuán)隊(duì)組成元素并非放之四海而皆準(zhǔn),也與網(wǎng)站開(kāi)發(fā)項(xiàng)目有關(guān),并且只是理論求證階段,作者尚未有實(shí)際的實(shí)踐證明,如果有不足或者欠缺之處,請(qǐng)指教。
在三層架構(gòu)風(fēng)靡IT界的當(dāng)今,仍然有不少的公司對(duì)三層架構(gòu)置之不理,具體原因不得而知。下面列出的場(chǎng)景不全面,但是也可以說(shuō)明冰山一角。
1. 時(shí)間緊張,任何一個(gè)項(xiàng)目的客戶(hù)都非常著急,公司也可以理解,程序員作為服務(wù)的最終實(shí)現(xiàn)人也比較著急,交付不了產(chǎn)品,客戶(hù)不滿(mǎn)意,公司受損失,個(gè)人的獎(jiǎng)金也有相關(guān)的級(jí)聯(lián)。為了DeadLine,不管怎樣,把產(chǎn)品交付驗(yàn)收之后,公司拿到錢(qián)就皆大歡喜了。在這種利益驅(qū)使下,沒(méi)有辦法不抓緊時(shí)間以最快的速度實(shí)現(xiàn)產(chǎn)品代碼的編寫(xiě)。那好吧,不擇手段、分層不清晰、野路子、有問(wèn)題百度一下等八仙過(guò)海,各顯神通,之后就去喝慶功酒了,留下一堆只有自己才能勉強(qiáng)理解的代碼。
2.技術(shù)部組織結(jié)構(gòu)不健全。公司為了節(jié)省成本,招聘過(guò)多的初級(jí)程序員,缺少高級(jí)職稱(chēng)的人帶領(lǐng)指導(dǎo)項(xiàng)目的完成。初級(jí)程序員比較多這個(gè)問(wèn)題基本上不是大的問(wèn)題,公司在組建之初,都會(huì)考慮找一個(gè)信得過(guò)、技術(shù)比較好的人擔(dān)任技術(shù)總監(jiān),掌控負(fù)責(zé)軟件產(chǎn)品的技術(shù)方面。接到一個(gè)項(xiàng)目后,經(jīng)過(guò)簡(jiǎn)單的需求調(diào)研,項(xiàng)目經(jīng)理把項(xiàng)目劃分為子項(xiàng)目按人頭分配任務(wù),要求按期完成任務(wù)交給QA部門(mén)就萬(wàn)事大吉了。
還有更多的場(chǎng)景有待大家共同研究,在IT的項(xiàng)目管理中,組建項(xiàng)目團(tuán)隊(duì)是技術(shù)總監(jiān)或者項(xiàng)目經(jīng)理必須要做的一件事情。諸多書(shū)籍中都講過(guò),組建項(xiàng)目團(tuán)隊(duì)需要考慮項(xiàng)目團(tuán)隊(duì)需要什么樣的角色,根據(jù)角色挑選合適的人才,大多數(shù)書(shū)籍中也講解了如何面試潛在的團(tuán)隊(duì)成員。其中關(guān)鍵的部分,也是每個(gè)技術(shù)總監(jiān)或者項(xiàng)目經(jīng)理都需要思考的問(wèn)題卻無(wú)法一一說(shuō)明白,即團(tuán)隊(duì)需要什么樣的角色,如何確定這些角色,這些角色之間存在什么樣的關(guān)系,每個(gè)角色最終需要交付什么樣的產(chǎn)品,以及如何確保交付產(chǎn)品的質(zhì)量。這個(gè)問(wèn)題在不同的行業(yè),不同的團(tuán)隊(duì)中有不同的答案,沒(méi)有統(tǒng)一的答案,因團(tuán)隊(duì)的性質(zhì)和規(guī)模不同而有差異。因此任何一本IT項(xiàng)目管理書(shū)籍都不會(huì)描述這個(gè)問(wèn)題,因其不可能找到一個(gè)普遍的答案。以下是作者在開(kāi)發(fā)基于SSH框架的WEB應(yīng)用程序中關(guān)于團(tuán)隊(duì)角色的一些思考。
1.需求調(diào)研角色。在中小企業(yè)項(xiàng)目應(yīng)用中,一般在銷(xiāo)售把項(xiàng)目談下來(lái)之后,客戶(hù)想盡快的看到項(xiàng)目的效果,因此需要盡快的出來(lái)一個(gè)原型??蛻?hù)對(duì)原型確認(rèn)之后,項(xiàng)目團(tuán)隊(duì)也許會(huì)根據(jù)這個(gè)原型進(jìn)行繼續(xù)開(kāi)發(fā),或者重新制作,原型可以用原型工具生成。因此,需要一個(gè)需求分析角色對(duì)項(xiàng)目的整體需求進(jìn)行把關(guān)和確認(rèn)。這個(gè)角色一般是項(xiàng)目經(jīng)理或者由項(xiàng)目經(jīng)理直接指派的隊(duì)友,其主要的作用是對(duì)客戶(hù)的需求進(jìn)行整理和確認(rèn),把客戶(hù)的需求用程序員可以讀懂的語(yǔ)言描述出來(lái),其提交的內(nèi)容為用戶(hù)需求文檔,要求無(wú)二義性,準(zhǔn)確,并能被程序員實(shí)現(xiàn)。
2. 美工,美工的作用顯而易見(jiàn),就是設(shè)計(jì)漂亮的UI界面,讓用戶(hù)看起來(lái)賞心悅目,從感性上能有一個(gè)好的印象,最好能讓用戶(hù)感覺(jué)這個(gè)特別為他設(shè)計(jì)的界面比別人的好,錢(qián)沒(méi)有白花,或許能在上級(jí)面前邀功。
3.UI工程師,這個(gè)角色的主要任務(wù)是根據(jù)美工設(shè)計(jì)的界面制作出靜態(tài)網(wǎng)頁(yè),提交的內(nèi)容為HTML集和一些JS代碼,由于一些效果的特殊性,因此必須借助于JS來(lái)實(shí)現(xiàn)。一般的美工設(shè)計(jì)人員對(duì)于編程不熟悉,他們的使用PS等工具切割生成的HTML代碼也不精簡(jiǎn),或者樣式需要重構(gòu)等,UI工程師必須對(duì)這些代碼進(jìn)行重新整理,并對(duì)循環(huán)的代碼塊進(jìn)行注釋?zhuān)员阌诮缑骈_(kāi)發(fā)人員使用。提交的產(chǎn)品應(yīng)該代碼簡(jiǎn)介,格式明確,