軟件工程實(shí)踐者的思想[2]
5.工程
最狹義的工程,是描述"做什么"和"做到什么".
也就是說(shuō),是對(duì)目標(biāo)的描述和成果的檢測(cè)。至于這個(gè)工程目標(biāo)的實(shí)現(xiàn),是"過(guò)程"和"方法"的事;而有效、快速地實(shí)現(xiàn)"過(guò)程"和"方法"所需的,就是"工具".
這種軟件工程體系層次(SoftwareEngineeringArchitecturalLayers)被描述成一張圖。
過(guò)程伴隨工程而出現(xiàn),解決的是工程中"步調(diào)一致"的協(xié)作問(wèn)題。那么工程是因?yàn)槭裁炊霈F(xiàn)的?
很顯然,軟件規(guī)模的不斷增大是導(dǎo)致軟件工程出現(xiàn)的根本原因。所以你會(huì)看到在幾年前,開發(fā)一個(gè)小工具可以不講工程;或者現(xiàn)在在你的Word中,為了將半角替換成全角字符而寫的那個(gè)宏,也不需要工程。
接下來(lái),即使軟件規(guī)模增大,如果有一個(gè)牛人中的超牛人,愿意用20年來(lái)寫一個(gè)任意龐大和復(fù)雜的操作系統(tǒng),他也是能做到的。然而現(xiàn)實(shí)中不會(huì)有軟件公司給他這樣的機(jī)會(huì)。
項(xiàng)目的"復(fù)雜"可能要求不同知識(shí)領(lǐng)域的角色參與,而"龐大"則要求更多(人力、技術(shù)與管理)資源。"團(tuán)隊(duì)"作為開發(fā)行為的模式,是軟件規(guī)模和復(fù)雜度漸次累積的.結(jié)果。
團(tuán)隊(duì)必將越來(lái)越龐大,因?yàn)椋ㄅc工程對(duì)應(yīng)的)軟件規(guī)模必將越來(lái)越復(fù)雜。沒(méi)有團(tuán)隊(duì)意識(shí)的軟件公司將在高度過(guò)程化、通曉方法理論、擁有大量工具的集團(tuán)軍面前一觸即潰。
6.組織
工程理論其實(shí)是包含組織學(xué)的。然而我在上面的那張圖中,將組織與工程分離開來(lái),并在二者之間畫下了一道縱向的線。
如果說(shuō)工程關(guān)心的是"需求"、"配置"和"文檔"等等這些要素,那么這樣的工程還是停留在技術(shù)層面:關(guān)注的仍是工程實(shí)現(xiàn)細(xì)節(jié),而非目標(biāo)。從角色角度來(lái)看,這是項(xiàng)目經(jīng)理和技術(shù)經(jīng)理共同關(guān)注的那一部分。
然而項(xiàng)目經(jīng)理還必須關(guān)注于人力資源、項(xiàng)目資金以及多個(gè)項(xiàng)目之間的協(xié)調(diào)等問(wèn)題。這些問(wèn)題與工程本身并沒(méi)有直接關(guān)系,而是"組織"方面的內(nèi)容。
所以在工程環(huán)節(jié)里,"文檔管理"和"配置管理"等詞匯中的那個(gè)"管理",是管理的具體技術(shù)和方法;而在"組織"這個(gè)環(huán)節(jié)中的"管理",才是真正的管理學(xué)上的用詞。
在這張圖上,我試圖從這個(gè)角度上來(lái)說(shuō)明:作為項(xiàng)目經(jīng)理,你必須有一部分的工作是非技術(shù)性的。甚至,你可能絕大部分的工作是非技術(shù)性的。因?yàn)榕c技術(shù)相關(guān)的管理技能(需求、配置、過(guò)程管理等)可以由開發(fā)經(jīng)理來(lái)做,或者公司對(duì)于這一方面有較統(tǒng)一且成熟的規(guī)范,因而無(wú)需投入過(guò)多的精力。
你必須更關(guān)注于對(duì)這個(gè)(或這些)工程的組織與計(jì)劃。站在"組織者"這個(gè)角色上,你現(xiàn)在要考慮的內(nèi)容可能會(huì)是:
為項(xiàng)目的各個(gè)階段建立計(jì)劃,并逐漸地細(xì)化計(jì)劃內(nèi)容,以及確立項(xiàng)目過(guò)程中每一個(gè)環(huán)節(jié)、每一個(gè)計(jì)劃階段的優(yōu)先級(jí)和復(fù)雜度;
確立項(xiàng)目或者產(chǎn)品階段目標(biāo),成果的準(zhǔn)確描述、定位,以及整個(gè)項(xiàng)目的質(zhì)量目標(biāo)及其考核辦法;
對(duì)團(tuán)隊(duì)中的不同角色展開培訓(xùn),以指導(dǎo)并協(xié)調(diào)角色間的工作,從而消除因?yàn)楣ぷ髁?xí)慣的差異帶來(lái)的影響;
為每一個(gè)人準(zhǔn)備他所需要的資源,這不單單是把一套shareware變成正式版或者把512M內(nèi)存變成2G,還包括準(zhǔn)確地評(píng)估他的工作量,以及決定是否為他增加一個(gè)(能協(xié)同工作的)副手;
【軟件工程實(shí)踐者的思想[2]】相關(guān)文章:
《軟件工程思想》讀后感11-21
軟件工程師崗位說(shuō)明書2篇08-28
【熱門】軟件工程師崗位工作簡(jiǎn)歷模板2篇12-27
軟件工程論文的提綱12-02
試論軟件工程的應(yīng)用10-05
軟件工程思想在應(yīng)用型高校畢業(yè)設(shè)計(jì)中應(yīng)用研究11-02
軟件工程碩士的論文09-25
軟件工程應(yīng)用淺析10-05
軟件工程碩士的開題報(bào)告10-24