在IT公司中,管理層和“自命清高”的技術(shù)人員之間的溝通和協(xié)調(diào)永遠(yuǎn)是一個(gè)值得討論的話題,在互聯(lián)網(wǎng)項(xiàng)目當(dāng)中,相信每一個(gè)項(xiàng)目經(jīng)理或者制作人,最頭疼的就是技術(shù)部的管理。因?yàn)榧夹g(shù)工作看起來(lái)是那么的棘手,一般人難以理解,而且技術(shù)人員大多數(shù)都似乎情商不高。管理人員既不能輕易了解技術(shù)工作的內(nèi)涵,技術(shù)人員也覺(jué)得很難和管理人員溝通。特別是技術(shù)工作,難以在不同人之間交接,很多技術(shù)人員都聲稱(chēng)無(wú)法繼續(xù)別人做過(guò)的項(xiàng)目……要管理好技術(shù)人員,就一定要懂技術(shù)。這是任何一種其他號(hào)稱(chēng)完美的管理方法都無(wú)法替代的。本文分析了技術(shù)人員的管理之道,包括何時(shí)以及如何評(píng)審、分層開(kāi)發(fā)、盡快運(yùn)行、追求代碼質(zhì)量等。
首先,了解軟件架構(gòu)的范疇,才能有針對(duì)性地去把握軟件開(kāi)發(fā)中的風(fēng)險(xiǎn),從而管理好軟件開(kāi)發(fā)的過(guò)程。根據(jù)軟件需要應(yīng)對(duì)的需求,軟件架構(gòu)一般包含以下幾個(gè)部分:
邏輯架構(gòu):主要是為了明確“功能性需求”而做的設(shè)計(jì),針對(duì)需求以及需求變化作為架構(gòu)目標(biāo)所做出的關(guān)于代碼之間的劃分、耦合、關(guān)聯(lián)的決定。采用合理的邏輯架構(gòu),將會(huì)大大降低需求變更對(duì)開(kāi)發(fā)的延遲作用。邏輯架構(gòu)最直接指導(dǎo)代碼中互相耦合的情況,仔細(xì)設(shè)計(jì)好耦合的規(guī)則,會(huì)讓后續(xù)開(kāi)發(fā)事半功倍。
運(yùn)行時(shí)架構(gòu):運(yùn)行時(shí)架構(gòu)是為了滿(mǎn)足運(yùn)行期的質(zhì)量需求,所做出的關(guān)于對(duì)象行文、進(jìn)程結(jié)構(gòu)、通信協(xié)議、數(shù)據(jù)結(jié)構(gòu)等方面的決定。運(yùn)行架構(gòu)一旦確定,等于大部分的“實(shí)現(xiàn)”代碼都確定了,設(shè)計(jì)有足夠擴(kuò)展性和可用性的運(yùn)行架構(gòu),可以為后續(xù)工作節(jié)省時(shí)間,也降低了系統(tǒng)在運(yùn)行期對(duì)開(kāi)發(fā)工作的干擾。
其次,開(kāi)發(fā)文檔的問(wèn)題是一個(gè)老問(wèn)題,根據(jù)文檔的不同類(lèi)型:
設(shè)計(jì)類(lèi)文檔:這類(lèi)文檔往往在項(xiàng)目、模塊啟動(dòng)的時(shí)候,大家都會(huì)想到要去寫(xiě),作為討論和最后決議的成果,顯然是很自然的。然而在項(xiàng)目進(jìn)入開(kāi)發(fā)之后,碰到實(shí)際問(wèn)題時(shí),往往就不能完全按照設(shè)計(jì)的初衷去做了,所以通常設(shè)計(jì)文檔就在這個(gè)時(shí)候和代碼脫離了聯(lián)系。但有一點(diǎn)是絕對(duì)可以做的,就是在重構(gòu)的時(shí)候,按照現(xiàn)有狀況,重新增加重構(gòu)前的系統(tǒng)狀況說(shuō)明,然后再添加上重構(gòu)后的設(shè)計(jì)。這樣就把重構(gòu)的設(shè)計(jì)和文檔的更新結(jié)合到一起了。
API(應(yīng)用編程接口)文檔:現(xiàn)代軟件都希望能提高重用的程度,因此很多程序員都會(huì)自己構(gòu)造自己的業(yè)務(wù)API,以便在之后的開(kāi)發(fā)中使用。而這種業(yè)務(wù)API,也是很多分工合作的基礎(chǔ)。這種代碼的說(shuō)明,會(huì)直接影響日常的開(kāi)發(fā),因此非常有必要保證和代碼的高度一致性。
使用文檔:一般來(lái)說(shuō),一個(gè)軟件的使用文檔必須包含以下幾個(gè):《產(chǎn)品版本說(shuō)明》、《產(chǎn)品安裝和部署文檔》、《產(chǎn)品使用教程以及例程》、《產(chǎn)品FAQ文檔》。這里面的《產(chǎn)品版本說(shuō)明》應(yīng)該在每次發(fā)版的時(shí)候,作為發(fā)布流程的一個(gè)固有環(huán)節(jié)來(lái)設(shè)計(jì)。《產(chǎn)品使用教程以及例程》是我認(rèn)為所有文檔中,最值得花大力氣去寫(xiě)好的?!懂a(chǎn)品安裝和部署文檔》內(nèi)容越少越好,應(yīng)該讓安裝部署盡量智能化、自動(dòng)化。