天天看點

軟體開發組織的學習軟體開發組織的學習

軟體開發組織的學習

主題概述

本文的讀者:電信網管開發人員,或軟體開發人員。

主題期望:将軟體複雜性、開發人員複雜性、團隊開發效能,群組織的學習聯系起來,希望建立一個針對電信網管開發項目建立一個相應的團隊,具有适配開發項目的組織型學習模型,來解決軟體複雜性、團隊整體效能或者說,要開發電信綜合軟體系統,降低軟體複雜性,需要什麼樣的團隊:組織學習模型和團隊經營結構。

問題

電信管理系統解決方案具有極強的複雜性,怎樣使電信管理系統解決方案能夠在新的網絡技術和業務啟動之時,同時将它成功的帶入市場?這應該是每一位緻力于電信發展的人所應思考的問題,也應該反問一下這些問題:

我們能夠成功的建立一個電信管理系統,但是能使之與市場同步嗎?

我們能夠基本處理電信管理系統生命周期的問題,但是我們能随着需求的變化,而快速改進系統,使之具有市場競争性嗎?

我們也許能夠研發符合需求的電信網管系統,但是我們能否使我們的系統符合電信網絡結構的不斷變化和發展,或者說我們的研發系統能否符合硬體網絡和市場需求的變化和發展?

總之,這些問題也許可以歸結為:電信網管系統的研發能否同步網絡硬體和需求的變化發展,這樣一個問題。

這個問題的一個關節點就是:電信網管系統解決方案的複雜性,怎樣降低它得複雜性就是本文做要解決的問題。我們的目标就是要如何減小網絡技術、業務提供已準備就緒的時間,和實際上既經濟又有效的推出網絡業務并完成商用級電信網絡系統解決方案時間的差距?這樣大的目标是不可能通過一篇小文章來解決的,本文旨在抛磚引玉。僅僅想為這個目标的達成,引發一些思考。

本文想要解決的問題和觀點:建立良好的學習型人才組織是成功研發電信管理網絡系統的核心。

解決方案

資料正文

軟體複雜性和電信網管系統的複雜性
用總體完整性解決電信管理系統的複雜性

問題是怎樣成功的将電信管理系統引入到電信的整個商業網的營運中?将電信網絡系統引入到電信業務網的生命周期的關鍵:

我們的“複雜系統”是一套所需的電信管理系統,為了成功、保證效率,必須有一套将電信管理系統綜合進網絡提供者業務的改變和演進的商業過程。

為了引進新技術,就需要一個學習的過程,也是一個組織過程,具有相應的組織結構和動态特性更改,并在組織内激發核管理學習程序。

這種組織包括:合适的電信網管的研發組織;技術推廣組織;産品化組織以及商業化營運中的學習組織等。

怎樣建立随技術引進到商業運作的過程不斷進步、變化的動态組織,這樣的組織應該是學習型的組織結構,也就是說怎樣建立,符合将高科技成功引入到商業實踐中的學習型組織?

軟體複雜性:

在Fred Brooks的《人月神話》一書上闡述了,軟體系統的前景是沒有“銀彈”,它是由于軟體的複雜系造成的:有固有複雜性,也有偶然複雜性。固有複雜性是由于軟體本性繼承下來的;而偶然複雜性是由于目前實踐的各個因素産生的,其中人的因素起着關鍵部分。

軟體的固有複雜性由于軟體産品的4個基本因素産生的:适應性;延展性;不可見性和錯綜複雜性(INTRICACY)。是以,Brooks認為:在考慮系統設計時最重要的是方案的完整性。

這就是說複雜系統的成功降低其複在性在于解決方案的完整性。

解決方案的完整性,在于設計本身的完整性和實踐的完整性。

最終的答案是使用體系結構完整性對抗系統複雜性,其中概念整體性和完整性是系統設計中主要考慮和維護的方面之一。者可以展示出設計完整性的一條解決之路。但是對于實踐的完整性呢?

