◆敏捷開發強調軟體開發是連續的複雜活動,任何錯誤如果不立即修正,最後就會因失控導致失敗,因此唯有每天不斷的一點一滴的修正,不斷收集需求並回應
◆企業:在高度合作的環境中不斷根據回應來做修正
我公司的工作基本上由幾段流程架構成軟體系統,提供顧客專業的資訊服務:
。理解並確認顧客的問題與需求,是我公司的關鍵工作
。軟體開發是我公司的基本工作
。將這些開發出來的軟體建置移轉給顧客,建置移轉是一段知識管理過程
。維持軟體系統運作與更新則是協助顧客從A到A+
當顧客的問題與需求越來越龐大,軟體開發所需的人力、工期投入相對應越來越多時,如果方法不對,管理不當,釀成的災難將隨著人力、工期的增加,變成越來越不可預測;2009/3曾請張顧問到公司講授敏捷開發Agile development,最近又請他為軟體開發團隊講授精進敏捷開發Agile development;敏捷開發強調軟體開發是連續的複雜活動,任何錯誤如果不立即修正,最後就會因失控導致失敗,因此唯有每天不斷的一點一滴的修正,不要到最後才測試,也不是到最後才上線,上線過程中更不斷收集變動需求並回應;因此Agility 被定義如下:
Agile development uses feedback to make constant adjustments in a highly collaborative environment.敏捷開發是一個在高度合作的環境中不斷根據回應來做修正的開發方式
從『敏捷宣言Agile Manifesto』可以感受到其精神:
。 Individuals and Interactions over Processes and Tools
個人及互動重於流程與工具
。 Working Software over Comprehensive Documentation
可用的軟體重於詳盡的文件
。 Customer Collaboration over Contract Negotiation
與客戶合作重於合約談判
。 Responding to Change over Following a Plan
回應變化重於墨守計畫
That is, while there is value in the items on the right, we value the items on the left more.
右邊項目(流程與工具、詳盡的文件、合約談判、墨守計畫)是有價值,但敏捷開發更重視左邊項目(個人及互動、可用的軟體、與客戶合作、回應變化)的價值
我公司在提供顧客專業的資訊服務過程中,從顧客的問題與需求出發,因應時代演化(社會、經濟、人文、科技)找出當時適宜的解決方案,導入敏捷軟體開發Agile development思維確保我們提供的軟體系統足以滿足顧客問題與需求的承諾。