Agile Software Development
107學年度「敏捷式軟體開發」
107學年度「敏捷式軟體開發」
2019/05/21
- 這個教學網站是為了107學年度輔仁大學資訊管理學系碩士在職專班的「敏捷式軟體開發」課程。
「敏捷式軟體開發」課程主要會涵蓋:
「敏捷式軟體開發」課程主要會涵蓋:
- 第一週
- 課程介紹
- 了解敏捷開發的精神與實務。
- 以實作的方式體驗敏捷開發。
- 同學自我介紹
- 成績
- 小組專題實作體驗/開發 (50%)
- Trello / FeatureMap / CardBoard
- User Story
- BDD
- Git
- 期末報告 (課程心得與建議) (30%)
- 個人課堂參與 (20%)
- 小組專題實作體驗/開發 (50%)
- 請先註冊Trello
- 課程介紹
- 第二週
- 利用CardBoard初探 Scrum & Kanban
- 討論實作題目
- 體驗: Trello / FeatureMap / CardBoard
- 第三週
- Collect requirements
- The Art of the Strategic Product Roadmap
- Step 1: Define the Problems
- Step 2: Determine The Risks
- Step 3: Solutions and Prototypes
- Step 4: Build Your Roadmap
- Guidelines for how to handle the problem categories:
- High-value / low risk: Build it. Add to the roadmap, this is low hanging fruit.
- High-value / high-risk: Test it. Items should be considered for the roadmap based on the appetite for risk. These items should be limited, as the more risk that is taken on, the higher chance of failure.
- Low Value / low risk: Consider it for later. These problems aren’t important. They will be the items that are constantly pushed back to later sprints. Leave them in consideration, but off the roadmap.
- Low Value / high risk: Scrap it. These items lead you down rabbit holes, and often lead to a product plan being derailed.
- Guidelines for how to handle the problem categories:
- The Art of the Strategic Product Roadmap
- User Story Mapping
- Trello
- Power-ups (強化功能)
- Epic Cards for Trello (free)
- Power-ups (強化功能)
- CardBoard
- 使用者故事地圖:線上工具介紹 (CardBoard)
- User Story Mapping For Beginners
- FeatureMap (Starter for free, 2 maps)
- Trello
- User Story
- Collect requirements
- 第四週
- 第五週
- 第六週
- Behavior Driven Development & Test Driven Development
- Cucumber & Jest
- Behavior Driven Development & Test Driven Development
- 第八週
- Test Driven Development & Git
- 請大家先安裝好 Katalon
- 測試一下,clone老師的專案 https://gitlab.com/benwu/katalon.git
- Katalon Studio integration with Git overview / Git Integration
- Enable Git integration in Katalon Studio
- In the Katalon Studio, open Window -> Katalon Studio Preferences -> Katalon -> Git. Once this option is enabled, you can use Git from the Katalon Studio main toolbar.
- Choose Git Remote Repository (e.g. https://gitlab.com/benwu/katalon.git)
- Clone Project
- Commit
- Create branch
- Push to Git
- Branch merge
- Pull from Git
- Enable Git integration in Katalon Studio
- Katalon Studio integration with Git overview / Git Integration
- 為了讓大家可以一起共同寫測試
- 大家先在gitlab上開一個帳號,組長在gitlab上開一個新專案
- 組長利用Share Project上傳專案到gitlab
- 大家在Katalon裡面Clone組長開好的專案
- Test Driven Development & Git
- 第九週
- Test Driven Development & Software Testing
- 利用Katalon
- Web Testing
- 利用Katalon
- Test Driven Development & Software Testing
- 第十週
- 期中檢討
- DevOps
- 可以利用gitlab pages部署react+airtable
- 初階的CI/CD
- 可以利用gitlab pages部署react+airtable
- Scrum & Kanban經驗分享
- 第十一週
- User Story經驗分享
- eXtreme Programming實務經驗分享
- Pair Programming
- Code Refactoring / Clean Code
- 第十二週
- Scrum, Scrumban, eXtreme Programming經驗分享
- Code Refactoring / Clean Code
- Scrum, Scrumban, eXtreme Programming經驗分享
- 第十三週
- 第十四週
- Design Patterns
- Factory (Creational Patterns)
- Strategy (Behavioral Patterns)
- Facade (Structural Patterns)
- Design Patterns
- 第十五週
- 第十六週
- 第十七週
延伸閱讀
延伸閱讀
- 敏捷
- Ruddy Lee分享空間
- 李智樺 (2015) 精實開發與看板方法
- Hammarberg & Sundén (2014) Kanban in Action (看板實戰:用一張便利貼訓練出100分高效率工作團隊)
- Sutherland (2014) SCRUM: The Art of Doing Twice the Work in Half the Time (SCRUM:用一半的時間做兩倍的事)
- Jeff Sutherland是Scrum之父
- 蔡慧蘭 (2014) 敏捷軟體開發方法於台灣資訊服務業之研究 輔仁大學資訊管理研究所碩士論文
- 範疇、需求
- Jeff Patton (2016), User Story Mapping (使用者故事對照 楊仁和 譯)
- Gojko Adzic (2011) Specification by Example-How successful teams deliver the right software? (Specification by Example 中文版:團隊如何交付正確的軟體)
- Domain Driven Design
- “Your app will be finished on Tuesday.” — which Tuesday?! 10 reasons why Software Development projects fail
- Poorly defined (or, god willing, undefined!) outcome
- Solving the wrong problem.
- Not enough communication.
- No plan or timeline.
- Lack of accountability.
- Moving the goalposts too often.
- Inadequate documentation and tracking.
- Badly defined system requirements.
- Poor preparation.
- Unrealistic expectations.
- 測試
- 廖家盛 (2015) 軟體測試應用現況之探討 輔仁大學資訊管理研究所碩士論文
- CI / CD / DevOps
- Kim, Behr, Spafford (2017), The Phoenix Project (鳳凰專案:看IT部門如何讓公司從谷底翻身的傳奇故事)
- 陳易昇 (2017) 資訊系統持續整合之障礙:組織與技術觀點 輔仁大學資訊管理研究所碩士論文
- 陳胤宏 (2014) 資訊系統持續整合應用之個案研究 輔仁大學資訊管理研究所碩士論文
- Humble & Farley (2010), Continuous Delivery: Reliable software releases through build, test, and deployment automation (Continuous Delivery中文版:利用自動化的建置、測試與部署完美創造出可信賴的軟體發佈)
- 資訊安全
- 5 most important vulnerabilities every developer should be aware of
- SQL Injection
- Broken Authentication
- XSS (Cross-Side-Scripting)
- Using Web components with known vulnerabilities
- Sensitive Data Exposue
- 5 most important vulnerabilities every developer should be aware of