系統開發是一項系統工程,從系統工程角度出發,系統開發可(kě)以分(fēn)成三大(dà)部分(fēn),即軟件實現、項目管理(lǐ)和(hé)過程改進。管理(lǐ)維度則從工程性管理(lǐ)角度出發,包括軟件的(de)開發過程和(hé)軟件經濟學等内容,從中我們抽象成項目管理(lǐ)、研發過程和(hé)組織管理(lǐ)三個(gè)子維度。
1.項目管理(lǐ)子維度
項目管理(lǐ)的(de)切入點在于從範圍、時(shí)間、成本等角度出發討(tǎo)論如何在一定的(de)約束條件下(xià)實現系統并完成最終成果的(de)交付。這(zhè)其中涉及項目管理(lǐ)的(de)通(tōng)用(yòng)性知識體系,但也(yě)需要根據軟件開發的(de)特征進行分(fēn)析。
對(duì)于系統開發而言,需求工程、計劃管理(lǐ)、質量管理(lǐ)、風險管理(lǐ)是項目管理(lǐ)重點需要實施和(hé)管理(lǐ)的(de)對(duì)象。相較其他(tā)行業,需求以及系統建模、軟件開發範圍的(de)分(fēn)解和(hé)工作量評估、技術評審的(de)實施方法以及持續交付思想和(hé)工具的(de)應用(yòng)貫穿整個(gè)軟件開發的(de)進程。
2.研發過程子維度
系統開發是一系列過程的(de)集合,過程改進圍繞這(zhè)些過程,提出持續優化(huà)的(de)方法和(hé)實踐确保得(de)到令人(rén)滿意的(de)結果。過程改進的(de)切入點在于通(tōng)過理(lǐ)解代表性的(de)過程模型,并結合團隊目前以及未來(lái)的(de)開發狀況找到适合自身的(de)過程模型。
研發過程的(de)建設包括過程管理(lǐ)的(de)模型以及研發相關的(de)工程實踐,而過程改進同樣也(yě)有一整套的(de)方法論,無論是傳統型的(de)瀑布還(hái)是當下(xià)流行的(de)敏捷,都崇尚過程改進。而對(duì)于特定團隊,這(zhè)些模式和(hé)方法都不一定适用(yòng),不能照(zhào)抄照(zhào)搬,所以研發過程建設的(de)實施方法首先是過程裁剪,通(tōng)過裁剪建立起符合自身團隊發展的(de)輕量級過程模型。研發過程的(de)建設包括過程管理(lǐ)的(de)模型以及研發相關的(de)工程實踐,而過程改進同樣也(yě)有一整套的(de)方法論,無論是傳統型的(de)瀑布還(hái)是當下(xià)流行的(de)敏捷,都崇尚過程改進。而對(duì)于特定團隊,這(zhè)些模式和(hé)方法都不一定适用(yòng),不能照(zhào)抄照(zhào)搬,所以研發過程建設的(de)實施方法首先是過程裁剪,通(tōng)過裁剪建立起符合自身團隊發展的(de)輕量級過程模型。
3.組織管理(lǐ)子維度
組織管理(lǐ)的(de)切入點在于明(míng)确一個(gè)組織中需要技術管理(lǐ)者進行管理(lǐ)的(de)視角和(hé)邊界。對(duì)于系統開發而言,向下(xià)的(de)團隊管理(lǐ)和(hé)向外的(de)協商溝通(tōng)管理(lǐ)是最基本的(de)組織管理(lǐ)視角,但我們也(yě)應該注意到向上管理(lǐ)的(de)重要性以及提升管理(lǐ)者本身的(de)自我管理(lǐ)意識。
對(duì)于向下(xià)管理(lǐ),實施過程中需要理(lǐ)解技術人(rén)員(yuán),并通(tōng)過領導、激勵、培訓和(hé)績效管理(lǐ)等手段提升團隊整個(gè)工作效率。對(duì)于向上管理(lǐ),更多(duō)則關注結果導向和(hé)目标管理(lǐ)。向外管理(lǐ)上,溝通(tōng)是關鍵。而對(duì)于自我管理(lǐ),則需要培養個(gè)人(rén)的(de)管理(lǐ)風格以及處事能力。以上各個(gè)維度和(hé)子維度雖然各自表現技術管理(lǐ)的(de)某個(gè)方面,但也(yě)存在依賴關系。圖1描述的(de)是三個(gè)維度之前最基本的(de)依賴關系。從圖中可(kě)以看到行業分(fēn)析幫助定義産品,技術體系爲産品提供實現方法,而管理(lǐ)體系從過程角度爲産品開發提供保障。因此,技術體系和(hé)管理(lǐ)體系的(de)建立本質上都是爲了(le)實現産品,也(yě)就是說技術管理(lǐ)的(de)本質需求是完成産品目标。
不同的(de)行業、不同的(de)業務、不同的(de)系統對(duì)于技術管理(lǐ)的(de)維度而言具有不同的(de)展示要求。以互聯網行業爲例,目前各個(gè)領域變化(huà)迅速,從行業分(fēn)析到産品發布的(de)周期也(yě)較短,意味著(zhe)在開發過程管理(lǐ)上适合采用(yòng)比較輕量級、快(kuài)速叠代的(de)研發模式,這(zhè)就需要在項目管理(lǐ)、組織管理(lǐ)上采用(yòng)與之匹配的(de)模式。另一方面,互聯網産品或服務通(tōng)常面向多(duō)個(gè)領域,按應用(yòng)類型區(qū)分(fēn),通(tōng)常行業門檻并不高(gāo),如果想要快(kuài)速占據市場(chǎng),通(tōng)過技術創新來(lái)推動産品化(huà)是常見的(de)手段。而面向企業級應用(yòng)的(de)軟件産品中,由于業務複雜(zá)且具有一定的(de)行業壁壘,技術更多(duō)時(shí)候是爲了(le)實現業務需求,一個(gè)産品的(de)開發周期普遍較長(cháng),相應的(de)研發節奏和(hé)過程也(yě)偏向于采用(yòng)重量級框架,這(zhè)些都與互聯網産品有較大(dà)差别。