User Story Rating
User Story Ratings provide many benefits both in the User Interface and through the Agile Ready API
Agile Ready Ratings API
API Endpoints
Agile
Ready’s API endpoints and schemas are listed below. There are three endpoints
in the current 2023 Release. They are:
Agile Ready API
endpoints |
Function |
https://beagileready.com/api/ar-rate-user-story/ |
Get a Numerical Rating on the quality of
compliance to the proper User Story Form |
https://beagileready.com/api/ar-rate-job-story/ |
Get a Numerical Rating on the quality of
compliance to the proper Job Story Form |
https://beagileready.com/api/ar-rate-test-story/ |
Get a Numerical Rating on the quality of
compliance to the proper Test Story Form |
|
|
API
access
To gain access to the Agile
Ready API, create a trial or paid account at https://beagileready.com. Once you’ve completed the signup process and
acknowledged our terms, you be able to generate the required API Keys to access
the endpoints. The number of API calls you can make will vary based on the type
of account created.
Administrator
/ Root Account
Agile Ready accounts,
upon successful activation, create an administrator account also know as the
root account. This account, based on subscription level, can ADD additional
users to the account. The API Key administration function within Agile Ready is
only available to the administrator or root account.
API
protocols and headers
The Agile Ready API uses POST requests to communicate and HTTP response codes to indicate status and errors. All responses come in standard JSON. The Agile Ready API is served over HTTPS TLS v1.2+ to ensure data privacy; HTTP and HTTPS with TLS versions below 1.2 are not supported. All requests must include a Content-Type of application/json and the body must be valid JSON.
The Agile Ready API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
All Agile Ready API endpoints require an API KEY. These may be sent either in the request body or in the headers.
API host
Agile Ready has one environment:
Production at https://beagileready.com. All activity in the
Production environment is either at no cost in the trial edition or included in
the cost of a paid account. The
number of API calls you can make will vary based on the type of account created.
/api/ar-rate-user-story/
Rate
a User Story
Use
/api/ar-rate-user-story/ to
rate a User Story to get a numerical score of the quality of form compliance.
User Story form compliance is described further in section, FORM COMPLIANCE.
In
order to obtain a valid score for the User Story, Agile Ready must have a valid
API key for the account. If the transaction does not have a valid API key, an
error will be returned corresponding to the underlying cause.
Request
Fields Example ( method:- post) |
body:- {
"Key":"xxxx-xxxxxxxxxxxxxx", response:- {
"status": 1,
} |
Request
Field |
Type |
Usage |
Key |
String |
API key
provided by a valid Agile Ready Account |
UserStoryString
|
String: 2048
length |
String
containing text that is submitted as a user story to be rated using the
Readiness Quality Score. |
Response
Field |
Type |
Usage |
status |
Integer |
Status code
using standard HTTP response codes |
rating |
Integer |
If status
code is 1 Numerical code in the range of 1 to 100 otherwise if status code is
not 1 data in rating response is invalid |
result |
string |
If status
code is 1 a text string is returned to interpret the rating otherwise if
status code is not 1 text strings response is invalid |
/api/ar-rate-job-story/
Use
/api/ar-rate-job-story/ to
rate a Job Story to get a numerical score of the quality of form compliance. Job
Story form compliance is described further in section, FORM COMPLIANCE.
In
order to obtain a valid score for the Job Story, Agile Ready must have a valid
API key for the account. If the transaction does not have a valid API key, an
error will be returned corresponding to the underlying cause.
Request
Fields Example ( method:- post) |
body:- {
"Key":"xxxx-xxxxxxxxxxxxxx", response:- {
"status": 1,
} |
Request
Field |
Type |
Usage |
Key |
String |
API key
provided by a valid Agile Ready Account |
JobStoryString
|
String: 2048
length |
String
containing text that is submitted as a user story to be rated using the
Readiness Quality Score. |
Response
Field |
Type |
Usage |
status |
Integer |
Status code
using standard HTTP response codes |
rating |
Integer |
If status
code is 1 Numerical code in the range of 1 to 100 otherwise if status code is
not 1 data in rating response is invalid |
result |
string |
If status
code is 1 a text string is returned to
interpret the rating otherwise if status code is not 1 text strings response
is invalid |
/api/ar-rate-test-story/
Use
/api/ar-rate-test-story/ to
rate a Test Story to get a numerical score of the quality of form compliance. Test
Story form compliance is described further in section, FORM COMPLIANCE.
In
order to obtain a valid score for the Test Story, Agile Ready must have a valid
API key for the account. If the transaction does not have a valid API key, an
error will be returned corresponding to the underlying cause.
Request
Fields Example ( method:- post) |
||
body:- {
"Key":"xxxx-xxxxxxxxxxxxxx", response:- {
"status": 1,
} |
||
Request
Field |
Type |
Usage |
Key |
String |
API key
provided by a valid Agile Ready Account |
TestStoryString
|
String: 2048
length |
String
containing text that is submitted as a user story to be rated using the
Readiness Quality Score. |
Response
Field |
Type |
Usage |
status |
Integer |
Status code
using standard HTTP response codes |
rating |
Integer |
If status
code is 1 Numerical code in the range of 1 to 100 otherwise if status code is
not 1 data in rating response is invalid |
result |
string |
If status
code is 1 a text string is returned to
interpret the rating otherwise if status code is not 1 text strings response
is invalid |
FORM COMPLIANCE
A
User Story
is an agile method innovation that provides a product managers, product owners
and programmers an informal, from a user’s point of view, description of
software behavior or features in a software system.
User
Story Format
A
defacto format has emerged for the user story form or syntax. The form or
syntax provides readers a quick overview of the who, what and why or the intent
of the user story. This format has three parts including fixed and variable
components.
Table
1: User Story Format
Part 1: Who |
Part 2: What |
Part 3: Why |
|||
Fixed |
Variable |
Fixed |
Variable |
Fixed |
Variable |
As a |
<Role> |
I want to |
<Goal> |
so
that |
<I
can receive a benefit> |
When
the user story string is rated, it is compared to the above defacto format
where the fixed and variable components are parsed, detected and analyzed. The
more it conforms to the correct format the higher a Readiness Quality Score
(RQS) it receives. The RQS range of numerical values and corresponding color
assignments are described in the table below.
Table
2: RQS Score Rating Table
Readiness Quality Score |
Color Code |
The Readiness Quality Score
ranges from 0 - 88 with color criteria as follows : - Red if score is less
than or equal to 35; - Yellow if score between 36 and 65; and - Green if
score is 65 and above to 88. 88-100 is reserved for future use. The color assignments are visible
in the UI views of your Agile Ready account. |
>= 88 to 100 |
Reserved |
|
>=65 and <=87 |
Green |
|
>= 36 and < 65 |
Yellow |
|
< 35 |
Red |
Agile
Ready has added TWO other story format checks with the other two endpoints
including a Job Story and a Test Story.
Job
Story Format
A
Job Story
is an alternative method developed by the Mountain Goat Software innovator,
Mike Cohn. It describes a different syntax set that the User Story for
situations that may be a better fit than the user story format.
Table
3: Job Story format
Part 1: Who |
Part 2: What |
Part 3: Why |
|||
Fixed |
Variable |
Fixed |
Variable |
Fixed |
Variable |
When |
<situation> |
I want to |
<motivation> |
so
I can |
<outcome> |
When
the job story string is rated, it is compared to the above defacto format where
the fixed and variable components are parsed, detected and analyzed. The more
it conforms to the correct format the higher a Readiness Quality Score (RQS) it
receives. The RQS range of numerical values and corresponding color assignments
are described Table 2: RQS Score Rating Table.
Test
Story Format
A
Test Story is Behavior Driven Development (BDD)
inspired format that has been used to write acceptance criteria for User
Stories but is also suitable as a format for describing functionality. When
used in acceptance criteria and conforming to the format
Table
4: Test Story Format
Part 1: Who |
Part 2: What |
Part 3: Why |
|||
Fixed |
Variable |
Fixed |
Variable |
Fixed |
Variable |
Given |
<condition> |
When |
<action> |
Then |
<outcome> |
When
the job story string is rated, it is compared to the above defacto format where
the fixed and variable components are parsed, detected and analyzed. The more
it conforms to the correct format the higher a Readiness Quality Score (RQS) it
receives. The RQS range of numerical values and corresponding color assignments
are described Table 1: RQS Score Rating Table.
The POSTMAN tool provides an easy way to access and validate your use of the API.
Example Of Stories
Poor stories (User/Job/BDD-TDD) | Better stories (User/Job/BDD-TDD) |
---|---|
Find charging station | As an Electric Car driver I want to find the nearest charging station so that I can recharge by ZapCar |
Create a Best Restaurant List Page | As a Restaurant Inspector I want to find top-reviewed restaurants within 5 miles of my location so that I can list inspection candidates |
When driver selects media options | When the driver selects the Facebook Icon I want to live stream chase drone video-audio so I can go live |
Update API trigger | When the data-modified flag toggles I want to collect updated column values so I can populate API return register |
Given drone pre-launch diagnostics flash green | Given chase drone pre-launch diagnostics flash green when drone batter power > 80% then open launch bay doors |
ZapCar driver selects find nearest station | Given ZapCar driver selects "find nearest station" icon when nearest stations are within 100 miles then display nearest three |
Rating System
The Agile Ready Rating System scores each component of the User Story, each component’s relevance to other components, and its overall wordiness. A maximum score is available for a compliant-to-standard User Story. The higher the Readiness Quality Score the more READY the story is to be worked on.
Likewise a Backlog Score is computed from the individual user story scores belonging to the Backlog. The Backlog Score rises when all user stories scores rise. Thus a Backlog’s Goodness Score tells you the quality of the user stories in the backlog.
Likewise a Product Score is computed from multiple backlogs belonging to a Product. The Product Score rise when all Backlog scores rise. Thus a Product’s Goodness Score tells you about the quality of the product based on the quality of the backlogs.