1. 程式人生 > >Agile敏捷開發管理Salesforce專案(第一篇)- 4大核心價值觀+12條原則

Agile敏捷開發管理Salesforce專案(第一篇)- 4大核心價值觀+12條原則

【什麼是敏捷開發?】資深程式設計師之路(5)--agile開發
敏捷開發(scrum, agile)相對於瀑布流開發(waterfull)更適合現在快節奏的商業模式需求,它將一整個專案拆分為相互獨立的小塊,我們成為sprint(衝刺),每個sprint都包含前期的需求分析,開發測試,客戶演示和demo優化,UAT,如下圖。

好處:隨時保持和客戶的互動(雙向反饋),確保開發更符合客戶實際業務需求。


【敏捷開發的4大核心價值觀?】The Four Values of The Agile Manifesto
1. Individuals and Interactions Over Processes and Tools

以人為中心,強調團體(內部團隊+外部客戶)溝通協作

2. Working Software Over Comprehensive Documentation

傳統的專案管理大量時間被消耗在記錄產品開發和最終交付,如技術規範、技術要求、技術說明文件、介面設計文件、測試用例文件等拖延了專案交付時間,敏捷不排除文件,它藉助User Story敏捷文件需求結合敏捷工作軟體使形式更精簡,這給開發者明確的工作任務而非陷入細節。

3. Customer Collaboration Over Contract Negotiation

客戶參與開發過程,包括需求的進一步確認、細節的進一步擬合、定期的演示,能確保產品極大程度地滿足客戶的業務需求。

4. Responding to Change Over Following a Plan
傳統的專案管理

重計劃,並將中途客戶提出的需求變更視為一種支出,對於大型專案,如果有需求變更就提出變更並經過需求變更委員會審批後(重估成本和IT預算)才能實施;而敏捷開發擁抱變化,並認為變更總是改善專案,為客戶提供額外的價值。

【敏捷開發的12條原則?】敏捷開發之 12條敏捷原則 | 周金根部落格

1. Customer satisfaction through early and continuous software delivery

2. Accommodate changing requirements throughout the development process

3. Frequent delivery of working software


4. Collaboration between the business stakeholders and developers throughout the project


5. Support, trust, and motivate the people involved


6. Enable face-to-face interactions

7. Working software is the primary measure of progress


8. Agile processes to support a consistent development pace


9. Attention to technical detail and design enhances agility


10. Simplicity


11. Self-organizing teams encourage great architectures, requirements, and designs


12. Regular reflections on how to become more effective


【敏捷開發的框架的核心概念?】
1. User Stories

End User關於產品的要求,常用如下格式表示一個完整的User Story:

As a/an role, I want/need(features), so that(benefits).
通常,在收集user story的同時,會要求客戶註明可接受條件(acceptance criterias),作為軟體實施的Basic Requirement/MVP(Most viable product)。

2. Product Backlogs - 產品待辦項(未完成項/存量)

The collection of all user stories, we called product backlogs.

3. Realeas List<Backlogs>

從Product Backlogs挑出需要實施的User,並按照優先順序Must/Should/Could/Won't排序,並規定每個task需要完成的時間,如:1hr/2hrs/4hrs/8hrs | 2ds/3ds/5ds/10ds | 1m/2ms/3ms/6ms.

3. Team Roles
將scrum的roles分為三個層次:
Product Owner: 將正確的功能放入Product Backlogs的人。
Scrum Master: 相當於專案經理,需要確保專案進度,協調客戶與團隊並主持scrum daily meetings等。

Team: include developers, testers, customers, executives.

4. Sprints

指Realease Planning,一般一個Sprint週期為2d-1m。