我曾任職的某公司軟體工程中心有8位專案經理,成功地管理過許多應用軟體開發專案,部門同事戲稱他們「八仙」,因為他們帶專案的風格迥異,就像八仙過海,各有神通。
第一位,性格溫和、思路清晰。走的是專家形象的路子,只要和使用者交流一次,就能獲得使用者認同和尊重;一般問題剛有苗頭,就會被他察覺,並化解於無形之中。因此被使用者敬若神明,言聽計從。
第二位,性格開朗、善於溝通。走的是關係調節的路子,幾次接觸,就能和使用者稱兄道弟,於是專案中所有的問題都在酒桌上解決。
第三位,善於把握使用者心理和使用者內部之間的矛盾。走的是威逼利誘的路子,由於專案中使用者方關鍵人員有的涉足幕後交易,因此往往有苦難言,只能就範。因此,即使遇到最刁鑽、難纏的客戶,經他一番軟硬兼施,最後也都能擺平。
第四位,為人踏實、肯幹,富有耐心,走的是埋頭苦幹的路子,態度極佳、有求必應,和使用者處的時間長了,就是鐵石心腸的使用者也不再忍心刁難。
而其他幾位,也都可以歸結為以上某兩種或幾種型別的結合。
那麼,為什麼要規範軟體開發過程?又如何規範軟體開發過程呢?
我認為規範就是要約束自己、約束參與軟體開發過程的各方,目的是要消除軟體開發中的種種不良做法和習慣,採用符合軟體規律、事半功倍的方法,降低風險,以使軟體開發專案能獲得可重複、可以預期的滿意結果。
總結多年來專案管理的實踐經驗和感悟,我覺得要規範軟體開發過程必須做好「三化」、同時避免踏入兩個誤區。所謂做好「三化」、避免踏入兩個誤區,就是指要堅持固化、簡化、標準化,避免踏入僵化、隨意化兩個誤區。
第一,要「固化」。
軟體過程又稱「軟體生存週期過程」,是軟體生存期內為達到一定目標而必須實施的一系列相關過程的集合。說白了,就是軟體開發中一系列最佳實踐的集合。所謂「固化」,其本質就是把軟體開發過程中已被實踐反覆證明的、符合軟體規律的正確做法(最佳實踐)沉澱在開發管理流程之中,供後人實踐時借鑑、使用。
軟體企業是乙個天才匯集的地方,是人類智慧型最集中的場所之一,同時,由於軟體人才的流動性很強,軟體企業又是智慧型流失最快的地方。我覺得,軟體企業要想做大、做強,除了採用好的機制留住人才之外,最重要的是沉澱眾人的智慧型。而企業沉澱眾人智慧型有三個載體:第一是知識庫,第二是流程,第三是軟體資產庫(面向領域的軟體構架及構件庫)。沉澱眾人智慧型的過程就是「固化」。
有了固化的軟體開發管理流程,才有了規範軟體開發過程的基礎。通過不斷地固化軟體開發實踐中符合規律的正確做法,我們得到了流程規範。然後,用這些流程規範指導新的軟體專案開發,並在開發實踐中持續改進,從而使得我們的軟體開發過程越來越規範。
固化的軟體開發實踐分為兩個層次,乙個是制度,乙個是指南。制度是公司強制執行的一些流程規範,不可缺失、省略,如公司制定的標準、規範、管理制度等;而指南是一般情況下推薦執行,建議這麼做,允許根據專案實際情況適度剪裁、取捨,如公司定義的軟體開發過程模型、模板等。實現固化的手段也多種多樣,如通過管理制度、定義開發過程、採用軟體工具、培訓等,根據本人實踐體會,採用一些專案管理輔助軟體工具,不失為「固化」眾人智慧型、規範軟體開發過程管理的有效手段!
說到「固化」,有的企業走向了另乙個極端:僵化。不顧本企業、本專案的實際情況,對iso9000、cmm、iso12207等標準盲目地生搬硬套、墨守成規,對其他企業的成功經驗不加消化的照搬照抄、教條主義,從而扼殺了專案團隊的主觀能動性和創造性。殊不知,標準、規範、過程模型、模板是死的,參與專案的團隊成員才是規範軟體開發過程的主角和靈魂。
第二,要「簡化」。
「固化」只是規範軟體開發過程的「靜態基礎」,而「動態管理」對於規範軟體開發過程更為重要。
回顧上個世紀70年代,軟體開發很簡單,因此很容易規範。隨著軟體專案規模越來越大,軟體開發過程越來越複雜,涉及的人、財、物資源也越來越龐大。複雜導致多變,多變帶來隨意,隨意容易使軟體開發誤入歧途,使開發過程難以規範。所以說規範軟體開發過程還必須簡化軟體開發過程!
說到簡化,也有企業走進了「隨意化」的誤區。自由主義、經驗主義隨心所欲地發揮,口頭協議滿天飛,時間緊、人手不足是他們拋棄規範、拒絕監督的最佳介面。其實,簡化絕不意味著隨意化。
如何簡化呢?我認為採用基於構件的軟體開發方法就是一種有效手段。通過對應用領域的研究(領域工程),提煉領域需求的共性和變化性,刻畫領域模型,設計面向領域的體系結構,開發各種構件,從而使應用軟體的開發過程更接近於工業化生產流水線,基於體系結構,用各種構件進行組裝。簡化了的軟體開發過程,變化因素更少,更容易規範管理。
第三,要「標準化」。
前面所說的固化、簡化都只是單個企業內部的實踐行為,而「標準化」則是整個社會範圍內的固化和簡化行為。技術標準化、管理過程標準化、度量標準化、應用領域內業務的標準化,都是推動整個軟體行業內、軟體產業鏈上各個企業規範軟體開發過程的前提基礎和有力保障。標準,凝聚著眾多企業、科研院所的智慧型,同時,又大大簡化了標準所規範的領域內軟體開發過程。當然,標準化也是規範軟體開發過程的征途上最漫長、最困難而又最具意義的一步。
總之,失敗的軟體專案各有其失敗,而成功的軟體專案都一樣:離不開規範的軟體開發過程管理。固化、簡化、標準化正是規範軟體開發過程重要的三個方面。
[@more@]
軟體專案管理「固化 簡化 標準化」
第一,要 固化 軟體過程又稱 軟體生存週期過程 是軟體生存期內為達到一定目標而必須實施的一系列相關過程的集合。說白了,就是軟體開發中一系列最佳實踐的集合。所謂 固化 其本質就是把軟體開發過程中已被實踐反覆證明的 符合軟體規律的正確做法 最佳實踐 沉澱在開發管理流程之中,供後人實踐時借鑑 使用。軟體企...
管理標準化
1 為什麼要叫即時化推進 在組織裡面大部分都有很明確的目標及方向 但是乙個部門及公司裡面最大的挑戰就是執行力 人很少是自覺的這也是為什麼會有守衛室 需要審核單位來協助 因此很多指令下到執行人員 單位 往往都會大打折扣 所以需要有一股力量來使打折的幅度盡量的縮小到預期的範圍內 2 即時化推進的重點專案...
ERP專案管理的深度標準化
分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!erp專案管理需要深度標準化!按erp專案管理的理論,一般都強調對專案計畫 成本 風險 資源等幾大要素的良好控制與預防,但到了活生生的專案中,這幾大點只要是專案經理都應該知道 但也有不知道...