轉:巧借知識地圖,提高軟體開發複用效率

dvlue發表於2009-07-24

作者:IT168 火星人   2009-07-23   

這是一個典型的趕工期的軟體開發專案。不但專案團隊是臨時組建的,並且大部份團隊成員是經驗尚淺的新人。

    由於專案時間緊張、任務重而且難度大,老闆給我分配任務時特別的提醒我說:"這是一個趕工期的任務,因此這個專案的核心競爭力在於專案過程中的有效複用,不但是指程式程式碼的複用,而且也是指團隊成員知識和經驗的複用。這個專案能否按工期完成的瓶頸就在於你能否有效的進行復用"。由於要趕工期,我一開始就把自己全部時間都投入到程式程式碼的編寫裡,並沒有花時間和精力關注新人的表現和如何發揮團隊的知識複用上來。結果是不出老闆所料,由於複用效率低下,專案進行到一半時就已經明顯的滯後於預期計劃中。我也陷入如何提高複用效率的困惑和思考之中。

    讓這個趕工期的軟體開發專案得以順利推進的方法是,針對專案趕工期的瓶頸,用知識地圖的方法進行復用,包括建立方便新人儘快成長的知識地圖複用指引,其次是團隊知識複用共享,然後是專家知識地圖索引,後來到沉澱專案知識庫將專案開發標準化,以增加開發團隊的工作效率。

    一.沒有進行知識複用的困擾

    在向老闆請教知識地圖的複用後,我發現我在這個專案的前半段時間裡,犯了以下三個方面的錯誤:

    (1)沒有對新員工進行培訓

    因為這個團隊大部份成員是經驗尚淺的新人,按理說"磨刀不誤砍柴功",對新員工的培訓是必須的。但在初期我考慮到培訓新人是需要花費一定的時間和精力,再加上專案的工期很緊張,所以我以為只要我全力把程式的程式碼編寫好就能按期完成。實際上這種認識是一個誤區,因為個人的力量總是有限的,當沒有發揮團隊的力量時,提高整體工作效率只能是一句空話。

    (2)團隊沒有進行知識共享

    軟體開發行業裡面有句行話:不要重複發明輪子。這句話的意思是,知識的共享對於知識發揮能量是十分重要的,這個規律適用於團隊或個人。因此,知識分享對於專案團隊和個人都是一種財富。而且,許多實踐也表明如果團隊成員能夠相互利用各自的經驗或知識分享,那麼團隊的力量將會發生巨大的變化。因為團隊能力的提升最終還是要落到團隊的每一個成員身上。例如,專案中每一步要完成的工作內容,都可能複用過往的知識來提高工作效率的,但前提條件是團隊成員要把自己的一些思路和想法與大家分享,而且這些知識和經驗的複用也是團隊最有價值的東西之一。

    (3)沒有複用團隊的隱性知識

    老闆在聽完我報告後,他不同意專案滯後是因為大部份團隊成員經驗尚淺的原因。他指出我之所以專案知識複用失敗,是因為我根本沒有對隱性知識進行復用管理,特別是沒有對專家的隱性知識進行復用管理。

    他認為一個專案團隊所擁有的知識可以分為隱性知識和顯性知識。顯性知識是指可以用正式、系統化的語言傳播的知識,儲存在各種型別的載體上。隱性知識是指不能用文字記述的、或難以用文字表達的知識,它表現為一些思考方式和處理問題的習慣,主要是通過行動表現出來。顯性知識和隱性知識的關係類似於大海中的島嶼,顯性知識只是露出海面的一個小島,而隱性知識是隱藏在海面之下的龐大的部分。而且團隊中最寶貴的知識往往就是員工經過長時間工作歷練而累積下來的隱性知識。因此,如何將隱性知識進行復用也是提高知識複用效率的核心問題。

