在很多方面,管理乙個大型的計算機程式設計專案和其它行業的大型工程很相似——比大
多數程式設計師所認為的還要相似;在很多另外的方面,它又有差別——比大多數職業經理
所認為的差別還要大。這是《人月神話》第一版序言的第一段話,這段話可以說是對軟
件專案的
管理特徵進行了乙個總體的概括。
過去幾十年的大型系統開發就猶如乙個焦油坑,很多優秀的程式設計師在這其中掙扎,各
種團隊,
大型的和小型的,龐雜的和精幹的,乙個接乙個淹沒在了焦油坑中。乙個單獨
的問題看起來並
沒有那麼糟糕,但是當他們纏繞在一起,團隊的進度越來越緩慢,問題
的本質更加捉摸不透,
但是為了解決問題我們必須先理解它。因此,作者接下來介紹了
程式設計的樂趣與苦惱。
職業的樂趣
作者將職業的樂趣的**分為五種
第一是一種建立事物的純粹快樂。這種快樂是上帝創造世界的折射,一種呈現在每片
獨特、嶄新的樹葉和雪花上的喜悅。
第二快樂來自於開發對其他人有用的東西。內心深處,我們期望其他人使用我們的
勞動成果,並能對他們有所幫助。
第三是整個過程體現出魔術般的力量——將相互嚙合的零部件組裝在一起,看到它們
精妙地執行,得到預先所希望的結果。
第四是學習的樂趣,來自於這項工作的非重複特性。人們所面臨的問題,在某個或其
它方面總有些不同。因而解決問題的人可以從中學習新的事物:有時是實踐上的,有
時是理論上的,或者兼而有之。
第五:樂趣還來自於工作在如此易於駕馭的介質上。程式設計師,就像詩人一樣,幾乎僅
僅工作在單純的思考中。
作為乙個程式設計師不得不說能夠建立事物,開發對其他人有用的東西,靈活組合,
不重複任務可以不斷學習,易於駕馭使用確實是程式設計的極大樂趣了。當然這個職業同樣有
著自己的苦惱。
職業的苦惱
作者將職業的苦惱分為
第一:必須追求完美。因為計算機也是以這樣的方式來變戲法:如果咒語中的乙個字
符、乙個停頓
沒有與正確的形式一致,魔術就不會出現。
第二是由他人來設定目標,供給資源,提供資訊。程式設計人員很少能控制工作環境和工
作目標。用管
理的術語來說,個人的權威和他所承擔的責任是不相配的。
第三——概念性設計是有趣的,但尋找瑣碎的 bug 卻只是一項重複性的活動。
第四——當投入了大量辛苦的勞動,產品在即將完成或者終於完成的時候,卻已顯得
陳舊過時。可
能是同事和競爭對手已在追逐新的、更好的構思;也許替代方案不僅僅
是在構思,而
且已經在安排了。
將做事方式調整到追求完美,其他人會設定一些自己
無法控制的事物,真正權威是
每次任務的完成,
創造性活動伴隨了枯燥的艱苦的勞動、越接近完成越要命(或者說
收斂過慢)、容易因為自己開發的
產品因為環境的進步而顯現的老舊。
這,就是程式設計。乙個許多人痛苦掙扎的焦油坑以及一種樂趣和苦惱共存的創造性活動。
當然,我想對於大多數人而言,樂趣應該是大於苦惱的
人月神話閱讀筆記2
人月神話閱讀筆記之二 之前寫程式注重的只是個人,和團隊的合作機會也很少,及時合作機會但是自己注重的也是自己的進步和發展,和團隊之間的交流和溝通很少,是團隊的專案進行的並不是很好 看完這本書明白了很多,和團隊進行合作就要進行交流和分工 兩個方面 交流,以及交流的結果 組織。他們無法相互交談,從而無法合...
人月神話閱讀筆記2
就增加人手這個解決方法來看,首先得要解決溝通問題。溝通所增加的負擔由兩個部分組成,培訓和相互的交流。每個成員需要進行技術 專案目標以及總體策略上的培訓。這種培訓不能分解,因此這部分增加的工作量隨人員的數量呈線性變化 因為軟體開發本質上是一項系統工作 錯綜複雜關係下的一種實踐 溝通 交流的工作量非常大...
人月神話閱讀筆記(1)
第一章 焦油坑 程式設計產品是簡單程式通過通用化,測試,文件,維護等產生的。保證是乙個完整的程式 程式設計系統是簡單程式符合規範,功能上相互協作,並能與系統在互動上不出錯。保證能與系統配合 程式設計系統產品 程式設計系統 程式設計產品。程式設計系統產品才是大多數系統開發的目標。程式設計系統產品的成本...