其核心在于人群組織。一個學習型組織,具有能随着未來發展、技術引進、實踐操作、商業需求等來改進和迅速适應的團體和人的組織體系。

對于降低電信網管系統的複雜性從實踐的完整性來考慮,我們可以建立适應于它的學習型組織;不是将開發系統結構來适應人的組織,而是應該将人的組織結構和群體思維結構适應開發系統本身所需要和要求。

總起來說,人-組織是建立成功電信網絡管理系統的商業運作的核心,以人為本,就局部來說,也許有這個含義。

學習型人才組織

1.  個人學習模型:

依據我們的目的,個人學習定義為:通過需要強化以過去經驗為基礎的技巧和知識,提高個人以後采取有效行動的能力。可見,它有兩部分:(1)技巧、技能(知道怎樣做)和采取有效行動取得正确結果的能力;(2)知識、原理(知道為什麼),能夠從經驗得出概念、原理的了解的抽象能力。怎樣解決二者的關系,已經有了多種模型對其進行的研究和實踐。

依據經驗心理學理論,經驗學習是:計劃-實踐-檢查-行為,構成的一個循環,螺旋進步,不斷提高的過程。類似的在系統研發組織的學習,可以類比,如下圖:

學習一般分為:操作型學習和概念型學習,也有人稱為程式性記憶和陳述性記憶。

将個人學習模型類比成計算機程式可如下圖概述:

圖2 個人學習的計算機程式模型

操作性學習包括完成由現有的、已編碼的例行程式控制的特定技能和任務,這些例行工作也需要依據應用中的學習結構而更新和修改。例行程式是個人技巧和技能的一部分,用于完成日常工作任務。例行架構嵌在架構中,由一套支援該架構的、特定的例行程式組成。顯然,例行程式對應着圖1中的實作執行操作過程;架構對應着概念過程中的設計步驟;個人智力模型對應着個人學習模型。

由此,在目前這個軟體逐漸邁向工業化方向的時代,軟體開發人員的智力結構應該具有的基本結構,在這個共同的構造基礎上,我們應該怎樣構造我們個人的學習習慣和操作我們個人的學習實踐過程?

2.  個人單循環學習和雙循環學習

(1)。個人單循環學習:

定義:檢查并試圖改進正常操作和例行程式中的操作效率,這樣的思維結構可以得到保持并逐漸改進。單循環學習對外部事件的反應是調用觀察-評估-設計-實作循環,然後執行某些以現有架構和例行程式為基礎的人工幹預,或對例行程式作适當調整。意思是說,單循環學習是對基本架構的“隻讀”,偶爾對例行程式執行改進性“寫”操作。如圖3:

圖4 個人單循環學習。

(2)個人雙循環學習

雙循環學習:定義為檢查并試圖改正已建立的政策和架構下的操作和例行程式中的基本缺陷,進而可以更新架構,建立新的或改進的例行程式。它對外部事件的反應是進行觀察和評估,然後更新框件和例行程式,在新的架構和例行程式的基礎上進行新的個人幹預。隻需将上圖4的單循環學習加上從評估環節到個人智力模型的“寫”操作,即可實作上循環的“讀寫”式的學習模型。如圖5:

通過對這兩種學習模型的訓練可以使個人的學習方式、學習習慣和思維方式達到不斷的改進,進而能夠更快的适應迅速變化的對人的不斷提高的能力要求。可以看出,單循環學習是修正性的,旨在調整、改寫現有的例行程式;而雙循環學習則是創造性,改寫基本架構建立新的例行程式。

上面是一個良好的理論模型,它能為我們的學習行為提出怎樣的指導或可操作性方法呢?也就是說,它變成實踐方法的可行性行為是什麼?我們該怎麼做?

3.  軟體開發人員個人學習方略

本文針對軟體開發人員的學習行為提出一個參考意見:

(1)。抽時間,總結你的“例行程式”即開發技巧,及其相關資料,并彙總成文。

