協(xié)同辦公軟件開發(fā)團隊組織成員必須培養(yǎng)有責任、有追求的團隊。這類團隊,應該圍繞著一位主刀醫(yī)生角色的軟件開發(fā)人員展開工作。 我的想法并沒有違背敏捷軟件開發(fā)宣言。 和CMM相比,敏捷軟件開發(fā)欠缺了一些系統(tǒng)性,運用時顯得更加隨意,或者說,靈活。Alistair CockBurn在反駁實踐誤區(qū)時,還隱約表明了一種態(tài)度,對敏捷方法來說,任何有利于目標實現(xiàn)的實踐,都是不反對的。
協(xié)同辦公軟件開發(fā)不是一個有著固定套路的方法論,這有點像風清揚的獨孤九劍。但是,它非常重視實踐方法。這些實踐方法,被有意識地匯集在一起,然后通過“手冊”和“指南”,向大眾傳播。協(xié)同辦公軟件開發(fā)希望人們快速展開行動。和RUP這類以結(jié)果(文檔和報告)來約束的方法論不同,敏捷方法以可供模仿的實踐為核心。
敏捷方法中的實踐就像導演提供的劇本。在影片拍攝期間,導演總是會要求你完成那些設計好的動作和臺詞,從而快速進入角色。相比而言,敏捷方法中的“劇本”更加簡單,它給人們留下了巨大的發(fā)揮空間,當然,與此同時,它也對人們的能力提出了較高的要求。XP要求的工作方式是這樣的。協(xié)同辦公開發(fā)隊伍和幾個客戶一起工作,兩個人使用一臺電腦。三周為一個周期,每個周期都要交付可運行的、已通過測試的、用戶可以直接使用的代碼,2到5次周期后有一次發(fā)布。需求以故事的方式表達。軟件開發(fā)程序員估計一下。客戶根據(jù)需要定義優(yōu)先級,那么在大連軟件開發(fā)費用如何計算呢?
調(diào)整范圍,盡量在周期內(nèi)完成最有價值的故事。開發(fā)過程中,每天舉行例會,陷入困境的人可以在這個時候找到幫助。最后是不斷地簡化和重構代碼。 敏捷方法,以人與實踐為核心,有一定的積極意義。在“劇本”的幫助下,我們可以在認清事物本質(zhì)之前就展開行動。同樣,在“劇本”的約束下,我們即使犯錯誤,也不會走得太遠。當我們有朝一日恍然大悟的時候,會發(fā)現(xiàn)自己還是在同一個“劇本”下工作,但認識已完全不同。最后,在敏捷方法中,一項計劃用兩個月完成的任務,可能在兩周內(nèi)就交付了,原因是選對了一個關鍵的軟件開發(fā)人員。而在CMM中,所有的人,都被假定不具備這樣的能力。每個人幾乎都要通過過程的審查。這也許是二者之間另一個比較明顯的差異吧!