I am most
familiar with user stories and knew little about use cases so reading the
Wikipedia article on Use Cases was quite informative. It seems that use cases
are much more technical and detailed than user stories. User stories seem to
describe the results of an interaction and are more about the benefit of a
program's feature or function with respect to the user. For instance, "As
a user of website X, I need to control who can see my blog posts for privacy
reasons." However, a use case appears to be a more detailed description of
how the system will respond when it has interactions with either users or other
systems. It describes, step by step, the actions taken to perform a certain
task. For instance, a use case for changing a blog's privacy settings would
read more like (in a very basic form): "1) The system provides a Privacy
Setting dialog window which allows the user to select whether their blog is
public (readable by everyone), semi-private (readable by subscribers), or
completely private (readable by themselves only). 2) The user selects the
appropriate privacy level setting and either uses the “Save” button to save the
changes or uses the “Cancel” button to cancel the changes.” This gives a more
detailed description of how the dialog box would appear to the user and what
functions it should perform. It therefore also gives the developer a better
picture of what they need to do to code up this privacy settings dialog box.
It seems
to me that both user stories and use cases can be helpful when developing
software requirements. User stories are definitely more friendly to people who
may not know the exact technical requirements of performing a specific action.
I would imagine that user stories would be the results of meetings with the
client and potential users of the program since they can be expressed in simple
English and require little knowledge of the exact implementation of a feature.
I would also then expect that use cases could be an outgrowth of a user story,
where the developer “fleshes out” the details of implementing a feature
described by the client or user. Personally, I find use cases more helpful as a
developer, but I can certainly understand the importance of use stories when it
comes to communicating with clients and/or users. I would also find use cases
more helpful when creating the software requirements specification. However,
having both user stories and corresponding use cases could be very helpful when
trying to communicate with the client(s) and with other developers since we get
both the top-level and detail views of the features from different
perspectives.
No comments:
Post a Comment