在大家開始跑敏捷前,先帶大家回顧一下敏捷宣言
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
簡而言之,敏 捷元老希望創造一個重視個人與互動、與客戶是寫作的夥伴關係,並且可以不斷適應變化產出可運作的軟體的流程與環境;而在這樣的原則下,我們怎麼實際運行,我認為在大家跑熟悉到scrum時,可以先了解敏捷的流程,才不至於骨肉分離!
從敏捷方法中我們可以拆解成幾個流程去運行:
圖片來源:nvisia:The Agile Process 101: Understanding the Benefits of Using Agile Methodology
知道自己目前在什麼樣的位置以及必須解決什麼樣的問題,我認為是第一步也是最重要的第一步;曾經也有收到夢想藍圖跟需求就快速進行的經驗,在過程中因為問題定義不明確,時常會迷失方向,交付完成後才發現這不是我們要的,而缺乏問題定義與分析,也會使目標一直不斷變化、需求也變得很發散,所以好的開始也許真的是成功的一半。
問題與概念釐清後,就可以進行 sprint的規劃,通常會先列出這次sprint想要交付的backlog,可以想像為需求清單。以層級而言,可將需求或大功能劃分為 Epic,下切成 story,再切分成實際可用分派的task以及sub-task。
此階段需要實際把希望交付功能以 wireframe、prototype 呈現出來,而在設計必須重視的是畫面與使用者體驗,因此過程中終端使用者的參與或反饋就變得十分重要;在此階段請不要吝嗇做使用這訪談。
此階段就是實現前面的想像與規畫,在sprint間交付開發成果,但千萬不要忽略了測試,測試後也會產生一些必要的調整,解決開發中的問題與bug。
此階段用來檢視這次每次交付的過程與成果,畢竟敏捷是不斷迭代開發的過程,所以回顧可以讓下一次更好。
在敏捷團隊的大家,是否都能有幸好好的跑完這個流程呢~?