Services

From Project VRM
Revision as of 08:40, 18 February 2008 by Joe.andrieu (talk | contribs) (Changed nomenclature to requirements model)
Jump to navigation Jump to search

Working Draft

An introduction to Use Cases and how they relate to our work on VRM.

Existing Work

Definitions

First, A Use Case is a distinct, complete transaction between a user and the system.

Transaction
a user initiated interaction with the system to produce a specific benefit.
User
any entity, human or automated, that initiates and drives a transaction in order to create value for itself or its beneficiary. Users include end-users, administrators, vendors, vendor's CRM systems, and customers. Users are sometimes referred to as an actor in Use Case literature. Every VRM Service will be developed with specific focal users in mind while incorporating the needs of all supported users.
System
A complete service that provides a bundled set of functionality for users. VRM Services implement a few focal use cases and multiple supporting use cases in order to provide value to users. Think of services as a convenient way to organize VRM functionality into implementable systems.

The Requirements Model

Second, in developing a complete VRM Standard, we will create several documents, which will define exactly what value the system will product for which users. These documents together comprise the Requirements Model for the Standard.

Users Specification
A list of all Users supported by the system, specifying one or two focal users.
User Map
A visual representation of the supported users and their relationship to one another.
User Profiles
A detailed description of each user's expectations, capability, and requirements for the system. Developed to enough detail to distinguish what this particular user needs from the system design.
High Level Use Cases
A list of all supported use cases in the system, identifying all focal and required use cases by title, ordered by priority.
Scenarios
Prose descriptions of a user's interaction with the system as one example of the Use Case that explains the context, the interaction, and the benefit. Each Use Case requires at least one Scenario.
Abstract Use Case Narratives
An implementation and technology-free chronological ordering of user intention and system responsibilities for a particular use case. Based on one or more specific Scenarios, define the specific, yet technology-free, interactions that are required for the use case. These narratives will be normative, that is, they will ultimately define the requirements of the functioning system.
Specific Use Case Narratives
Implementation-specific sequences of user action and system response for a use case. These narratives will be illustrative, that is, they will show how a particular set of technologies can implement a particular use care--or how a specific set of technologies might require or suggest changes to the use case.
Use Case Diagrams
Both abstract and specific use cases may be diagramed visually to represent the transaction flow between various system components. For abstract use cases, the diagrams will be normative. For specific use cases, they will be illustrative.
Use Case Maps
A visual representation of the multiple use cases that comprise a particular service and their relationship to one another.
Constraints & Requirements
In addition to responding to specific use cases appropriately, every Service shall define its own set of constraints and requirements to complete the specification of the service. Many requirements will be applicable to most, if not all, VRM services, such as those inspired by tenets of data portability and user-centric identity. When mapping out the first Change of Address use case, it became clear that the core Use Cases were already substantially met by such online services as Plaxo and LinkedIn, raising the question of what would actually make a Change of Address service VRM-compliant. That led directly to a handful of simple requirements that assure the user and vendors have appropriate access and controls.
Technology Review
A review of existing technologies that can be leveraged to implement a complete service, either directly--by incorporating the technology into a deliverable solution, or indirectly--by learning from the technology to assure a more complete solution.
Formats & Protocols
The data formats and protocols that are required for implementing the service. This includes interoperable data formats as well as open standard transport protocols for moving data around.

Standards and Compliance

Third, we propose that any implementation that fully implements all of the normative requirements of the Requirements Model for a VRM Service, including all constraints and interoperability requirements, meets the VRM Standard for that Service.

Toward that end, the normative documents for the Requirements Model will be drafted, revised, and vetted via an open process, accessible to anyone. Our expectation is that the governing committee of the VRM effort, and the VRM Standards Committee in particular, will oversee the development of new services from brainstorming through to publication. The VRM Standards Committee will Propose complete standards to the governing committee once sufficient development and public review demonstrates to the committee that such a standard is ready for publication. Ultimate authority for publication will remain with the governing committee itself; we anticipate VRM Standards being published as "Recommendations" in similar spirit to long standing Internet Engineering Task Force (IETF) practices.

The VRM Compliance Committee will oversee compliance to published standards, authenticating vendors right to claim their technology or services are "VRM Compliant."

Process

As a Service is defined by its working group, it will proceed through different levels of maturity.

incomplete draft
the working group’s initial workspace. Early thoughts and ideas and partial elements.
first draft
the working group’s first complete draft of the spec, targeting the steering committee and VRM-Tech list for feedback
revised draft
the working group’s responses to input from the steering committee and those on the VRM-Tech list
final draft
final incorporation of input from the steering committee & VRM-Tech list, when complete, this is “submitted” to the steering committee—or whatever governing body has the authority for final approval—for review and endorsement.
proposal
VRM standard proposed by the steering committee for the general public, targeted for feedback from the public at large, similar to a Request for Comments or RFC.
recommendation
a “final” VRM standard, fixed by version # and suitable for developing interoperable implementations.

Work in Progress

The VRM initiative is early in its development. The proposed processes are likely to evolve over time. Given the fluid yet inherently dated nature of wikis and web pages, any particular document may or may not reflect the current--or ultimate--disposition of the VRM community. However, we have to start somewhere. We look forward to your input.