軟件工具、過程以及項目管理規(guī)程的使用
在過去的幾十年里我們看到了企業(yè)架構(gòu)的演變過程,這種演變從單塊集成電路的架構(gòu)(運行在主機(jī)上的基于 COBOL 程序)到基于組件的架構(gòu)(Java EE 和 NET 應(yīng)用)和趨于面向服務(wù)的架構(gòu)(將企業(yè)轉(zhuǎn)變?yōu)橐粋能高度互操作的和可重復(fù)利用的服務(wù)集合,它使企業(yè)更好地適應(yīng)不斷變化的業(yè)務(wù)需求)。
隨著構(gòu)架方法逐漸朝著人們關(guān)心的更多重用和分離的方向發(fā)展,企業(yè)應(yīng)用軟件開發(fā)也不斷要求明確定義的過程和更多層次架構(gòu)的技術(shù)。因此,企業(yè)應(yīng)用軟件開發(fā)的一些領(lǐng)域增加了復(fù)雜度。在企業(yè)級開發(fā)(JavaEE 、.NET 等等)中,軟件提供商們已經(jīng)通過提供先進(jìn)的代碼產(chǎn)生和過程自動化工具大幅度降低了這種復(fù)雜性,并且通過使用已被證實的設(shè)計模式和佳實踐簡化了企業(yè)開發(fā)的復(fù)雜方面。
然而,在企業(yè)級開發(fā)的外圍,其中一個方面卻可能經(jīng)常被忽略,這是軟件發(fā)布的管理。軟件發(fā)布管理員所面臨的挑戰(zhàn)包括對以下幾方面的管理:
1.軟件缺陷
2.問題
3.風(fēng)險
4.軟件變更請求
5.新開發(fā)請求(額外的特性和功能)
6.部署和打包
7.新開發(fā)任務(wù)
由于當(dāng)你集中在孤立軟件應(yīng)用程序的單一軟件發(fā)布時,這些似乎是合情合理的,但是……
考慮到要進(jìn)行高度復(fù)雜的事務(wù)性自定義開發(fā)應(yīng)用軟件,軟件應(yīng)用開發(fā)團(tuán)隊要能夠開發(fā)新的特性或功能,并像往常一樣一年六次地向用戶發(fā)布(主要的版本)。軟件應(yīng)用開發(fā)團(tuán)隊還需要發(fā)布40-50個小版本(具有代表性的 Enterprise Archive 文件或者 .ear,或者.jar 等等),這些是沒有在計劃之內(nèi)或者預(yù)定之中的任何修改、更新或者應(yīng)用軟件的部署等等。
此外,應(yīng)用軟件會對在企業(yè)中的其它軟件應(yīng)用軟件具有依賴和相互依賴(在產(chǎn)生一個成功的構(gòu)建中)。
軟件發(fā)布經(jīng)理應(yīng)該做些什么呢?
這篇文章將介紹了一種實現(xiàn)方法,使用 IBM Rational ClearQuest 作為一個基本組件來克服軟件發(fā)布經(jīng)理所面臨的一些挑戰(zhàn)。
文章的意圖不是說這個新的挑戰(zhàn)或者 Rational 是要緊的事情,但是這個挑戰(zhàn)隨著全球交付、時間壓力和系統(tǒng)集成的需要變得越來越復(fù)雜。這種解決方案更多關(guān)注的是把 Rational 看作一個激活器,而不僅僅是把它看作一個工具。
軟件發(fā)布經(jīng)理可以將 Rational 工具作為像“項目管理協(xié)會的項目知識體系指南”(PMBOK)一樣的標(biāo)準(zhǔn)項目管理方法的激活器。PMBOK 確定了九大知識領(lǐng)域:
1.集成管理
2.范圍管理
3.時間管理
4.成本管理
5.質(zhì)量管理
6.人力資源管理
7.溝通管理
8.風(fēng)險管理
9.采購管理
這篇文章將說明這個方法和工具是怎樣幫助軟件發(fā)布經(jīng)理來實現(xiàn)九個知識領(lǐng)域中的四個領(lǐng)域。這四個領(lǐng)域是范圍管理、質(zhì)量管理、溝通管理和風(fēng)險管理。這個過程將貫穿一個眾所周知的軟件發(fā)布記錄(Software Release Record) 的概念。軟件發(fā)布記錄是 Rational ClearQuest 內(nèi)部的一個自定義的記錄類型,它在這篇文章中將作為一個部分詳細(xì)進(jìn)行描述。
剩下的五個領(lǐng)域和另外四個領(lǐng)域的某些部分將由工具集成來處理,它們不會被涉及到。這些集成工具包括 Rational Portfolio Manager (RPM) 或者 Microsoft Project 等。
在我們進(jìn)入發(fā)布記錄(Release Record)和兩個緊密相關(guān)的基于狀態(tài)的記錄類型之前,首先應(yīng)該搞清楚一些與 PMBOK 提供的定義相類似的內(nèi)容。項范圍管理提供了一個指南,這個指南確保這個項目包括了成功完成項目所必需的工作,并且只包括這些工作。
質(zhì)量管理包括了執(zhí)行決定質(zhì)量方針、目標(biāo)和職責(zé)的組織的所有活動,這樣項目將會滿足它所承擔(dān)的所有需求。
溝通管理使用許多過程,以確保溝通的及時以及合適的產(chǎn)生、收集、分發(fā)、存儲、修改以及終的部署。
風(fēng)險管理包含的過程,關(guān)注于引導(dǎo)風(fēng)險管理計劃、識別、分析、響應(yīng)和監(jiān)控。
那么在所有已構(gòu)建的和有用的行業(yè)驗收定義之后,什么是軟件發(fā)布記錄呢?
軟件發(fā)布記錄是一個基于狀態(tài)的記錄類型。它獲取數(shù)據(jù)元素,比如發(fā)布經(jīng)理的姓名、發(fā)布號、發(fā)布類型(順應(yīng)性或者任意性)、生產(chǎn)環(huán)境部署日期(軟件部署到一個應(yīng)用程序服務(wù)器的時間)以及生產(chǎn)日期(軟件通常可用的時間)。