第五周讀書筆記《人月神話》
“人月”是什麽?軟件開發項目常以人月來衡量工作量,這種度量暗示著人手和時間是可以互換的。這種“人多力量大”的想法是一種一廂情願的虛妄神話,作者布魯克斯詳細地闡釋了團隊與管理,強調了溝通及人的重要性,技術方面並未未過多涉及,從項目管理的角度描繪了軟件開發的整個過程。
書中寫到,人在整個軟件開發過程中,人數並不決定開發的質量和時間,因此熱情是前提,但並不是人越多越好。人月神話描述道人力和時間並不體現線性關系。以大量人員和較短的時間,並不能縮短軟件的開發進度。一窩蜂的作業方式無助於軟件生產,且會制造麻煩,產生出更差的軟件。向進度落後的項目追加人力,只會使進度更加落後。因為新進的人員需要時間了解整個項目,而增加額外的溝通消耗。當有 N 個人必須在這群人之中進行溝通時,當 N 增加,其輸出 M 將抵消其效益,甚至倒退(最後幾天所完成的進度,遠不如剛開始幾天所完成的進度)。 可以軟件開發的多少人參與和完成時間不成正比,過多的人參與並不一定能縮短開發時間。
如果缺乏良好有效的溝通和協作,成員間難以有效的配合,團隊項目的目標就無法實現。清晰的工作文檔,明確的組織結構,合理的職責分配,都是大型軟件項目最終成功的保證。最大化資源利用率,減少不必要的資源占用,合理規劃,使軟件系統在資源有限的情況下依然保證了良好的性能,從而實現良好的可伸縮性和健壯性,這能體現軟件開發人員精湛的設計技巧。巧妙的數據結構往往能大幅度地儉省資源耗費,提高系統運行的性能。
編程最初對我來說,只是一項作業,從沒想過編程的樂趣在哪裏,不是沒有感受到過,只是那些感受從沒有把它當做一件事情來想,在《人月神話》中,讓我看到編程不為我所知的一面,我開始更深刻了解它,了解它的樂趣所在。
編程,是一門藝術。藝術家創造傑出藝術作品的過程中,無不是懷著飽滿的人情、昂揚的鬥誌、堅定的信念,有些著名的藝術家甚至為了一個作品而奉獻出自己一生的時光。當然,如今高效率的生活方式要求我們要用最快的速度完成一個程序的編寫,而不用在一些微不足道的細節上反復雕琢,但是這些藝術家的精神是程序編寫者應該效仿的。只有以積極的心態去面對自己的工作,才能更快、更好的完成。
第五周讀書筆記《人月神話》