Viewpoint Advocacy Groups

(This is an early draft document, created for feedback purposes. It does not yet reflect a consensus recommendation, or statement of policy at this time. However, a number of VAGs have been defined and are in active use.)
The general approach is that recommended in IEEE-1471. Stakeholders in the Architecture have various agendas, goals, and viewpoints. These views are critical to the design of the new grid. This proposal is to create groups to focus on specific requirements. The list of Viewpoint Advocacy Groups may grow and shrink during the course of this project. The idea here is to provide a framework to address specific concerns in a systematic way.
"Membership" in a group is not exclusive. Anyone can participate in as many or few groups as they deem appropriate. Participation in a Advocacy Group does not imply lack of participation in the core AWG, which is merely an umbrella for all working subgroups.
== Organizational structure for Viewpoint Advocacy Groups ==
Proposed organizational structure and definition of VAGs is under discussion on the Talk page. All contributions welcome.
== Purpose of Viewpoint Advocacy ==
The purpose of Viewpoint Advocacy within the AWG includes the following:
:* To base architectural decisions on use cases via viewpoints.
:* To establish requirements from the concerns in each viewpoint.
:* To integrate the work of the separate viewpoint advocacy groups.
:* To document, negotiate and resolve any conflicting concerns.
:* To produce a coherent architecture that conforms with the above.
A successful Viewpoint Advocacy Group requires:
:* To present a set of related concerns about the system in the form of a clear viewpoint.
:* To document architectural specifications that stem from this viewpoint.
:* To consider the architectural needs of likely implementations that fulfill the specifications.
:* To operate in a way that allows for alternate implementations that satisfy the viewpoint.
:* To work with the core goals to document views and requirements that conflict or are inconsistent.
:* To review the core goals against the work output to ensure that the view's requirements are met.
:* The end result of the above is an architectural description which reveals the architecture from this viewpoint.
== Defining a Viewpoint ==
A good viewpoint might include the following elements: (borrowing freely from Emery):
: Required:
::* Name of the viewpoint
::* List of stakeholders holding this viewpoint
::* A statement of areas included and excluded from the viewpoint
::* List of concerns addressed by this viewpoint
::* Language, modeling techniques, representation method or tools used within this viewpoint
::* Source for the viewpoint
::* Use Cases
: Optional:
::* Consistency/completeness tests for the viewpoint
::* Evaluation/analysis techniques
::* Heuristics, patterns, other guidelines
::* Estimation of associated cost in resources
== List of VA-Groups ==
In alphabetical order:
* Accessibility VAG (ensuring Second life is accessible to users with disabilities)
* Core Grid Services, Protocols, and Structures VAG (REST, c-http, escrow, capabilties, and core protocols) 
* Event Scalability VAG
* Geometry and Physics VAG
* Live Performances VAG
* Quality Assurance VAG
* Scalability VAG
* Communications VAG (XML-RPC, email, HTTP requests, bots, etc.)
Category: AW Groupies