如何撰寫Non-Functional 需求的User Story

Non-functional Requirements as User Stories
http://blog.mountaingoatsoftware.com/non-functional-requirements-as-user-stories

Nov, 21, 2008
Posted by Mkie Cohn
Published in Mike Cohn's Blog

一個常見的挑戰, 就是撰寫non-functional需求的user stories. 他們雖然不是系統的功能, 但是他們也是系統重要的屬性或是特徵. 通常他們都是"-ilities"結尾, 但是也有些例外, 像是performance, security等等.

如果從字面上來看, 或許你會認為"non-functional requirement", 既然是不是功能, 為何我還要處理它? 所以他的命名很容易讓人混淆. 所以作者建議把non-funcitonal requriement想成是系統的限制("constraints"). 當產品負責人說"在面對100,000同時上線的使用者, 系統必須要夠處理的很順暢", 那也就是說, 把一個限制加到這個系統中. 每當我們加上一些限制到系統中, 代表系統設計能夠選擇的方法將會減少. 因此用限制來代表non-functional requriements能幫助我們更容易記住.

幸運地, 限制能更容易地幫助我們處理user stories, 以下是一些範例

As a customer, I want to be able to run your product on all versions of Windows from Windows 95 on. 

As the CTO, I want the system to use our existing orders database rather than create a new one sot that we don’t have one more database to maintain. 

As a user, I want the site to be available 99.999% of the time I try to access it so that I don’t get frustrated and find another site to use. 

As someone who speaks a Latin-based language, I might want to run your software someday. 

As a user, I want the driving directions to be the best 90% of the time and reasonable 99% of the time.


 

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()