天天看點

《軟體工藝師:專業、務實、自豪》一第2章

本節書摘來華章計算機《軟體工藝師:專業、務實、自豪》一書中的第1章 ,第1.1節,[英]桑德羅·曼卡索(sandro mancuso)著 愛飛翔 譯, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

靈活軟體開發

2001年2月,軟體業中十七位有影響力的人物在美國猶他州的滑雪勝地相聚,讨論替換當時笨重且基于文檔的軟體開發方式。他們每個人都有不同的軟體開發經曆,是以覺得應該聚在一起,分享各自的心得。他們想要在互相交流的過程中提出一些新的軟體開發方式,更好地傳遞軟體項目。

這十七位參與者是:kent beck、mike beedle、arie van bennekum、alistair cockburn、

ward cunningham、martin fowler、james grenning、jim highsmith、andrew hunt、ron jeffries、jon kern、brian marick、robert c.martin、steve mellor、ken schwaber、jeff sutherland和dave thomas。

他們展示了各種開發方式和技術,如極限程式設計(extreme programming,xp)、scrum、動态系統開發模型(dynamic systems development model,dsdm)、自适應軟體開發(adaptive software development)、crystal、特性驅動開發(feature-driven development)及實用程式設計(pragmatic programming)等。

多番讨論過後,《靈活軟體開發宣言》(agile manifesto)和靈活聯盟(agile alliance)誕生了。

靈活軟體開發并不是單一的概念,它包含各種開發方式和開發技術,在特定的情境之下,這些方式與技術使得開發團隊及公司能夠适應持續變化的軟體項目,并減少相關風險。靈活軟體開發原則與開發方式大緻可分為兩組:面向流程的與面向技術的。

本章要讨論靈活軟體開發的含義,也要介紹《靈活軟體開發宣言》以及很多機構在采用靈活軟體開發時所遇到的問題。