您好,登錄后才能下訂單哦!
過去我們用合同死死地固定住需求,然后乙方千方百計的只按照合同辦事,沒有發揮更大的創造力,而甲方在固定的成本面前,不想多花一分錢,卻不停的要求新功能。那么甲乙雙方就形成了矛盾的局面,甚至是敵對的局面。如何破除這種局面呢?這就是本期要講的敏捷開發。
硬件領域有摩爾定律,即每隔18~24個月,每1$能買到的電腦性能將翻翻一倍以上。而軟件行業卻沒有相應的規律。那么軟件行業如果提高生產率、質量、價值等。而目前軟件公司是如何提高生產率、質量呢?實際上很多傳統的企業仍然靠加班、流程和工具、合同和文檔的約束,而且溝通困難是導致bug、延期的重要原因,這里的溝通包括開發團隊和甲方的溝通,團隊之間的溝通,團隊和管理者的溝通等等;在瀑布式開發模式中,我們會做大量的前期需求分析和詳細設計,我們自認為我們這些努力會保證交付的軟件會是客戶期望的,但是事實并不是如此。另外,所有的軟件開發者都是知識工作者,那么知識工作者的主管能動性和創造力是管理人員管控出來的嗎?
上述這些軟件行業中的痛點,并不是新生的,早在1987年Fred brooks就在《沒有銀彈》中提到沒有任何一項技術或方法可以能讓軟件工程的生產率在十年內提高十倍。軟件開發本身具有復雜性、不可見性、可變性以及一致性,使得軟件開發難以管理,所以將它比喻成" 狼人",但是沒有一項技術或方法來解決它,即沒有銀彈。
而敏捷開發正是解決軟件開發沖存在的問題的。
在具體介紹敏捷開發之前,先介紹"不敏捷"的開發模式,即"瀑布模型",這套方法論分為5個階段:需求分析、設計、編碼、測試和維護。需求分析階段通常定義系統需求;設計階段通常確定系統使用什么數據庫,系統模塊的劃分,各個模塊的功能;編碼階段用編程語言實現設計階段的功能;測試階段主要測試功能是否實現;維護階段是根據用戶新的需求重新修改系統,使系統運行正常,更加穩定。
瀑布模型的局限性非常明顯,比如對市場變化和用戶需求的響應比較慢,更改成本高,甚至可能出現產品一退出市場就宣告失敗。
我們一直在實踐中探尋更好的軟件開發方法,身體力行的同時也幫助他人。由此我們建立了如下價值觀:
敏捷開發的價值觀和原則看起來很美,但是如何落地呢?首先它需要組建一個敏捷團隊。相交于傳統團隊,敏捷團隊具有以下特點:
每日站會
每日站會每天都會召開,時間維持在15分鐘內,站著開會,所有相關人員都需要參加,避免無關問題的討論。
歡迎關注微信公眾號:木可大大,所有文章都將同步在公眾號上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。