(2)。總結并檢查自己的“架構”體系結構,包含自己的知識架構、實踐過的項目架構等,并彙總成文。

這兩點用來提高和改寫你的理論架構,進而,不斷随着需要改寫并完善你的技能結構。這是由于隻有符合目前需求的知識結構、技能結構、和技術結構,才是人才具有的真正的内容。真正的人才是随着需求的變化,能夠快速改進自己智力結構和技能、技術的人。

(3)。在工作過程中,具備反思的習慣。

(4)。在完成任務過程中,即執行你的“例行程式”完成指派任務過程中,通過檢查或觀察結構,發現自己的知識、技術等的不足,從錯誤中學習,從問題的解決過程中學習,或者應是一種行為習慣。比如:紀錄工作中的問題,解決方式,即使是很小的問題,也許對别人不是問題,既然當時對你是個問題,你就應該紀錄它,并彙總起來,用以進行總結時的原始材料。

(5)。要不斷的評估你的技術和知識以至能力,不論是目前已具備的,還是即将要适用的;不斷發現自己最近剛剛學到的,不斷預測自己将要用到的技術等等,都進行評估,然後依據(1)(2)來改寫你的“架構”。

(6)。保持不斷進取的精神;不斷改進自我的思想;保持自己的戰鬥力和競争力就要保持自己的目标。

(7)。注意身體健康和勞娛結合;保持青春之心。

4.  組織的學習概念和實質。

一個固有的前提:就是一個組織具有深入其結構内的公用思維模型,它直接或間接的影響着該組織的進行的每一件事,以及工作的背景基礎内容。它們也許不容易被人們說清楚,盡管組織的多數人都了解它,至少是心照不宣,這些模型控制了日常的決策和偶爾的決策。康維定律:設計系統的組織在進行設計時受到限制,這系設計是這些組織的通信結構的複制品。換句話說:組織及其系統是共息的——互相需要并必須互相适應。也許讓系統比對它所支援的人比人比對系統容易的多。對此,為使電信管理系統的體系結構有所改變,需要在組織結構和動态特性上預先有所改變,這樣整體構架才能自然變化。

對于具有這樣特點的組織的學習,應該把這個對特定群體中的思維模型,以及對應的基礎知識架構等,提取出來,作為群體提高和改進的基礎,并在實踐過程中随社會需求不斷改進而變化,這種變化也許較慢,但是它應是整個團體思維和背景知識架構的不斷進化的總結,也可用以衡量團隊中人員的素質。

當然上面如果真的做起來,也許非常之難。是以,一個變通的辦法就是建立組織的學習模型,使組織具有自我增強能力。

在引文[6],說道:提高組織的例行程式速度并改變它們的具體内容,同時在現行的例行程式中準确的轉換,是競争優勢的主要來源…。這就是組織單循環學習的特點,它通過改進組織的運作行,來去處複雜性。這顯然是組織學習的一個重要方面,同時組織的學習還需要上循環性質的學習。

5.  組織的學習模型。

(1)       組織的單循環模型。

(2)       組織的上循環學習模型

将操作性學習與概念性學習聯系起來是非常重要的,也就是,将知道怎麼做和知道為什麼即實踐和理論聯系起來的重要性是顯而易見的。怎樣将二者有效的關聯起來,達到一種動态的平衡呢?在文[4]中作者做了論述。

我們在此僅論述操作性知識和概念性知識的轉換,用以實作充分利用操作性知識,與概念性知識結合來産生有效的學習循環。可能的轉換入下:

操作性知識到操作性知識的轉換:這種轉換主要在“操作中學習”,使用“傳幫帶”、現場教育訓練、學徒等方式。

操作性知識到概念性知識的轉換:

概念性知識到概念性知識的轉換:轉換概念性知識中作用最大的是從操作性知識轉換來的,它再與其它概念性的例行程式和架構組合起來,形成新的、可擴充的架構。

概念性知識到操作性知識的轉化(内部化行為)

組織學習的綜合模型。 

繼續閱讀