- 相關(guān)推薦
軟件開發(fā)實踐者的思考讀后感
幾天就讀完了倪建大牛寫的這本別具風味的作品,主要是對軟件開發(fā)過程的一些思考。作者的寫作方式很特別,通過敘述故事的方式講解了軟件開發(fā)的一整套流程和流程中需要注意的地方。作者的主要態(tài)度是批判的,帶有理想主義的色彩,然而卻是發(fā)人深省的。
這本書給我最大的收獲就是在軟件開發(fā)中要學會思考。思考所有步驟和方法存在的目的與意義。是否符合軟件開發(fā)行業(yè)發(fā)展的趨勢。作者主要涉及的是方法論上的層次,俯瞰著大地上的開發(fā)組織和人員?吹降膯栴}和解決方案往往是直指本質(zhì)的。
這里摘幾條印象深刻的見解和需要識記的名詞。學習新知識最快的途徑是將新知識納入自己所理解的一套知識體系。所以,如何在學習的同時建立起各個技術(shù)的聯(lián)系和區(qū)別是很重要的,有利于建立自己的體系。修煉好內(nèi)功,在接觸新知識的時候,才能很快上手并理解其本質(zhì)。軟件的本質(zhì)是2進制和與非邏輯。軟件開發(fā)的本質(zhì)是人的創(chuàng)造,而創(chuàng)造的根源在與想象,這又引出了“隱喻”和“故事”。隱喻是指從生活閱歷中抽象出與所要開發(fā)的軟件的運行流程相像的事件與關(guān)系。故事,則是講述故事的方式想象軟件運行的流程。
CMM:Capability Maturity Model,能力成熟度模型。CMM的核心是把軟件開發(fā)視為一個過程,并根據(jù)這一原則對軟件開發(fā)和維護進行過程監(jiān)控和研究,以使其更加科學化、標準化、使企業(yè)能夠更好地實現(xiàn)商業(yè)目標。
敏捷開發(fā):敏捷軟件開發(fā)宣言:個體和交互勝過過程和工具,可以工作的軟件勝過面面俱到的文檔,客戶合作勝過合同談判,響應變化勝過遵循計劃,敏捷開發(fā)最注重的是人,或者說個體。目標是提高個體的主動性,提高產(chǎn)出效率。敏捷開發(fā)要求團隊一起工作,甚至還有客戶。結(jié)對編程。迭代交付,三周為一個周期,每個周期都發(fā)布可用地、經(jīng)過測試的代碼。2到5個周期后進行一次發(fā)布。敏捷開發(fā)積極擁抱變化,主要依靠代碼重構(gòu)來配合變化。敏捷開發(fā)的優(yōu)點在于發(fā)布時間短和響應需求變化。敏捷開發(fā)的缺點是可操作性差。實踐者們常常走入各種各樣的誤區(qū)。根本原因還是人,人的主動性還有在軟件開發(fā)中的行為受各種各樣因素的影響。
在需求分析階段準備兩份文檔。一份使用客戶的術(shù)語表達客戶的故事,另一份是使用軟件術(shù)語表達軟件實現(xiàn)的故事。需求分析人員是客戶和項目組之間的橋梁,是客戶和軟件開發(fā)人員之間的橋梁,十分類似于科手術(shù)過程,軟件開發(fā)團隊需要一個主刀醫(yī)師,即軟件架構(gòu)師。軟件架構(gòu)師保證了整個軟件的思想和架構(gòu)是一個主體。而不是零散的,拼湊的。這有利于開發(fā)和維護。軟件架構(gòu)師在一個團隊里一般只有一個,或者一個架構(gòu)師團隊由其中一個人作為領(lǐng)導。這樣保證了整個軟件系統(tǒng)的一致性。軟件架構(gòu)師工作的主要依據(jù)是經(jīng)驗。
在軟件開發(fā)過程中,人是最重要的因素,而責任、權(quán)利和利益是保證這個因素發(fā)揮作用的關(guān)鍵。負責文化是人類社會活動中必須具備的一種文化。團隊往往成為不負責任的推辭。建立負責制度的目的不是為了懲罰,而是通過利益損失的形式,表明一個事實:沒有金剛鉆,別攬瓷器活。也是質(zhì)量保證的一個重要推動力。
對于軟件來說,最大的軟肋在于邏輯思維的不可遍歷性。這是測試工作存在的一個原因。
實際的軟件工程師實踐證明,讓對軟件思想有深刻理解的軟件工程師進行測試,可以大幅度提高軟件質(zhì)量。所以,測試工作并不比軟件開發(fā)輕松,讓軟件開發(fā)菜鳥來進行測試是不負責任的。
測試人員并不是軟件開發(fā)人員的對立者。他在找出bug的同時,也要盡可能的幫助編程人員指出這種bug存在的原因以及地點。
所有論點都存在一定的上下文之中。所以學習別人的論點只是理會這個論點的思路,而不要到處生搬硬套。懷疑一切。
項目管理工作的基本思路不是控制,而是創(chuàng)造有利的環(huán)境和順勢引導,掃清軟件開發(fā)中的各種障礙。項目管理工作要與軟件開發(fā)工作隔離開來。
對于軟件開發(fā)者而言,你需要考慮的是風險服務,即風險響應。而不要把主要精力放在風險預防和控制上。
軟件維護要在項目開始或者設計時就要予以考慮。
【軟件開發(fā)實踐者的思考讀后感】相關(guān)文章:
實踐者的體驗04-30
業(yè)務園長也是實踐者04-29
教師:革新的課程實踐者04-30
吳澤邦:做夢想堅守者和實踐者05-02
《教師做反思的實踐者》讀書筆記05-01
教師,做反思的實踐者》讀后感04-25
軟件開發(fā)口號11-27
軟件開發(fā)的論文05-05