讀易 4 撞進軟工新時代(同人卦)

2021-04-14 11:00:53 字數 3078 閱讀 4865

前段時間一直都在忙著專案的事情,這篇文章在心裡放了很久了,今天終於能寫出來,不至於老放在心中發霉生鏽了:)

文章主要說的是易經中卦的順序和軟體業發展順序的對應,希望能從易經中得到一點啟示。

下面會簡單談一談軟工的發展,不過充其量只能算是「野史」,並且具體的時間也沒有經過專門的考證。大家隨意看看就行了,不必深究。

2023年2月14日,世界上第一台電腦eniac在美國誕生。不過那時候還不存在現在所說的軟體,而到了軟體工程興起又是過了很多年。

第一次軟體工程概念提出是在2023年的nato會議上,使軟體開發開始了從「藝術」、「技巧」和「個體行為」向「工程」和「群體協同工作」轉化。

30多年來,軟體工程的研究和實踐取得了長足的進步,其中一些具有里程碑意義的進展包括:

20世紀60年代末~70年代中期,在一系列高階語言應用的基礎上,出現了結構化程式設計技術,並開發了一些支援軟體開發的工具。

20世紀70年代中期~80年代,計算機輔助軟體工程(case)成為研究熱點,並開發了一些對軟體技術發展具有深遠影響的軟體工程環境。

20世紀80年代中期~90年代,出現了物件導向語言和方法,並成為主流的軟體開發技術;開展軟體過程及軟體過程改善的研究;注重軟體復用和軟體構件技術的研究與實踐。

(摘自:楊芙清 《軟體工程技術發展思索》)

上面簡單介紹了軟體工程的發展情況,任何事物的發展規律都是一樣的,所以才有了象易經一樣的揭示所有事物發展規律的資料。

「幹」為天、「坤」為地,有了天地才有萬物。接下來的屯卦代表事物的起源、「屯」字就是種子剛鑽出地面的形象,從字形上可以看出來。軟體工程提出來後很多 地方是模糊的,畢竟是乙個全新的概念,屯卦後面接著就是「蒙」卦,迷茫、幼稚的意思。20世紀60年代,由於高階語言的流行,使得計算機應用範圍得到較大 擴充套件,對軟體系統的需求急劇上公升,從而產生了「軟體危機」,由此提出了軟體工程的概念,在經過一段時間的迷茫後,由社會客觀世界的需要才能觸發軟體工程的 成長,接下來就是「需」卦。在發展的過程中,人們會有不同的觀點,各種爭論的出現代表了 不同思維的碰撞,「訟」就是爭論。這時候越來越多的軟體橫空出世,軟體產品之間的競爭又推動工程化的發展。「師」者,聚伍紛戰也。

隨後也是軟體行業發展進入了高速發展時期,軟體產品規模不斷擴大,不同的軟體作者、或者軟體公司都聚集起來形成更加有競爭力的團隊,「比」說白點就是拉幫結夥。軟體公司或者工作室形成後開始的 是資金與技術的積累,為「小畜」。當積累達到一定的層次後,發現制定一系列的規範與標準大家才能更好地合作,所以出現了「履」卦,履就是規範、禮儀的意思。履卦出現後,進入了乙個欣欣向榮的階段,稱為「泰」。

不過美好總是不能長久,在進入了「泰」卦後,卻是出現了問題,進入「否」卦。問題是什麼呢?因為規範與制度的不人性化,導致文件繁重,團隊響應遲緩,流程僵化等。這些現象尤其在軟體 業比較發達的國家更加嚴重一些,軟體專案的低成功率也是大家有目共睹的。所以國外有不少大師推崇「敏捷」。先不說它的好壞。在「否」卦之後是「同人」卦,然後是「大有」卦……

下面說一說同人卦的秘密。

卦象同人,柔得位,得中而應乎幹,曰同人。同人曰:「同人于野,亨,利涉大川。」乾行也。文明以健,中正而應,君子正也。唯君子為能通天下之志。

從下往上第二爻為柔(陰)爻,與第五爻剛爻相呼應。用卦象來解釋管理上的事情時,一二爻代表基層,三四爻代表中層,五六爻代表高層。卦象顯示是基層和高層相呼應,所以稱為同人卦,同心同德的意思。以前就寫了些文章說管理時「志」很重要,這裡又說同人卦,都是乙個意思。

制度規範能讓大家更方便的做事,但完全這樣就將人當作了機械,不能發揮出創造力,至少對於軟體行業,這樣的方式是不可取的。真正高明的管理者能夠將團隊成員的志向集中在一起,符合同人卦的含義。

