- 0.1 Moore’s Law
- 0.2 Metcalfe's Law
- 1、Little’s Law
- 2、Goodhart’s Law
- 3、Conway’s Law
- 4、Parkinson’s Law
- 5、Humphrey’s Law
- 6、Law of the instrument
- 7、Law of Demeter
- 8、Dude’s Law
- 9、Law of 2 Feet
- 10、Law of Propinquity
-
11、Linus' Law
0.1 Moore’s Law
摩爾定律,由英特爾創(chuàng)始人之一戈登·摩爾提出來(lái)的。其內(nèi)容為:積體電路上可容納的電晶體(晶體管)數(shù)目,約每隔兩年便會(huì)增加一倍。主要有以下三種演繹版本:
- 集成電路芯片上所集成的電路的數(shù)目,每隔18個(gè)月就翻一倍。
- 微處理器的性能每隔18個(gè)月提高一倍,或價(jià)格下降一半。
- 用一個(gè)美元所能買(mǎi)到的電腦性能,每隔18個(gè)月翻兩倍。
這個(gè)定律 被引用最多,分歧很大,反對(duì)聲音也最多,有預(yù)測(cè)認(rèn)為摩爾定律的極限將在2025年左右到來(lái),但也有更樂(lè)觀的預(yù)測(cè)認(rèn)為還能持續(xù)更久。
0.2 Metcalfe's Law
梅特卡夫定律,由喬治·吉爾德于1993年提出,但以計(jì)算機(jī)網(wǎng)絡(luò)先驅(qū)、3Com公司的創(chuàng)始人羅伯特·梅特卡夫的姓氏命名。內(nèi)容是:一個(gè)網(wǎng)絡(luò)的價(jià)值等于該網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)數(shù)的平方,而且該網(wǎng)絡(luò)的價(jià)值與聯(lián)網(wǎng)的用戶(hù)數(shù)的平方成正比。該定律指出,一個(gè)網(wǎng)絡(luò)的用戶(hù)數(shù)目越多,那么整個(gè)網(wǎng)絡(luò)和該網(wǎng)絡(luò)內(nèi)的每臺(tái)電腦的價(jià)值也就越大。
1. Little’s Law
Cycle Time = Work in Progress / Throughput
中譯為利特爾法則,由MIT (Sloan School of Management)的教授John Little于1961年提出:在一個(gè)穩(wěn)定的系統(tǒng) L中,長(zhǎng)期的平均顧客人數(shù),等于長(zhǎng)期的有效抵達(dá)率,系統(tǒng)中的平均存貨等于存貨單位離開(kāi)系統(tǒng)的比率(亦即平均需求率)與存貨單位在系統(tǒng)中平均時(shí)間的乘積。
the relationship between the average number of customers in a store, their arrival rate, and the average time in the store.
應(yīng)用領(lǐng)域:精益生產(chǎn)、系統(tǒng)運(yùn)籌方面應(yīng)用廣泛,Kanban(看板)方法論的基石。
It is the basis of Kanban.

