2010-10-13 65 views
0

我在想知道關於使用用戶故事來描述自動化,計劃性或反應性功能的想法。例如,如果您有類似訂單履行流程的操作,包括從隊列中提取訂單,準備「填寫訂單表」,將表單發送至訂單處理中心,然後等待某種確認處理中心,例如「訂單履行」或「訂單履行錯誤:原因...」等。請記住,在整個過程中唯一的用戶干預是訂單輸入時。人們總是可以爭辯說,履行過程可以從訂單輸入故事中隱含,或者它是一個實現細節,但在我看來,履行過程太大而不能像訂單輸入所隱含的那樣用戶故事或作爲實現細節。感覺就像應該把履行本身描述成一個故事一樣。將用戶故事用於自動化,計劃或反應性功能

特別是,關於爲自動化,計劃或反應性功能編寫用戶故事感興趣的方面,應該從哪個角度描述?鑑於我們正在使用像「作爲[角色]的故事格式,我希望[功能]使[目的]」成爲故事中的「作爲[角色]」角色的角色,什麼是目的在於「故事的目的」的一部分?功能通常足夠清晰,但角色和目的似乎有點相對。例如,我可以使用該系統作爲我的參考點,並寫下類似於「作爲訂單履行系統/代理,我希望能夠從履行隊列中取消訂單,準備填寫訂單表單併發送給訂單處理中心,以便能夠履行訂單「。或者,我可以從企業的角度來看待事情,並寫下類似於「作爲訂單接受者,我希望能夠處理客戶輸入的訂單,以便我能夠履行對客戶的責任並給予他們想要的東西「(或者沿着這些線)。但是,我也可以從客戶的角度寫下這些內容,並說「像客戶一樣,我希望我的訂單輸入得到處理/實現,以便我可以收到我想要的東西」。

我意識到可能沒有一個最終的答案,至於誰的觀點是有效的一個或多個有用的答案。我相信我會得到很多「這取決於」的答覆。儘管如此,我會非常有興趣聽到其他人在這些情況下做了什麼,或者是否有人知道專門針對這些類型場景的任何建議,指導或實踐。

回答

1

這可能有助於從傳統的用戶故事模板移開並朝(BDD在分析空間)功能注入的利益相關者爲中心的格式:

In order to <achieve a goal> 
As <the stakeholder> 
I want <someone to do something for me>. 

您可以制定出利益相關者是誰考慮誰願意爲故事付費。例如,CAPTCHA盒子 - 用戶必須填寫的令人討厭的東西 - 是爲了主持人的利益而完成的,或者爲了使網站更具吸引力以獲得收入,而不是爲了用戶的利益!事實上,當您考慮大多數網站,應用程序等時,它們幾乎無法爲用戶完成。大多數網站都是關於廣告收入。大多數企業應用程序需要一個部門輸入數據,以便其他部門可以使用它,或者可以從客戶那裏獲取資金。

當您這樣做時,可能會涉及多個用戶,並且用戶可能是另一個系統會更加明顯。就你而言,我猜測某種銷售主管是這個故事的主要利益相關者。

In order to make sales 
As the Sales Head 
I want customers to be notified of any errors with their order. 

In order to make sales 
As the Sales Head 
I want customers' orders to be fulfilled within 24 hours. 

可以從此看出,目標變得相當高級的,所以如果你有一個軟件起着到這些目標,你可以把它們分解:

In order to fulfil customer's orders within 24 hours... 

現在每故事可以追溯到項目願景,你可以看到所有的系統。因此,您的自動化場景可能會顯示爲:

Given a valid order in the queue 
When the order fulfilment system runs 
Then it should send a fill order form to the processing centre 
When the processing centre responds successfully 
Then the successful fulfillment should be logged 
And the customer should be notified by email. 

Given an invalid order in the queue 
When the order fulfilment system runs 
Then it should send a fill order form to the processing centre 
When the processing centre responds with an error 
Then the error should be logged 
And the customer should be notified of the problem by email. 

例如,順便說一下,如果您現在想要轉換爲這種格式,請注意,它創建的透明度可能會對那些正在開發的人造成絕對的破壞,因爲他們擁有預算,而不是正確的項目願景。我認爲這是一件好事。其他人認爲政治不太舒服!祝你好運,無論你決定。

+0

這聽起來很有意思,並且非常感謝你對於例子的深思熟慮。我以前沒有聽說過Feature Injection,但我一定會研究它。你能推薦一些我可以參考的材料嗎? – lambdakris 2010-10-20 14:21:13

+0

當然。這是我的博客文章:http://lizkeogh.com/2010/02/02/theyre-not-user-stories/和我寫的一篇文章:http://www.infoq.com/articles/pulling-power 。 Chris Matts創建了它,所以這裏是他的漫畫:http://www.lulu.com/product/file-download/real-options-at-agile-2009/5949486 - Real Options也非常令人振奮,Feature Injection基於其原則。 – Lunivore 2010-10-20 16:01:39