傳統的說明性方法論采用的是一種由上而下的項目管理途徑,來建立一種命令和控制的體系。這些方法論的假設基于,只要有了足夠的計劃和管理,成果就可以預測,風險就可以避免。
當客戶的業務和技術都保持相對穩定的時候,這些方法論很有效。然而,對于那些與日俱增的戰略性軟件項目來說,說明性的方法都既不能提供企業所需要的靈活性,也不能提供企業所需要的市場進入速度。太多的時候,最終的結果不是高價值的軟件,而是一大堆分析結果,只會在某個經理的書架上積滿了灰塵。這和在白板和鍵盤上發生的變化……或者,真正的商業需要來說,相差太遠了。
敏捷方法基于非常嚴謹的過程。實際上許多這些實踐都已經有著充分的定義,能夠直接納入開發工具之中。例如,單元測試框架,持續集成工具,帶重構的開發環境,就構成了新的一套新開發工具,讓人們能夠更快更好地創建軟件。
很早以來的研究已經證明,唯一能對軟件生產力產生重大影響的,是人。然而,奇怪的是,敏捷方法是第一套基于人們實際軟件開發特點的軟件工程實踐。
同時,ThoughtWorks認識到方法論不是萬能的。作為采用敏捷方法的幾個先驅者之一,我們十分了解這些方法的利和弊。不過,敏捷方法包括了許多近期史上最成功的軟件成果中演化而來的有用的實踐。極限編程(XP),SCRUM, Crysta等等敏捷方法都推崇腳踏實地,切實可行的各種實踐,如持續集成,測試驅動編程,和重構。
聯合技術開發FTD
一種方案是:美國軟件開發組花了一年的時間研發CRM軟件。在美國總部試用時沒有任何問題,該軟件完全能夠滿足產品生產的需要。軟件開發組于是將軟件推向中國市場。由于對中國市場缺乏了解,他們花了大量的費用和工作對軟件系統進行改進。在經過一年的改進后,終于完善了軟件功能。此時中國本地產品也開發出來了。
第二種方案是:組建兩個軟件開發組,他們相互獨立而又同時開展工作。但是中國軟件開發組團隊既缺乏技術、又缺少經驗。由于公司規定中國是受控國之一,中國軟件開發組難以及時獲得新產品線的有關信息,致使開發工作進展十分困難。因此,客戶關系管理軟件CRM軟件在中國市場的推廣工作非常不理想,致使大量客戶十分不滿。公司不得不花了兩年多的時間,才消除了市場的負面影響。
假設還有第三種方案:與當地軟件開發組采取松散的方式聯合工作。美國軟件開發組具有的豐富支持產品線的軟件開發經驗,他們把這些經驗快速地傳遞給中國軟件開發組。CRM軟件在美國照常按計劃投入使用,而在中國的軟件開發組繼續后面的工作,解決軟件系統適應在中國使用的有關問題。CRM軟件最多晚三個月,就能夠在中國市場順利投入使用。
以上三種假定的開發方案中,方案一是高度集中化,方案二是高度分散化,而方案三是最優化。其中第三種軟件開發方案,特別適用全球化公司的軟件開發,稱之為聯合開發FTD(federatedtechnologydevelopment:聯合技術開發)。應用軟件集成僅僅是FTD發揮作用的領域之一。FTD方法不僅適用于信息技術和業務處理,而且適應軟硬件開發和產品開發。
文章來源于領測軟件測試網 http://www.kjueaiud.com/