The power of Little’s Law to Kanban teams is not its ability to predict WIP, Thoughput or Leadtime. The true power lies in its ability to influence team behavior with its underlying assumptions.
2. Goodhart’s Law
When a measure becomes a target, it ceases to be a good measure.
當(dāng)一個(gè)政策變成目標(biāo),它將不再是一個(gè)好的政策。
古德哈特定律(Goodhart's law),是以[Charles Goodhart](Charles Goodhart)的名字命名,他在1975年的文章中首次發(fā)表(當(dāng)時(shí)作為英格蘭銀行的政策建議):當(dāng)政府試圖管理這些金融財(cái)產(chǎn)的特別標(biāo)識(shí)時(shí),它們便不再是可信的經(jīng)濟(jì)風(fēng)向標(biāo)。應(yīng)用領(lǐng)域:公共管理,敏捷開(kāi)發(fā),目標(biāo)管理
了解一個(gè)指標(biāo)有意義與否的一個(gè)好的方法是試著去理解其所體現(xiàn)的個(gè)人價(jià)值。關(guān)注那些可以給出好的建議、體現(xiàn)溝通技能和良好態(tài)度,尤其是需要巨大的付出才能作弊的指標(biāo)。
3. Conway’s Law
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.任何組織在設(shè)計(jì)一套系統(tǒng)(廣義概念上的系統(tǒng))時(shí),所交付的設(shè)計(jì)方案在結(jié)構(gòu)上都與該組織的通信結(jié)構(gòu)保持一致 -- Melvyn Conway, 1967

《人月神話(huà)》:Adding manpower to a late software project makes it later --Fred Brooks, (1975)
為了趕進(jìn)度加程序員就像用水去滅油鍋里的火一樣,原因在于:溝通成本 = n(n-1)/2,溝通成本隨著項(xiàng)目或者組織的人員增加呈指數(shù)級(jí)增長(zhǎng)。很多項(xiàng)目在經(jīng)過(guò)一段時(shí)間的發(fā)展之后,都會(huì)有不少恐龍級(jí)代碼,無(wú)人敢挑戰(zhàn)。比如一個(gè)類(lèi)的規(guī)模就多達(dá)數(shù)千行,核心方法近千行,大量重復(fù)代碼,每次調(diào)整都以失敗告終。龐大的系統(tǒng)規(guī)模導(dǎo)致團(tuán)隊(duì)新成員接手困難,項(xiàng)目組人員增加導(dǎo)致的代碼沖突問(wèn)題,系統(tǒng)復(fù)雜度的增加導(dǎo)致的不確定上線(xiàn)風(fēng)險(xiǎn)、引入新技術(shù)困難等。應(yīng)用領(lǐng)域:Micro-Service 微服務(wù)

4. Parkinson’s Law
Work expands so as to fill the time available for its completion.
在工作能夠完成的時(shí)限內(nèi),工作量會(huì)一直增加,直到所有可用時(shí)間都被填充為止
帕金森定理(英語(yǔ):Parkinson's law),由英國(guó)作家西里爾·諾斯古德·帕金森提出,語(yǔ)最早出現(xiàn)在1955年《經(jīng)濟(jì)學(xué)人》中的幽默短文。在他后續(xù)的書(shū)中進(jìn)一步闡述(《Parkinson's Law: The Pursuit of Progress》)。官僚組織隨著時(shí)間而擴(kuò)大的速率。一個(gè)官僚組織(作者注:包括非政府組織)中的雇員總數(shù),通常以每年5-7%的速度增加。他認(rèn)為,有兩股力量造成了這個(gè)增長(zhǎng):(1) 一個(gè)官員希望他的下屬增加,但不希望解雇造成敵人增加;以及(2) 官員會(huì)制造工作給彼此。 同意!
5. Humphrey’s Law
The user will never know what they want until after the system is in production (maybe not even then)
用戶(hù)將永遠(yuǎn)不知道他們想要什么,直到系統(tǒng)已經(jīng)上線(xiàn)。(也許上線(xiàn)了也不知道)
"服務(wù)員,給我來(lái)份宮保雞??!"
"好嘞!"
------------這叫原始需求
大廚做到一半。
"服務(wù)員,菜里不要放肉。"
"不放肉怎么做???"
"不放肉就行了,其它按正常程序做,不就行了,難嗎?"
"好的您稍等"
------------中途需求變更
大廚:"你大爺,我肉都回鍋了"
服務(wù)員:"顧客非要要求的嘛,你把肉挑出來(lái)不就行了嗎"
大廚:"行你大爺" 然而還是一點(diǎn)點(diǎn)挑出來(lái)了
------------改動(dòng)太大,部分重構(gòu)
。。。。。。
"服務(wù)員,這樣吧,腐竹不要了,換成蒜毫能快點(diǎn)嗎?對(duì)了,順便加點(diǎn)番茄醬"
------------因工期過(guò)長(zhǎng)再次改動(dòng)需求
大廚:"我日了狗啊,你TM不知道蒜毫也得焯水?。窟€有你讓我怎么往熱菜里放番茄醬????"
服務(wù)員:"焯水也比等腐竹強(qiáng)吧,番茄醬往里一倒不就行了嗎?很難嗎?"
大廚:"腐竹我還得接著泡,萬(wàn)一這孫子一會(huì)又想要了呢。"
------------頻繁改動(dòng)開(kāi)始導(dǎo)致大量冗余
- 冷兔笑話(huà):碼農(nóng)做項(xiàng)目與點(diǎn)菜類(lèi)比的笑話(huà)
- John Eaton:The Three Laws of Software Development - Humphrey's Law
6. Law of the instrument
If all you have is a hammer, everything looks like a nail
工具定律,錘子定律或馬斯洛的錘子。表現(xiàn)為對(duì)一個(gè)熟悉的工具過(guò)度的依賴(lài),“如果你有的只是一個(gè)錘子,那么所有的東西看起來(lái)都像一個(gè)釘子”以及一些由此轉(zhuǎn)化的說(shuō)法,來(lái)自于亞伯拉罕·馬斯洛1966年發(fā)行的《科學(xué)的心理學(xué)》一書(shū)。例如:
“XXX是世界上最好的語(yǔ)言,沒(méi)有之一”
“加強(qiáng)party的領(lǐng)導(dǎo)”
7. Law of Demeter
Law of Demeter is also called “Principle of Least Knowledge”
得墨忒耳定律(Law of Demeter,縮寫(xiě)LoD)是一種軟件開(kāi)發(fā)的設(shè)計(jì)指導(dǎo)原則,特別是面向?qū)ο蟮某绦蛟O(shè)計(jì)。美國(guó)東北大學(xué)在1987年末發(fā)明,名稱(chēng)來(lái)源于希臘神話(huà)中的農(nóng)業(yè)女神,孤獨(dú)的得墨忒耳。簡(jiǎn)單描述為:
- 每個(gè)單元對(duì)于其他的單元只能擁有有限的知識(shí):只是與當(dāng)前單元緊密聯(lián)系的單元;
- 每個(gè)單元只能和它的朋友交談:不能和陌生單元交談;
- 只和自己直接的朋友交談。
a.b.Method()違反了此定律,而a.Method()不違反此定律。一個(gè)簡(jiǎn)單例子是,人可以命令一條狗行走(walk),但是不應(yīng)該直接指揮狗的腿行走,應(yīng)該由狗去指揮控制它的腿如何行走。
8. Dude’s Law
Value (of a project) = Why over How [or Value = Why / How]
“David [the law’s creator] comes from the music industry. New musicians focus on having a nice sound. Professional musicians first think about the mood of the song, the emotion they want to bring across and then work out the sound that fits it”
該法則的發(fā)明者來(lái)自音樂(lè)產(chǎn)業(yè)。新手音樂(lè)家注重好聽(tīng)的聲音。專(zhuān)業(yè)的音樂(lè)家首先考慮歌曲的情緒,他們想要傳達(dá)的情感,然后找出適合它的聲音。應(yīng)用領(lǐng)域:項(xiàng)目管理、目標(biāo)管理
9. Law of 2 Feet
If at any time during our time together you find yourself in any situation where you are neither learning nor contributing, use your two feet, go someplace else.

