是否有最好的軟體開發方法?

來源:互聯網
上載者:User

ThoughtWorks的開發方法

傳統的說明性方法論採用的是一種由上而下的專案管理途徑,來建立一種命令和控制的體系。這些方法論的假設基於,只要有了足夠的計劃和管理,成果就可以預測,風險就可以避免。

當客戶的業務和技術都保持相對穩定的時候,這些方法論很有效。然而,對於那些與日俱增的戰略性軟體項目來說,說明性的方法都既不能提供企業所需要的靈活性,也不能提供企業所需要的市場進入速度。太多的時候,最終的結果不是高價值的軟體,而是一大堆分析結果,只會在某個經理的書架上積滿了灰塵。這和在白板和鍵盤上發生的變化……或者,真正的商業需要來說,相差太遠了。

敏捷方法基於非常嚴謹的過程。實際上許多這些實踐都已經有著充分的定義,能夠直接納入開發工具之中。例如,單元測試架構,持續整合工具,帶重構的開發環境,就構成了新的一套新開發工具,讓人們能夠更快更好地建立軟體。

很早以來的研究已經證明,唯一能對軟體生產力產生重大影響的,是人。然而,奇怪的是,敏捷方法是第一套基於人們實際軟體開發特點的軟體工程實踐。

同時,ThoughtWorks認識到方法論不是萬能的。作為採用敏捷方法的幾個先驅者之一,我們十分瞭解這些方法的利和弊。不過,敏捷方法包括了許多近期史上最成功的軟體成果中演化而來的有用的實踐。極限編程(XP),SCRUM, Crysta等等敏捷方法都推崇腳踏實地,切實可行的各種實踐,如持續整合,測試驅動編程,和重構

聯合技術開發FTD

一種方案是:美國軟體開發組花了一年的時間研發CRM軟體。在美國總部試用時沒有任何問題,該軟體完全能夠滿足產品生產的需要。軟體開發組於是將軟體推向中國市場。由於對中國市場缺乏瞭解,他們花了大量的費用和工作對軟體系統進行改進。在經過一年的改進後,終於完善了軟體功能。此時中國本地產品也開發出來了。

  第二種方案是:組建兩個軟體開發組,他們相互獨立而又同時開展工作。但是中國軟體開發組團隊既缺乏技術、又缺少經驗。由於公司規定中國是受控國之一,中國軟體開發組難以及時獲得新產品線的有關資訊,致使開發工作進展十分困難。因此,客戶關係管理軟體CRM軟體在中國市場的推廣工作非常不理想,致使大量客戶十分不滿。公司不得不花了兩年多的時間,才消除了市場的負面影響。

  假設還有第三種方案:與當地軟體開發組採取鬆散的方式聯合工作。美國軟體開發組具有的豐富支援產品線的軟體開發經驗,他們把這些經驗快速地傳遞給中國軟體開發組。CRM軟體在美國照常按計劃投入使用,而在中國的軟體開發組繼續後面的工作,解決軟體系統適應在中國使用的有關問題。CRM軟體最多晚三個月,就能夠在中國市場順利投入使用。

  以上三種假定的開發方案中,方案一是高度集中化,方案二是高度分散化,而方案三是最佳化。其中第三種軟體開發方案,特別適用全球化公司的軟體開發,稱之為聯合開發FTD(federatedtechnologydevelopment:聯合技術開發)。應用軟體整合僅僅是FTD發揮作用的領域之一。FTD方法不僅適用於資訊技術和業務處理,而且適應軟硬體開發和產品開發。

  FTD是最佳化業務產出的方法之一。採取這種方法,一是本機群組織可以自主作出決定,不同組織之間是平等關係而不是聯盟。二是要有一個中心機構負責工作協調,每一個分支都能夠在統一的命令和安排之下開展工作。

 

RUP(Rational Unified Process)

即Rational統一過程,定義了一系列的流程元素,如角色,活動和產物,通過適當的組合,能夠協助軟體開發組織有效地管理軟體過程。RUP的特點體現在它是以用況驅動(use case driven)的,以體繫結構為中心(architecture-centric),迭代和增量(iterative process)的。在系統的整個開發生命週期內共有4個階段:初始(inception)、細化(elaboration)、構造(construction)和移交(transition),隨著時間的推移,每個階段所注重的焦點也不斷髮生變化,同時這四個階段也是不斷迭代完成的,每一次迭代都有增量的任務完成。

究竟什麼樣的方法最適合今天的互連網開發?或者如何綜合運用?歡迎評論!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.