Contenu connexe Similaire à Agile development (20) Agile development3. 傳統的軟體工程
• Capability Maturity Model Integration(CMMI)
• UML
• 瀑布式開發(Waterfall Development )
• 強調寫文件的重要性
•需求分析規格書
•系統分析規格書
•系統設計規格書
•系統測試設計規格書
•系統測試計畫書
•系統測試報告書
8. The 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
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
雖然右側項目有其價值,但我們更重視左側項目。
http://agilemanifesto.org/
9. The Agile Principles (敏捷原則)
•最為優先的事情是透過早期與持續交付有價值的軟體來使客戶滿
意。
•歡迎需求的變動,即使是在開發的晚期。敏捷式流程駕馭變動來
作為客戶的競爭優勢。
•頻繁的交付工作產生的軟體,自數週至數月,週期越短越好。
•領域專家與開發成員必須一同作業,並貫穿整個專案開發時期。
•使用積極的工作成員來建構專案,給予他們環境以及支援所需的
一切,然後信任他們能夠完成工作。
10. The Agile Principles (敏捷原則)
•在開發團隊中最快也最有效的傳遞資訊方法就是面對面的溝通。
•工作產生的軟體是衡量進度最主要的依據。
•敏捷式流程倡導水平一致的軟體開發
•專案發起者,開發人員以及使用者都必須持續的維持專案進度。
•持續重視技術的優勢以及設計品質
•最好的架構、需求以及設計會出現在能夠自我管理的團隊裡
•在規律的反覆之間,團隊會反省與思考如何更有效率,然後相對
的來調整與修正團隊的開發方式。
http://agilemanifesto.org/principles.html
15. Unit Test(單元測試)
• 測試單一模組的正確性 (比如說函式或類別)
• 在修改程式碼後通常會重跑一次所有的單元測試,確認功能正常
• 如何讓程式容易被測試是一門學問
– Class之間低耦合
– 高模組化
– 所有邏輯都寫在main或一個if的程式難以被測試
• 自動測試framework
– C#: Nunit
– Java: JUnit
23. Issue Tracking System
• 改善傳統Email + Excel 的方法
• Ex: Redmine, trac, mantis
• 團隊內部透明
• 處理事項目前的執行狀態
• 優先權的分配
• 執行人
• Wiki功能
30. Q & A
• Thanks for your listening!!