應(yīng)用領(lǐng)域:組織溝通
10. Law of Propinquity
The probability of two people communicating is inversely proportional to the distance between them.兩個(gè)人交流的概率與他們之間的距離成反比。數(shù)字時(shí)代亦然。
Cucumbers get more pickled than brine gets cucumbered.
當(dāng)你進(jìn)入一個(gè)環(huán)境,它會(huì)更多地影響你而不是相反
the more we see people and interact with them, the more probable we are to like them.
11. Linus' Law
以Linux創(chuàng)始人林納斯·托瓦茲(Linus Torvalds)的名字來(lái)命名,但最先由埃里克·斯蒂芬·雷蒙(Eric S. Raymond)的作品《大教堂和市集》(The Cathedral and the Bazaar)中所提出?!白銐蚨嗟难劬?,就可讓所有問(wèn)題浮現(xiàn)”(given enough eyeballs, all bugs are shallow)。
應(yīng)用領(lǐng)域:代碼審查。“只要有足夠的單元測(cè)試員及共同開(kāi)發(fā)者,所有問(wèn)題都會(huì)在很短時(shí)間內(nèi)被發(fā)現(xiàn),而且能夠很容易被解決”。將代碼展示給更多開(kāi)發(fā)者以達(dá)成共識(shí)。在2001年出版的《黑客倫理與信息時(shí)代的精神》(The Hacker Ethic And the Spirit of th Information Age)里,林納斯在其為此書(shū)做的序言中,自己定義了另外一個(gè)林納斯定律
人類(lèi)所有的動(dòng)機(jī)可分為遞進(jìn)的三種類(lèi)型 — 生存(survival)、社會(huì)生活(social life)、娛樂(lè)(entertainment)。...... “黑客”是已經(jīng)超越利用計(jì)算機(jī)謀生存而進(jìn)入后面兩個(gè)階段的人。計(jì)算機(jī)本身就是娛樂(lè)。黑客堅(jiān)信沒(méi)有比這更高的動(dòng)力階段。