孫子曰:兵者,國之大事。而做軟體也是我們軟體公司的大事。做好這些事,我們才有錢拿。養活的是公司,養活的是我們自己啊。所以這件事,不光是從公司,也要從我們開始重視,軟體作為一項工程進行發展,是何其重要啊。兵者,國之大事,死生之地,存亡之道,不可不察也。
故經之以五事,校之以計,而索其情:一曰道,二曰天,三曰地,四曰將,五曰法。道者,令民於上同意,可與之死,可與之生,而不危也;天者,陰陽、寒暑
、時制也;地者,遠近、險易、廣狹、死生也;將者,智、信、仁、勇、嚴也;法
者,曲制、官道、主用也。凡此五者,將莫不聞,知之者勝,不知之者不勝。故校
之以計,而索其情,曰:主孰有道?將孰有能?天地孰得?法令孰行?兵眾孰強?
士卒孰練?賞罰孰明?吾以此知勝負矣。將聽吾計,用之必勝,留之;將不聽吾計
,用之必敗,去之。
計利以聽,乃為之勢,以佐其外。勢者,因利而制權也。兵者,詭道也。故能
而示之不能,用而示之不用,近而示之遠,遠而示之近。利而誘之,亂而取之,實
而備之,強而避之,怒而撓之,卑而驕之,佚而勞之,親而離之,攻其無備,出其
不意。此兵家之勝,不可先傳也。
夫未戰而廟算勝者,得算多也;未戰而廟算不勝者,得算少也。多算勝少算,
而況於無算乎!吾以此觀之,勝負見矣。
下面通過孫子兵法中的幾個關鍵字來看看我們軟體工程中需要注意的事項。
做軟體,做好軟體,必須了解軟體的「道、天、地、將、法」。這些也正是軟體工程中所需要關注的方方面面。下面是從軟體工程角度理解的五事。歡迎指點。
道者,其目的在於雙贏。正因為有這個目的,我們才可以做軟體。軟體只為騙取錢財的日子,已經一去不復返了。客戶需要真正能給他們解決問題的軟體。真正了解業務,那就了解到道的含意了,如此才能上下同心。講道,就是要我們充分了解業務,理解業務。在此基礎上,上下才可以在共同的平台進行溝通。這也可以解釋為領域模型。不管如何,做軟體,整清楚業務必不可少。
天者,是業務之上的法令政策。做軟體,必須了解相關法律法規。否則,軟體做好了,卻很可能因為違法了,遭受不同方面的阻力。微軟在這方面非常有經驗。經常有公司用各種法律條文對他們進行起訴。
地者,是業務之上的交叉細節。競爭對手也許是我們軟體工程中需要注意的。他們可能引起翻天覆地的變化。另外,就是那些看似一馬平川的陸地下的暗流溝渠,要小心他們是否有可能影響專案進度。很可能客戶內部有不同的意見,最好導致軟體的反覆變更。看清楚客戶內部的地形很重要。
將者,就是人才。乙個專案,缺少得力的助手難以想象。技術能手、業務專家、溝通行家都是必不可少的。
法者,規律、規則。做軟體,不可不注意做軟體的客觀規律。盲目的加人或者誇大工作效率都是非常危險的。只有了解了客觀規律,才能夠更好地利用這些規律,從而順利完成軟體開發。
做軟體,表面上做的是我們所熟悉的業務,而真正應對的卻是那些未知的風險。
正如孫子所說,多算勝於少算。對於專案,我們必須要有乙份清晰的里程碑式的計畫清單。計畫的越是準確,工作越是可以進行地順利。這些也正說明了軟體工程存在的必要性。
另外,成熟的專案經理都會為專案設立非常完整的風險列表。並且,這份計畫會隨時地進行更新。充分估算到專案中可能遇到的真正風險(不是簡單羅列),並且謀劃出行之有效的策略。這是計畫中最最重要的部分。風險的策略解決為上策,不能解決,避開為中策,不能解決且不能避免則為下策,不能解決且不能預知為下下策。我們至少要預知到風險的發生,否則專案進度無從控制。
軟體開發過程正如我們的敵人。孫子曰:兵者,詭道也。我們要充分認識清楚那些隱藏在樂觀情緒後面的危機,亦或是發現悲觀情緒後面的可能。這些才是真正謀劃需要關注的。若無變化,庸人即可成事。正是因為有了變化,才可以充分發揮出傑才的能力!
此為孫子兵法第一篇:始計第一。我以為用軟體工程的概念解釋非常到位。這只是乙個簡單嘗試,也屬於個人愛好。希望能將一些實用的理論,帶入到軟體開發中來。
軟體工程1 軟體工程概念
軟體工程是 將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體 計算機科學技術百科全書 軟體工程是應用電腦科學 數學 邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑑傳統工程的原則 方法,以提高質量 降低成本和改進演算法。其中,電腦科學 數學用於構建模型與演算...
星子讀孫子 2 不能徹底執行復用的原因
讀孫子兵法中一段,突然和現實中 復用 總是不被徹底執行的現象聯絡起來,感覺很有意思。是故百戰百勝,非善之善也 不戰而屈人之兵,善之善者也。故上兵伐謀,其次伐交,其次伐兵,其下攻城。攻城之法,為不得已。大凡是將士,必然希望建立戰功。而戰功必然要有戰爭發生。我們不能說當兵的希望有戰爭,但是不可否認的是,...
星子讀孫子 2 不能徹底執行復用的原因
讀孫子兵法中一段,突然和現實中 復用 總是不被徹底執行的現象聯絡起來,感覺很有意思。是故百戰百勝,非善之善也 不戰而屈人之兵,善之善者也。故上兵伐謀,其次伐交,其次伐兵,其下攻城。攻城之法,為不得已。大凡是將士,必然希望建立戰功。而戰功必然要有戰爭發生。我們不能說當兵的希望有戰爭,但是不可否認的是,...