An simple agile modeling method is to identify use cases, or user stories, to derive end user requirements. This technique is especially useful for identifying requirements for both new and existing solutions.
First you identify the roles and target audience, both User Types and stakeholders. User Types or specific roles are referred to as "actors" or "personas". Next you identify singular User Goals for each persona, or user type, and begin capturing individual use cases in the form of:
As a [ persona ], I need to [ perform an action ] so that [ realized benefit ].
For example, As a student, I need to purchase a parking pass so that I can drive to school.
Use cases typically begin at the highest level like that above. These high level use cases are then decomposed to an appropriate more atomic level description representing collections of lower level functionality. After brainstorming and exhausting the initial number of use cases representing user interactions with the proposed solution, user stories can also be themed. A theme is a collection of related user stories. For example, for a university registration system there might be themes around students, course management, transcript generation, grade administration, financial processing. Themes are often used to organize stories into development phases (releases) or to organize them so that various subteams can work on them.
Following is an example spec we captured for EBS and the eLearning solution using this method.
Requirements for the Production & Hosting of Training Assets (draft)
Purpose: This document serves to collaborate with primary stakeholders in capturing functional and feature requirements for the handling of eLearning assets created by, and consumed by, City employees for various online training purposes. Requirements should be specific as possible and free of any particular implementation or solution constraint. Higher level requirements should be decomposed to the lowest possible individual requirements comprising the higher level objective, whenever possible.
Solution Concept: The City of Portland needs a common solution to capture, publish, access and administer eLearning assets produced by City bureaus and offices. This will promote central administration and lessen incompatibility issues between eLearning assets produced by the City.
Target Audience: (who will be using this solution)
- Personas (identify user types)
- Content Creator (CC); one who authors training material.
- End User (EU); one who accesses online content for the purpose of on-demand training.
- Training Administrator (TA); one who administers the overall results of one or more online training courses.
- Users / Stakeholders (identify early adopters, influencers)
- BHR, EBS, BTS and others city-wide
User Goals: (identify use cases / user stories containing a persona and related task to accomplish a goal)
● Content Creator (CC)
1. As a Content Creator, I need to capture and publish a wide variety of online trainings, including:
- video or audio only
- self-paced interactive training
- quizzing and scoring
2. As a Content Creator, I need to publish to a common area where end users can access freely
- publish video or non-interactive courses direct from Captivate to YouTube
- publish interactive courses via City website (permission based
- publish transparently, regardless of information store
● End User (EU)
1. As an End User, I need on-demand access to different types of online training content, including:
- screencasts and demonstrations (non-interactive)
- eLearning content (partially to fullly interactive)
- accessed from within a collection of links on a web page
- accessed as embedded content on a web page
- accessed from within YouTube directly
- accessed from within the cloud
- accessed from within application help forms via a "show me" button
2. As an End User, I need to view my past dates and scores achieved for specific online training courses. Possible elements include:
- learner profile
- related trainings / series
3. As an End User, I would like a confirmation email reflecting my score upon course completion.
● Training Administrator (TA)
1. As a Training Administrator, I need to view other's past dates and scores achieved for specific online training courses. Possible elements include:
- learner profile
- related trainings / series
2. As a Training Administrator, I would like to optionally receive a confirmation email reflecting other’s scores upon course completion
- cc’d on individual results
- cc’d on course-specific results
Feature Requirements: (Concept + Users + Tasks = List of Features)
Nomenclature for enumerating requirements below: <=userType><n=useCase> <a…=specific aspects>
CC1. Adobe Captivate has been chosen as the City standard tool for creating and publishing eLearning assets (preordained).
CC2. a. Publishing in various formats needs to be "push button".
b. Both video and non-interactive course material can optionally be published directly to YouTube from Captivate.
c. Supported formats should be SWF, HTML5, MP4, and PDF outputs from Captivate.
d. Interactive course materials should be published from the City website.
EU1. a. Both non-interactive and interactive assets should be accessible from a central location.
b. eLearning assets should be available in a variety of formats supporting desktop and mobile access.
c. Direct access to YouTube should be supported if appropriate to use case.
EU2. a. user profile, course information, and scores should be available via POG/ESS.
EU3. a. an email confirmation with class and score information (if applicable) should be sent to the user’s email address.
TA1. a. user profile, course information, and scores should be available via POG/MSS.
TA2. a. support a method for “cc’ing” the TA on individual-level email confirmations with class and score information (if applicable) should be available.
b. support a method for “cc’ing” the TA on course-level email confirmations with class and score information (if applicable) should be available.