用戶故事的前世今生
「用戶故事」(User story)是敏捷開發中產品需求方面一個重要實踐方法,每一個參與敏捷開發的成員都需要了解、掌握用戶故事。關於用戶故事實踐,本公眾號會持續發布系列小文,與大家共同分享。
要想與人相處相知,「知根知底」是必要的,對於「用戶故事」也是如此。所以,我們首先來了解一下用戶故事的「前世今生」。
用戶故事最早的概念來自於1996年Kent Beck提出的極限編程方法,但是當時的概念提法並不叫「用戶故事」,而是「故事」(Story)。極限編程是一種輕量級的軟體開發方法,與SCRUM和Kanban相對比更偏向於技術、工程方面。在極限編程中,提出了很多敏捷開發中的重要概念,「故事」就是其中之一。上圖所示的就是描述極限編程方法的重要書籍:《Agile Development》(中譯名:《敏捷開發的藝術》),在本書中關於「故事」,提出了很對基礎性的描述,包括需要客戶參與、卡片索引、故事的拆分、故事分類等,並且特別指出「故事以客戶為中心, 以業務結果描述結果。 它們不是實現細節, 也不 是完整的需求規格。 「
2004年,敏捷大師Mike Cohn出版了用戶故事的經典之作《User Stories Applied For Agile Software Development》(中譯名:《用戶故事與敏捷方法》 )。在這部書中,作者對「用戶故事」的概念正式定義,提出著名的「INVEST」特點,從需求獲取、分析過程和估算計劃角度進行了闡述,並提供了實例化的操作。本書的出現,使用戶故事真正成為敏捷開發中的一個獨立實踐,是用戶故事的里程碑之作。
2005年,敏捷大師Mike Cohn出版了敏捷規劃方面的大作《Agile Estimating and Planning》(中譯名:《敏捷估計與規劃》 )。在這本書中,作者從估算和規劃的角度闡述了用戶故事方法確切的說是用戶故事點數的使用,可以說更加豐富了用戶故事方法。
2014年,時隔用戶故事實踐成形十年之後,又一部著作橫空出世:《User Story Mapping》(中譯名:《用戶故事地圖》 )。這部書主要針對的是原有的用戶故事實踐在描述需求的過程中偏於離散的問題,希望通過以「地圖」的方式全景式的串聯起所有的用戶故事。
以上,就是敏捷業界涉及到用戶故事實踐的主要著作,通過整個過程,我們可以看出用戶故事與其他敏捷方法一樣,一直是基於實踐的不斷演進中。在這個演進過程中,用戶故事證明了其存在的價值,也不斷暴露出不足,作為真實使用過用戶故事的實踐者,我會不斷與大家持續分享,那麼,今天用戶故事的前世今生就講到這裡,用戶故事系列的下一篇我們再見!
推薦閱讀: