Agile User Story – Should System Actions Be Expressed as User Stories?

agileuser-story

I'm working on a project for a course in college where we plan to build a mobile app for students, professors and administrative so that they can reserve an order in our local restaurant at a given time and then pick it up.

Currently, we have identified 4 roles and these are the restaurant manager, the cashier, the cook and general users (I'm sorry, but I couldn't find a better word that relates the students, professors and administrative)

Now, in the user stories, we have this:

As the restaurant manager, I want to mark an order as not delivered when the client never came to pick it up during the opening hours.

While I think that this user story is incorrect because we want to build an automated system such that the restaurant manager or any particular person doesn't have to do this manually, my team believes that it is correct.

I personally believe that it should be written something like this:

As the system, I want to mark an order as not delivered when the client never came to pick it up during the opening hours

But I don't know if this approach is correct because the system is not role that a person has.

What is the correct way to express this as an user story? Or we shouldn't express it as user story, but rather as an acceptance criteria in another user story?

Best Answer

You may be confusing the roles of users and systems. Systems can certainly mark orders as not delivered on behalf of a user. That wouldn't be part of a user story for a system, however; it would be an implementation detail.

So how about this?

As a restaurant manager, I want to view orders as "not delivered" when the client fails to pick them up within a specified time period.

Note that the definition of a Use Case is

A list of actions or steps defining the interactions between a role ("actor") and a system.

where

The "actor" can be an external system [interacting with your system].

Related Topic