第3章?復(fù)雜系統(tǒng)理論
很多敏捷軟件開(kāi)發(fā)專(zhuān)家都認(rèn)同,軟件開(kāi)發(fā)團(tuán)隊(duì)可以視為一個(gè)復(fù)雜的自適應(yīng)系統(tǒng)哆档,因?yàn)閳F(tuán)隊(duì)是由一定范圍內(nèi)若干個(gè)相互影響的部分組成芹壕,并且能夠根據(jù)過(guò)去的經(jīng)驗(yàn)來(lái)學(xué)習(xí)和改變盒蟆。
《涌現(xiàn):復(fù)雜性與組織》雜志曾經(jīng)就涉及“復(fù)雜性”的管理類(lèi)書(shū)籍對(duì)來(lái)自各學(xué)科的專(zhuān)家進(jìn)行過(guò)一次廣泛的調(diào)查,這些學(xué)科中不發(fā)物理和數(shù)學(xué)這樣深?yuàn)W的領(lǐng)域网棍。結(jié)果顯示黔龟,評(píng)審人員都認(rèn)為復(fù)雜性理論應(yīng)用于組織和管理中時(shí)很有用。
進(jìn)入正題了滥玷。敏捷導(dǎo)入培訓(xùn)時(shí)氏身,教練拿出snowden的認(rèn)知模型問(wèn)大家,敏捷轉(zhuǎn)型是屬于哪個(gè)象限惑畴,有同事覺(jué)得是屬于簡(jiǎn)單或者是繁雜象限的蛋欣,理由是敏捷也不是什么新東西了,也已經(jīng)有很多公司完成了敏捷轉(zhuǎn)型桨菜,應(yīng)該還是有一定的套路可循的豁状。教練答復(fù)說(shuō)敏捷是屬于復(fù)雜象限的,因?yàn)橐粋€(gè)軟件團(tuán)隊(duì)其實(shí)就是復(fù)雜的倒得,每個(gè)個(gè)體作為一個(gè)獨(dú)立的人就是復(fù)雜的泻红,再引入人際關(guān)系就更為復(fù)雜,并且團(tuán)隊(duì)成員越多溝通渠道就越多霞掺,人與人會(huì)通過(guò)互動(dòng)互相影響谊路,很多事情不會(huì)按照設(shè)計(jì)好的方向演進(jìn)。
跨職能科學(xué)
幾十年來(lái)菩彬,不同學(xué)科領(lǐng)域內(nèi)的科學(xué)家們一直踟躇于他們無(wú)法解釋的“復(fù)雜”現(xiàn)象缠劝。如果各個(gè)學(xué)科之間能夠互相聯(lián)系起來(lái)并且人們將跨所有學(xué)科的系統(tǒng)理解成復(fù)雜系統(tǒng),一切會(huì)變得豁然開(kāi)朗骗灶。我曾經(jīng)聽(tīng)到一個(gè)說(shuō)法:當(dāng)科學(xué)家在其不熟悉的領(lǐng)域內(nèi)工作時(shí)惨恭,科學(xué)會(huì)有一個(gè)質(zhì)的飛躍,因?yàn)樗麄儠?huì)將其熟悉的耙旦、其他領(lǐng)域內(nèi)的只是和經(jīng)驗(yàn)(哪怕是失敗的呢)帶到該領(lǐng)域脱羡。
就像敏捷軟件開(kāi)發(fā)那樣,復(fù)雜理論側(cè)重于用跨學(xué)科的方法來(lái)解決問(wèn)題。
學(xué)習(xí)必須要跨界才行啊锉罐,不然視野會(huì)太窄帆竹,只局限在自己熟悉的小圈子里,停留在比較低的認(rèn)知水平上脓规。分學(xué)科這種學(xué)習(xí)方式其實(shí)不是很合理栽连。
一般系統(tǒng)理論
一般系統(tǒng)理論(有時(shí)簡(jiǎn)稱(chēng)為系統(tǒng)理論),他們的研究基于這樣的理念:宇宙中的多數(shù)現(xiàn)象可以視為宇宙之間的關(guān)系網(wǎng)絡(luò)侨舆。無(wú)論其本質(zhì)是生物學(xué)的秒紧、化學(xué)的或社會(huì)學(xué)的,這些系統(tǒng)都有著共同的模式和行為态罪,通過(guò)對(duì)其研究可以更深入地了解一般性的系統(tǒng)噩茄。系統(tǒng)理論的宏偉目標(biāo)是要形成一個(gè)跨學(xué)科的科學(xué)統(tǒng)一體:跨越所有學(xué)科的通用系統(tǒng)語(yǔ)言。
以下觀點(diǎn)都可以歸入一般系統(tǒng)理論:軟件開(kāi)發(fā)團(tuán)隊(duì)可以自我組建复颈;可以自我定義其身份绩聘;需要與其環(huán)境相互作用;團(tuán)隊(duì)成員之間的互動(dòng)和團(tuán)隊(duì)成員本社具有同樣的重要性(甚至更重要)耗啦。
事實(shí)證明:幾乎所有系統(tǒng)理論規(guī)則也對(duì)復(fù)雜性理論有效凿菩,這比軟件工程所取得的各種統(tǒng)一框架還要多。
溫伯格的《系統(tǒng)化思維導(dǎo)論》帜讲,到現(xiàn)在還沒(méi)有讀完衅谷,找個(gè)時(shí)間把它完成。
控制論
控制論研究的是調(diào)控系統(tǒng)似将,這些系統(tǒng)有明確的目標(biāo)获黔,并通過(guò)反饋機(jī)制與其環(huán)境相互作用≡谘椋控制論本身的目標(biāo)是要了解這種調(diào)控系統(tǒng)中的過(guò)程玷氏,包括動(dòng)作(對(duì)環(huán)境有影響)、感知(檢查環(huán)境的反饋)腋舌、評(píng)估(將現(xiàn)狀與系統(tǒng)目標(biāo)相比較)盏触,最后再回到動(dòng)作上來(lái)。這個(gè)循環(huán)過(guò)程是控制論研究的基本概念块饺。
從控制論中赞辩,我們可以看到一點(diǎn):軟件開(kāi)發(fā)團(tuán)隊(duì)是一個(gè)目標(biāo)導(dǎo)向系統(tǒng),它使用各種反饋循環(huán)來(lái)調(diào)節(jié)自身授艰。我們已經(jīng)知道在一個(gè)自我調(diào)節(jié)的系統(tǒng)中——比如軟件團(tuán)隊(duì)辨嗽,相比能量和力量,信息淮腾、溝通召庞、目標(biāo)反而是更重要的因素岛心±雌疲控制論幫助我們明白了在復(fù)雜行為開(kāi)發(fā)中篮灼,“反饋”扮演了一個(gè)關(guān)鍵的角色。
人們經(jīng)撑墙混淆一般系統(tǒng)理論和控制論诅诱。這并不奇怪,原因很多:它們相互影響送朱,它們名稱(chēng)不同娘荡;它們都想努力建立系統(tǒng)的統(tǒng)一科學(xué);實(shí)踐也證明驶沼,它們都無(wú)法達(dá)到其初始目標(biāo)炮沐。但無(wú)論如何,它們都負(fù)責(zé)承載系統(tǒng)知識(shí)體系回怜,使其后的理論可以從中受益或以其為基礎(chǔ)大年。
溫伯格在《質(zhì)量?軟件?管理》中對(duì)軟件研發(fā)過(guò)程模型的抽象中就提到了基于反饋的模型,說(shuō)這是最好的玉雾。在他寫(xiě)書(shū)的時(shí)候還沒(méi)有敏捷宣言翔试。在看到這本書(shū)的時(shí)候沒(méi)有明白他說(shuō)的是什么意思,直到熟悉了Scrum才理解他這個(gè)總結(jié)的高度复旬。敏捷是高度依賴反饋的垦缅,建立各種大大小小的反饋環(huán),讓個(gè)人驹碍、團(tuán)隊(duì)壁涎、組織、過(guò)程不斷變得更好志秃,這是敏捷有效的關(guān)鍵怔球。
動(dòng)力系統(tǒng)理論
動(dòng)力系統(tǒng)理論來(lái)源于上世紀(jì)六十年代的應(yīng)用數(shù)學(xué)。這個(gè)理論闡述了動(dòng)力系統(tǒng)有多種狀態(tài)洽损,其中有些穩(wěn)定庞溜,有些則不然。當(dāng)系統(tǒng)的一部分一直保持不變碑定,或當(dāng)它們被打亂后總是回到其原始值時(shí)流码,我們就說(shuō)穩(wěn)定狀態(tài)充當(dāng)著吸引子的作用。
動(dòng)力系統(tǒng)理論與軟件開(kāi)發(fā)的關(guān)聯(lián)性使其有助于解釋為什么有些項(xiàng)目是穩(wěn)定的延刘,而另一些則不然漫试。它也解釋了為什么有時(shí)一個(gè)組織似乎不可改變,因?yàn)樗偸腔赝说狡湓夹袨椤?/p>
感覺(jué)這個(gè)說(shuō)的是不是熵增原理碘赖,要減少系統(tǒng)的熵驾荣,必須要有外力做功外构。敏捷強(qiáng)調(diào)大家讓大家目標(biāo)一致,必須有足夠的外力吧播掷,否則很可能就會(huì)回退到原始狀態(tài)审编。何勉在《精益產(chǎn)品開(kāi)發(fā)》中提到,一位國(guó)外的敏捷大師自述歧匈,他帶過(guò)的不少團(tuán)隊(duì)垒酬,遭遇教練在的時(shí)候按照敏捷方式運(yùn)作,教練走了就退回原來(lái)狀態(tài)的例子件炉,可見(jiàn)敏捷轉(zhuǎn)型要想取得徹底的成功還是有比較大的難度的勘究,要有足夠長(zhǎng)時(shí)間的實(shí)踐,讓團(tuán)隊(duì)把運(yùn)作方式固化成習(xí)慣才行斟冕。
博弈論
作為應(yīng)用數(shù)序的另一分支口糕,博弈論嘗試捕獲系統(tǒng)在戰(zhàn)略態(tài)勢(shì)中的行為,其間磕蛇,一方的勝敗在某種程度上取決于另一方的決策景描。
博弈論在很多領(lǐng)域內(nèi)都被證明是一個(gè)重要工具,包括經(jīng)濟(jì)學(xué)孤里、哲學(xué)伏伯、人類(lèi)學(xué)和政治科學(xué)。當(dāng)然還包括軟件開(kāi)發(fā)捌袜。它不僅能幫助軟件開(kāi)發(fā)人員創(chuàng)建游戲说搅、電子市場(chǎng)和點(diǎn)對(duì)點(diǎn)系統(tǒng),也對(duì)團(tuán)隊(duì)中的人的行為和組織中的團(tuán)隊(duì)行為做出了解釋虏等。
人和人之間是會(huì)互相影響的弄唧。
進(jìn)化論
進(jìn)化論對(duì)所有系統(tǒng)研究都貢獻(xiàn)巨大,無(wú)論是生物系統(tǒng)霍衫、數(shù)字系統(tǒng)候引、經(jīng)濟(jì)系統(tǒng)還是社會(huì)系統(tǒng)。有人說(shuō)團(tuán)隊(duì)敦跌、項(xiàng)目和產(chǎn)品都是在適應(yīng)其不斷變化的環(huán)境中得到“進(jìn)化”澄干。雖然軟件系統(tǒng)中的“進(jìn)化”和達(dá)爾文鎖描述的并不相同,但進(jìn)化思想能幫助我們理解系統(tǒng)是如何隨著時(shí)間的推移而成長(zhǎng)柠傍、生存和適應(yīng)的麸俘。因此,我將進(jìn)化論視為系統(tǒng)知識(shí)體系的大腦惧笛。
敏捷強(qiáng)調(diào)適應(yīng)性調(diào)整从媚,符合進(jìn)化論說(shuō)的適者生存。從歷史來(lái)看患整,最適合環(huán)境變化的物種未必是最有力或者最聰明的物種拜效。
混沌理論
動(dòng)態(tài)系統(tǒng)固有的不可預(yù)料性對(duì)估計(jì)喷众、規(guī)劃和控制有著深遠(yuǎn)的影響,這在氣象學(xué)家和交通學(xué)家之間有著廣泛的共識(shí)紧憾,但是項(xiàng)目經(jīng)理和直線經(jīng)理很少愿意承認(rèn)這一點(diǎn)到千。
有人認(rèn)為混沌理論是復(fù)雜理論的前身,并因其不確定性和變化性而受到廣泛贊譽(yù)稻励。這也是我將其比作系統(tǒng)知識(shí)體系心臟的原因父阻。
混沌理論是核心,意思還是強(qiáng)調(diào)不可預(yù)測(cè)性吧望抽?
系統(tǒng)知識(shí)體系
“復(fù)雜”這個(gè)概念還沒(méi)有統(tǒng)一的定義,而且也沒(méi)有單獨(dú)的理論能解釋所有復(fù)雜系統(tǒng)履婉∶焊荩科學(xué)家長(zhǎng)期依賴一直努力尋找適用于所有系統(tǒng)的基本原理,但到目前為止毁腿,它們還沒(méi)有取得成功辑奈。
每一個(gè)系統(tǒng)都是不同的,而且過(guò)去的經(jīng)驗(yàn)并不是未來(lái)的保證已烤。所以鸠窗,似乎我們所擁有的知識(shí)一個(gè)理論集,而這些理論有時(shí)是互補(bǔ)的胯究,有時(shí)是重疊的稍计,有時(shí)又是矛盾的。
盡管身體的某些部位比例失調(diào)裕循,并且我所畫(huà)的任務(wù)比穿著短裙的僵尸還難看臣嚣,但系統(tǒng)知識(shí)體系這個(gè)“身體”是活蹦亂跳、生氣勃勃的剥哑。如果應(yīng)用于復(fù)雜系統(tǒng)硅则,我們將稱(chēng)其為復(fù)雜系統(tǒng)理論。
作者把上面這些知識(shí)體系全部都畫(huà)到一個(gè)小人身上了株婴,如下圖:
簡(jiǎn)單:新模型
系統(tǒng)的結(jié)構(gòu)-行為模型
縱坐標(biāo)指的是系統(tǒng)的結(jié)構(gòu)和我們?nèi)绾握_理解它怎虫。
簡(jiǎn)單的=容易理解
繁雜的=非常難以理解
橫坐標(biāo)指的是系統(tǒng)行為和我們的預(yù)測(cè)能力。
有序的=完全可以預(yù)測(cè)的
復(fù)雜的=在某種程度上可以預(yù)測(cè)(但會(huì)有很多出乎意料的事情發(fā)生)
混沌的=極其難以預(yù)料的
我的內(nèi)衣很簡(jiǎn)單困介,我很容易理解它們的工作原理大审。但是我的手表是精密繁雜的。如果把它拆開(kāi)逻翁,我需要很長(zhǎng)時(shí)間才能了解其設(shè)計(jì)原理和組件饥努。但是我的手表和我的內(nèi)衣都沒(méi)有什么讓人吃驚的(至少對(duì)我而言)。它們是有序的八回、可以預(yù)料的系統(tǒng)酷愧。
其他的模型
這與其他模型是如何區(qū)分的驾诈?
斯諾登(David Snowden),一名知識(shí)管理學(xué)者溶浴,提出了一種稱(chēng)作Cynefin的架構(gòu)乍迄,它描述的是一個(gè)環(huán)境類(lèi)型學(xué),分為四類(lèi):簡(jiǎn)單士败、繁雜闯两、復(fù)雜和混沌(第五類(lèi)叫失序,被放到中間)谅将,用于指導(dǎo)決策和政策的制定漾狼。
管理學(xué)教授史泰西(Ralph Stacey)創(chuàng)建了一個(gè)類(lèi)似的模型,叫“認(rèn)同度&確定性矩陣”(The Agreement & Certainty Matrix)饥臂,它展示了四個(gè)領(lǐng)域:簡(jiǎn)單逊躁、繁雜、復(fù)雜和混亂(混沌)隅熙。它基于兩個(gè)維度:認(rèn)同度和不確定性稽煤。
在第16章中,你會(huì)看到所有的模型都是錯(cuò)的囚戚,但有些還是有用的酵熙。這提到的三個(gè)模型都是錯(cuò)誤的诺凡,但每一個(gè)都有用斗遏。我的模型與另外兩個(gè)模型的主要區(qū)別就是我沒(méi)有將繁雜和復(fù)雜視為兩個(gè)獨(dú)立的領(lǐng)域。我的“結(jié)構(gòu)-行為”模型識(shí)別出6個(gè)領(lǐng)域而非4個(gè)铸史,并且在繁雜的和復(fù)雜的系統(tǒng)方面有一些重疊庐橙。如果感覺(jué)這有用假勿,可以用我的模型進(jìn)行系統(tǒng)評(píng)估。如果覺(jué)得沒(méi)用态鳖,就使用另外兩個(gè)转培,它們也不錯(cuò)。
Cynefin模型如下圖:
認(rèn)同度&確定性矩陣模型如下圖:
“繁雜的”指的是系統(tǒng)的構(gòu)造錯(cuò)綜復(fù)雜而無(wú)法理解浆竭,除非你是一個(gè)專(zhuān)家浸须。而“復(fù)雜和混沌”指的是系統(tǒng)行為——這在一定或很大程度上是不可預(yù)料的。繁雜的東西不一定復(fù)雜邦泄,就像一個(gè)車(chē)庫(kù)里的兩輛汽車(chē)一樣删窒。復(fù)雜也不一定是繁雜的,就像兩個(gè)人在一個(gè)臥室里顺囊。
很難搞得清楚繁雜和復(fù)雜的區(qū)別肌索,不過(guò)這兩個(gè)例子說(shuō)清楚了,繁雜是頭緒很多但仍然有章可循特碳,復(fù)雜是指無(wú)法預(yù)料的東西诚亚。人是復(fù)雜的動(dòng)物晕换,兩個(gè)人在一起就更復(fù)雜了。這是為什么程序員寧愿和機(jī)器打交道站宗,不愿意和人打交道的原因吧闸准。
簡(jiǎn)單化,目的是使結(jié)構(gòu)更容易理解(在我的模型中將其從頂端移到底部)梢灭。
線性化夷家,目的是使行為更容易預(yù)測(cè)(在我的模型中將其從右邊移到左邊)。
不幸的是敏释,人們經(jīng)常將線性化(外行人這樣定義)與簡(jiǎn)單化混為一談库快。這就是混亂的開(kāi)端。
軟件系統(tǒng)中的復(fù)雜性指的是什么颂暇?
很多人認(rèn)為缺谴,軟件應(yīng)該盡量簡(jiǎn)單。當(dāng)軟件不夠簡(jiǎn)單的時(shí)候耳鸯,有些人就會(huì)要求“減少?gòu)?fù)雜性”。
這有點(diǎn)亂膀曾,因?yàn)椤皽p少?gòu)?fù)雜性”中的“復(fù)雜性”這個(gè)詞不符合“復(fù)雜性”的科學(xué)本義县爬。同時(shí)也無(wú)法區(qū)分軟件系統(tǒng)的結(jié)構(gòu)和行為。
但是添谊,我的良知告訴我财喳,我必須承認(rèn)一點(diǎn):在“復(fù)雜”和“繁雜”這兩個(gè)詞早在科學(xué)家開(kāi)始賦予它們不同的含義之前就已經(jīng)存在了。所以在這一點(diǎn)上斩狱,門(mén)外漢是正確的耳高,科學(xué)家反而錯(cuò)了。
但是所踊,如果要求專(zhuān)家理解你的軟件結(jié)構(gòu)泌枪,我更喜歡說(shuō)它是繁雜的。當(dāng)軟件行為無(wú)法完全預(yù)測(cè)時(shí)(比如在人工智能秕岛、神經(jīng)網(wǎng)絡(luò)或多人游戲中)碌燕,我就認(rèn)為軟件是復(fù)雜。
簡(jiǎn)單的继薛、結(jié)構(gòu)良好的軟件可能具有非常復(fù)雜的行為修壕,而繁雜、混亂的軟件仍舊可以正常運(yùn)行遏考,并且不出任何意外慈鸠。
在中文世界里,似乎繁雜和復(fù)雜這兩個(gè)詞很難區(qū)分灌具,剛才想要解釋繁雜青团,似乎第一時(shí)間想到的還是復(fù)雜這個(gè)詞譬巫。或許把complicated翻譯成繁復(fù)的壶冒,把complex翻譯成費(fèi)解的或者難懂的缕题,可能更符合原意。繁復(fù)的只是線索和頭緒比較多胖腾,但仍然是可以理解的烟零,因?yàn)槠溥€是符合一定的規(guī)律,從因能夠推導(dǎo)出果咸作;而費(fèi)解锨阿、難懂的意思是無(wú)法找到明顯的因果關(guān)系。
最后记罚,總結(jié)下這一章的中心思想吧:
一個(gè)新時(shí)代:復(fù)雜性思維
本書(shū)應(yīng)用復(fù)雜系統(tǒng)理論的方式與這個(gè)理論本身所表達(dá)的非線性墅诡、非決定性和不確定性并不矛盾。管理3.0模型應(yīng)用了復(fù)雜性思想桐智。它假設(shè)管理者不能建立并駕馭自組織的團(tuán)隊(duì)末早。但是,必須建立并培養(yǎng)這樣的團(tuán)隊(duì)说庭。它承認(rèn)一個(gè)高效的組織不是靠模型和計(jì)劃來(lái)管理的然磷。相反,它必須要依靠自組織和進(jìn)化的力量才能發(fā)展壯大刊驴。我希望看到復(fù)雜性思維可以像陽(yáng)光一樣滋潤(rùn)著萬(wàn)物的生長(zhǎng)姿搜。它是一切生命派生和成長(zhǎng)的能量源。
我是有底線的