同人卦上半部分為乾卦,「天行健,君子以自強不息」。上面說到了軟體工程發展到了「否」卦,需要的是有一部分人努力領導軟體工程的發展,團隊中同樣需要有 人引領著走出困境。在此之前,軟體業因為制定了標準化流程取得了很好的成效,但經過時間推移現在的軟體有了新的變化——向服務轉型。軟體開發中人(尤其指 基層的工作人員)的因素再一次體現出來了——在同人卦中,處於基層的第二爻為全卦的主爻。

下半部分為離卦,離為火,為光明。在上層領導剛健不息的推動下,作為下層的人員應該以更加坦然的態度進行溝通,交流。當然,很重要的一點,這種坦然應該是 雙向的。以前帶著幾個人一起嘗試敏捷方法,發現只要坦率地說出來,很多人對於提高自身效率的方法還是非常樂意接受的,並且團隊之間坦率地交流是成功的乙個 關鍵因素。

上層的剛健加上下層的坦然才可能同心。

從另外乙個角度來看,同心協力總有乙個目標。企業的核心目標就是利潤,沒有利潤任何一家企業都沒有存在的價值;程式設計師的目標是個人發展、更好的生存環境。所以很多時候企業和程式設計師的目標是衝突的。不過敏捷倒是非常巧妙地將這種衝突轉到了另外乙個地方。

平時和一些朋友聊到敏捷,問敏捷的核心是什麼?

有人會說,敏捷的核心是程式設計師。誠然,程式設計師在敏捷的價值觀中備受重視,但程式設計師絕對不是敏捷的核心。

敏捷的核心是迭代,而迭代的核心是客戶。客戶就意味著利潤。推崇以客戶為中心可以緩解企業和程式設計師之間的利益衝突,畢竟大家都是在賺客戶的錢。

所以說同人除了內在的條件需要滿足,外界的因素也是必須具備的。

上面提到敏捷,但並不一定敏捷就是同人卦的卦象,只是就現在來看敏捷更加接近。

軟體工程發展從比、小畜、履、泰、否到同人卦共有五個階段。那些軟體發達的國家順利地經過了這幾個階段,所以他們對履卦的缺陷也理解的更加深刻。

但在中國來說,大部分企業是「比」或者「小畜」的階段,少數到「履」。這種情況下是否能直接晉級到同人卦確實值得商榷。就像前段時間出現的「敏捷熱」一樣,最近較少聽人提起了。敏捷是好東西,但是不是能符合我們中國的現狀,不一定了。

或者有一種說法是,我們的軟體企業比較小,能輕裝上陣更加快速地推行敏捷。這也是我希望看到的。

就像這篇文章的標題一樣,我認為中國現在是「撞」進軟體工程的新時代,整體水平要比國外的同行晚了幾個階段。但國際化的趨勢是越來越快,在本土軟體和外來軟體之間的競爭中,我們怎樣才能穩步發展呢?至少不至於幾年後,還是踉踉蹌蹌、撞來撞去的,那樣就讓老外看笑話了。

由於自己掌握的資料比較少,還是希望能多多聽到大家的看法。 

讀易 4 撞進軟工新時代(同人卦)

前段時間一直都在忙著專案的事情,這篇文章在心裡放了很久了,今天終於能寫出來,不至於老放在心中發霉生鏽了 文章主要說的是易經中卦的順序和軟體業發展順序的對應,希望能從易經中得到一點啟示。下面會簡單談一談軟工的發展,不過充其量只能算是 野史 並且具體的時間也沒有經過專門的考證。大家隨意看看就行了,不必深...

咳咳,軟工新手讀《大道至簡》讀後感

大道至簡 讀後感 本書是周愛民先生把這本 大道至簡 表達為 闡述軟體工程的思想核心 書中又分為八個章節,接下來我想把我對每個章節的認識分開來介紹。在第一章節中,周愛民先生將程式設計歸類為公式 程式等於演算法加結構 同時周愛民先生也將程式設計認為是一件簡單的勞動工作。乙個程式無論多麼複雜,都可以將其拆...

軟工15個人作業4 alpha階段

1.在alpha 結束之後,每位同學寫一篇個人部落格,總結自己的alpha 過程 2.請用自我評價表 有比較才會有進步。經歷這一段時間,確實是讓人挺累的吧,確實是對軟體工程有了一定的了解,拼命的談論,開會,寫部落格,寫 反覆迴圈,跟輪迴一樣。自己之前就有對軟體工程有了一些了解,也回答了一部分問題了。...