二.什麼是軟體開發的知識地圖?

    (1)什麼是知識地圖

    知識存在於人腦中,大致可以分為兩種性質。一種是客觀及易於用語言表達的,另一種是主觀及不易形式化的。前者稱為顯性知識,後者稱為隱性知識。顯性知識是可以客觀捕捉及描述的概念,譬如報告書、手冊、程式、檔案、記錄等,多具有文字性與結構性。隱性知識是主觀的概念,體現為個人經驗、印象、熟練的技術、文化、習慣等。如果一定要將其形式化,最多能做到的是故事性的描述或是條例式的原則。

    顧名思義,知識地圖是知識指引、導航。知識地圖這一概念最早是由知識專家布魯克斯提出的,他認為知識結構可以繪製成以各個知識單元概念為結點的學科認識地圖。它能夠使知識尋找者在浩如煙海的資訊中快速找到自己所需要的部分,及時準確地做出決策。

    對於軟體開發專案來說,專案團隊知識地圖就是指團隊的知識資源的總分佈圖,具體包括兩部分內容:一是專案知識資源的總目錄及各知識點間的關聯;二是人員專家網路,即對專案人員的知識技能及相關領域專家的描述。所以,一幅好的團隊知識地圖不僅能清楚揭示團隊內部、外部相關知識資源的分佈及知識節點間的相互關聯,而且還能建立知識與人、人與人之間的聯絡。簡單的說,就是知識地圖的主要功能在於當我們需要某項專業知識時,可以透過知識地圖的指引,找到所需的知識或擁有知識的人。

    (2)知識地圖的功能和作用

    根據定義,知識地圖是一種幫助使用者知道在什麼地方找到知識的管理工具。知識地圖雖然看起來是一個很複雜的導視系統,但一張看似簡單的地理結構圖實際上卻蘊含了大量、細緻的工作,而且應用起來很簡單和方便。它的功能和作用主要有:

    ①指示團隊的知識資源的位置

    這是知識地圖最根本的功能,它能告訴人們到哪裡去找需要的知識,並通過各種方式引導人們找到所需的知識和資訊。因此,知識地圖也可以認為是反映團隊內外部知識資源狀況的導航圖。

    ②揭示團隊中的隱性知識

    由於隱性知識存在於人腦中,很難顯性表述或者轉化成本太高,或在提煉過程中會失去很多特性,因此找到擁有知識的人也就找到了需要的知識。簡單地說,就是團隊裡面有哪些人員,這些人員具體從事過哪些專案,有些什麼知識背景和經驗。所以,知識地圖的一個功能就是指向這些擁有豐富的隱性知識的專家。其它成員通過知識地圖就能找到和利用團隊中的隱性知識,從而有效地利用好團隊的隱性知識來提高工作效率。例如,某位軟體工程師甲曾經開發過基於Oracle程式設計的人事管理軟體,當專案現在也需要開發一個基於Oracle系統的人力資源系統時,通過專家知識地圖就可以很快尋找到這位軟體工程師甲,讓他把一些經驗和思路進行分享,從而大大的提高工作的複用效率。此外,知識地圖不僅能對團隊內部成員的隱性知識進行揭示,而且還能揭示團隊外部專家的知識,從而將外部的專家資源納入資源網路中,使內部人員可以方便地獲得外部的支援。

    ③揭示知識節點之間的關係

    知識地圖能揭示知識節點之間以及知識節點與人或特定事件相互之間的關係。例如,知識地圖通過揭示款目之間的關係實現知識的提取和共享,如等級關係、相關關係、因果關係、邏輯關係、評價關係等。每個知識節點與其它節點相連,或與相關的人員相連,或與相關的事件相連,這樣就構成了一個知識網路。順著這個網路,就可以找到所有與這個知識節點相關的東西。因此,很多學者認為知識地圖在揭示知識之間的關係時,往往會發生意想不到的效果,就是發現以往所沒有發現的某些知識之間的新的關係,從而產生新的知識。這一點在軟體開發中能大大的提高知識的複用效率。

    ④知識地圖能幫助團隊成員共享知識

    知識地圖不但有助於增強團隊的學習能力和共享文化,也能使新員工儘快適應工作崗位。因為各成員通過在知識地圖中的漫遊和查詢時,不僅可以進行實時學習,還可以發現關聯的知識,這種特性可使團隊成員大大增強分享的活力。

三.軟體開發團隊實行知識地圖的策略

    實行知識地圖來提高知識的複用效率可以總結為三個重點:第一個重點是知識來源的尋找與整理,第二個重點是知識內容的儲存與流通,第三個重點是知識價值的創新與利用。因此,繪製軟體開發團隊的知識地圖的策略如下:

    (1)識別關鍵使用者群,以使用者需求為導向

    知識地圖最終是要為需要的人員提供幫助,如團隊成員、合作伙伴和客戶等。因此明確知識地圖的使用者需求是第一步。以使用者需求為導向是指要求知識地圖不一定求全但一定要實用和方便,這也是對知識地圖的基本要求。所以,在建立知識地圖之前,必須識別關鍵使用者群,以使用者需求為導向。例如,團隊希望通過知識地圖達到什麼成效等;或者是否希望將團隊中擅長某些領域的專家資源進行羅列,讓員工在遇到疑難問題時能快速找到解決相關問題的專家等;或者是否需要為新人建立的工作知識地圖指引,讓新員工得到及時快速的培訓,以最短時間適應新的崗位等。

    (2)評估團隊的知識資源,界定知識地圖範圍

    知識和經驗必須被重複運用才能顯出其價值,所以在對使用者需求分析後,還需要針對所蒐集的知識資源範圍加以界定,以便確認知識是否可以滿足該需求。例如,團隊擁有哪些顯性知識? 團隊擁有哪些可以滿足成員的知識需求但尚待轉化的隱性知識? 這些知識存貯在什麼地方或誰的頭腦中?因此,將重要知識及技能的範圍加以分類和評估也是很重要的事情。

    (3)借用知識管理工具,建立專案知識庫

    如何才能在茫茫的知識海洋中,有效的將所需要的知識進行收聚呢?知識管理工具是一種有效的方式,特別是專案知識庫。這裡值得強調的是,知識管理工具不僅是以計算機為基礎的技術工具集合,實際上只要是能夠對知識的生成、編碼和傳送有益的技術和方法都可以稱為知識管理工具。利用知識管理工具的好處是我們可以將團隊中大量隱性的知識,通過工作總結、案例總結、研究報告等將方式沉澱下來,還可以累積團隊外部的專案管理方面的參考資料,以提供給團隊其它成員共享、學習和應用。

    (4)不斷更新,以保持知識地圖的時效性和準確性

    有效的知識地圖的維護是必不可少,包括從內容和結構上進行更新,而且更新時應該儘可能地從基礎使用者那裡獲得最新最準確的資訊,這樣才能發揮知識地圖的最大效益。例如,某位成員離職後,團隊很可能會失去部份的知識資產,或是當某位員工接受了某個課程的教育訓練後,公司的知識資產會增加,這些情況都會使得知識地圖的連結與關係發生變化。

    最後,團隊還應保留過去不同時期的知識地圖,以觀察團隊知識資產與知識需求的變化。總而言之,不斷更新、整理和維護專案的知識地圖是一件很細緻的工作,需要耐心的對待,也是需要時時關注的事情。

    可以適當的將專案管理與人力資源進行關聯管理。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7656893/viewspace-610353/,如需轉載,請註明出處,否則將追究法律責任。

相關文章