熱力學(xué)第三定律:能量轉(zhuǎn)化率不可能100%,其中不做功的能量稱為熵。
在軟件開(kāi)發(fā)中,主要存在兩種形式的熵:工程熵和組織熵
工程熵是技術(shù)方案本身導(dǎo)致的無(wú)效能量消耗,組織熵是組織架構(gòu)本身導(dǎo)致的無(wú)效能量消耗。
譬如,一個(gè)單機(jī)版本程序,使用了EJB技術(shù)方案就比采用WEB方案熵要大的多。技術(shù)方案最好是依據(jù)實(shí)際情況進(jìn)行評(píng)估和確定,可以有效提升軟件開(kāi)發(fā)的工程效率。
一個(gè)非常簡(jiǎn)單的軟件系統(tǒng),單個(gè)開(kāi)發(fā),單個(gè)項(xiàng)目組會(huì)比多個(gè)開(kāi)發(fā),跨團(tuán)隊(duì)協(xié)作組織熵要低的多;甚至同樣的人數(shù),采用不同的協(xié)作方式,組織熵也要有極大的差異。
工程熵是一個(gè)普遍嚴(yán)重的問(wèn)題,常常見(jiàn)到,在一些小的企業(yè)中,羨慕大公司的技術(shù),采用大公司才采用的非常高大上的技術(shù),最終造成很低的開(kāi)發(fā)效率。解決工程熵,需要很好的判斷能力。
組織熵是一個(gè)更普遍的問(wèn)題
在大的企業(yè)中,由于跨部分,跨團(tuán)隊(duì)協(xié)作的增加,每個(gè)人都要進(jìn)行相當(dāng)比例時(shí)間的溝通;如果企業(yè)協(xié)作復(fù)雜到一定程度,每個(gè)人需要溝通的部門花費(fèi)的時(shí)間,超過(guò)本人所有的時(shí)間呢?這個(gè)時(shí)候,有什么效能去做正常的工作呢?
組織熵的主要原因是分工的耦合,避免組織熵的核心措施是
1,避免分工
2,分工,但避免耦合
有些事情,事情本身是高內(nèi)聚,幾乎不能再分的。這種情況下,應(yīng)該避免分工
在手術(shù)刀團(tuán)隊(duì)中,醫(yī)生一人幾乎承擔(dān)了所有核心的,高內(nèi)聚,高耦合的職責(zé),這是避免分工。是在不能避免,把一些內(nèi)聚性較低的工作分配出去。
組織熵是大部分企業(yè)病的根源,其中一個(gè)原因是大公司有意的規(guī)避風(fēng)險(xiǎn),進(jìn)行掣肘;獲取整體更低的風(fēng)險(xiǎn)收益。
軟件開(kāi)發(fā)團(tuán)隊(duì),在滿足需求的情況下,盡可能采用簡(jiǎn)單的技術(shù),手術(shù)刀團(tuán)隊(duì)式的分工。
手術(shù)刀團(tuán)隊(duì)的合理分工,依賴于領(lǐng)域模型。