- From: Lynne Rosenthal <lynne.rosenthal@nist.gov>
- Date: Wed, 17 Mar 2004 14:55:47 -0500
- To: www-qa-wg@w3.org
Below is an outline for the new SpecLite. You will notice that it isn't short and we may want to delete some of what I called Good Practice (i.e., things that we would recommend) and other things. In fact, some of these may be obvious, may appear in a different format (e.g., within an example or description), etc. Additionally, the naming of section headings need work. Question: what should be the normative, mandatory statements? (section titles or text within a section)? ************************************************** SpecLite Outline Target Audience: Spec writers. Notes on how to read this: X (a letter) denotes a heading X.# denotes a requirement (@@ not sure if this should be the requirement) Good Practice: is a suggestion, recommendation, a darn good idea Advanced Topic: for those wanting more info, a link to more in depth discussion [#.#] relate to the relevant checkpoint @@ comments A. Specifying Conformance (@@ this section could actually be at the end of the document. I like it here, since it provides a roadmap of things to come. Also, if someone is in a hurry, this is what you want them to see and do) A.1. Include a conformance section [8.4] Everything you need to know about conformance to FooML is here: It contains: *Conformance model: --- specifying what may conform and how (see B.2) --- any designations or concepts used to categorize conformance (e.g., profile, modules) (see. D.1) --- ways that conforming implementations can vary from each other (see X.#) * how to find normative sections (see C.2) * how normative language is expressed (see C.3) A.2 Specify how to make conformance claims [9.1] Provide the wording Include for consideration: the meaning/value of a conformance claim may change as the spec and tests evolve. Good Practice: conformance disclaimer [9.2] Good Practice (for some): provide ICS [9.4] Good Practice (for some): require ICS for the claim [9.5] B. First things first B.1. Define the scope [1.1, 1.2] Scope = purpose, goals, audience, applicability @@need to say how this is related to conformance. Good Practice: put in the beginning of the document (duh!) Good Practice: make it simple and understandable Good Practice: use examples, use cases to illustrate Good Practice: point out what is not included (not in scope) B.2 What needs to conform [2.1] @@Here are different ways to say basically the same thing. -What is the target of the spec what will implement it -What will be the object of the conformance claim Foo defines conformance for: (fill in the rest) Examples of 'what': protocol, API, content Advanced Topic: Classes of Product, DoV B.3 Make a list of normative (and non-normative) references [7.2, 7.3] Good Practice: start now and keep adding to it as you go. C. Piece needed to Specify Conformance C.1 Define your terms [8.2, 8.5] Define conformance concepts, designations Examples: valid, well-formed, foo-conformant, document conformance (CC/PP) consumer conformance (CC/PP) Good Practice: being consistent and using the same term when you mean the same thing don't be a thesaurus. [7,3] C.2 Identify normative and informative parts [7.2] Distinguish between normative and non-nomative content C.3 What is mandatory [7.1] Indicate what requirements are mandatory as opposed to optional, recommended, good ideas, etc. Expressions that conveys the criteria to be fulfilled in an implementation of the specification Examples: use RFC keywords, assertive voice, gold stars. Good Practice: being able to find these requirements easily navigation [7.4] D. Variability affects Interoperability D.1 Dividing up the technology [3.1] @@ need a better title Subdivide into related groups of conformance requirements Examples: modules, levels, profiles @@ not sure what to do with these questions, they lead you to doing the right thing. - What are the division? - What are the ways conforming implementations differ? - How does an implementation conform to the subdivision? - Are there mandatory conditions or constraints [3.4] Examples of reasons to divide: -- no one will implement the whole spec easier to implement a subset -- incremental functionality -- target specific a type of device (SVG tiny) -- target specific audience D.2 Being flexible [5.1] Grants of discretions by the specification - discretionary items Allowing choices, options, implementation dependency Good Practice: being able to find these discretionary items navigation [7.4] D.3 Allowing extensions [6.1, 6.2] What are the conditions for extensions where, when can they be used? - are there any constraints on their use (limitations) - prohibit their use from breaking the spec Good Practice: include a motivation for allowing extensions or restricting (or prohibiting) their use Good Practice: provide a uniform way to define that extensibility is being invoked [6.3] D.4 As specification evolves deal with deprecation [4.1] List deprecated features What is the affect on conformance past claims, current, future - (if applicable) give frames for when it goes into effect Good Practice: Include the reason for the deprecation [4.4] Good Practice: Indicate workaround, how to avoid using give examples [4.5] Good Practice: Do the same for obsolete features [4.6] E. End Game E.1 Methodical review of the Spec Read it carefully, make sure everything is defined, all pieces are there, etc. Do a thorough QA review of the document - to find inconsistencies, ambiguities, etc. Good Practice: create Test Assertions [10.1, 10.2] Good Practice: have someone else (external) to read it, ask QAWG to review Good Practice: write sample code, test cases ------ Comments welcome. Lynne
Received on Wednesday, 17 March 2004 14:56:36 UTC