Codeable (Final) Specifications

Contents

In the revised OLE Development process, we are distinguishing between:

  • User Requirements - preliminary functional specifications or requirements documented by the Spec Teams for User Stories (see Specification & Documentation Templates - Not sure (Archive?) for samples and templates)
  • Codeable (Complete & Final) Specifications - taking the above draft user requirements, and translating into FINAL codeable specs for developers

Completing Codeable Specifications

  1. Review Draft User Requirements
  2. Use Spec Team Draft User Requirements to start and extend final specs, or,
    1. Combine multiple Spec Team drafts into final use case/specification document (if determined with BA), or,
    2. Extract portions of Spec team draft into technical or foundational spec document (to enable coding of dependencies in advance. Ex. Circulation Policy, Instance Record)
  3. Admin: SA must annotate and track how final specs are being combined in #2 above and reflect those changes in (exact admin process being determined for turning over specs to Project Management and Spec inventory)
  4. Work with Project Team, Developers and Technical Architect to inform follow-on or confirming Technical Specifications, or how we will "interpret functional requirements in KFS-Rice coding"

Codeable Specs - Step-by-Step

Final or Codeable specification will need to extend the draft User Requirements, by filling in any gaps or additional details, and then augmenting those specs with Non-Functional Requirements (where applicable). In total, may include:

  1. Complete existing User Requirements Sections and extend for
    1. Complete Acceptance Criteria
    2. Add/edit existing AC for functional requirements
    3. Add AC for non-functional requirements
    4. Extend User Requirements for KFS/inherited functions and UI translations
    5. Workflow/Routing Requirements (as needed)
    6. Reconciliation & Additions to Roles/Permissions Matrix
    7. Error Handling and Messaging Requirements
    8. Annotate Complex Business Rules Requirements (KRMS)
  2. Add new functional sections:
    1. UI Wireframes
      1. including UI inventory
      2. Intra-spec, Intra-process UI and Navigation needs
    2. Maintenance Document Needs (with Data Architect)
      1. including workflows and permissions for each
    3. Federated Search extensions (iterative workshops & documentation to extend Search/Docstore)
  3. Add Appendices for non-functional requirements
    1. Document Revision History
    2. Index/links to Reference Documentation
    3. Dependencies (added to spec)
    4. Document & System Control Requirements
      1. Audit Trail Requirements
      2. Version Control Requirements (Docstore)
      3. Document Statuses
    5. Interoperability Requirements: API specification (from SA or TC member of SME Team) for system integration points
    6. Scalability/Load/Performance Requirements
    7. Privacy Requirements (if applicable, and as extension of Permissions)
    8. Design & Implementation Notes (Assumptions, Constraints, Issues)
    9. Sample Data & Mappings for Testing (with spec team, TC)

Templates


    • Sample:
      More to come...

    • FINAL template includes ALL requirements sections
      • KFS existing functions can be translated in integrated spec format
      • SA's and Project Team can remove any sections not relevant to the spec in progress
    • Notes on format:
      • Template for "final" is in same order/sections as "user requirements"
        New notes/extensions throughout are in Red (except new appendices)
      • Section 11 (UI) is greatly extended
      • New Sections: 12, 13 (Maintenance Docs, Search)
      • New Appendices 2,3,4

  • (link to template location - early draft in progress)

  • See Business Rules, Workflows, Roles & Reference Documentation: SME Team SA - Spec Writing & Analysis: Reference
  • Review or complete

Extensions to Final or Codeable Specifications

  1. Specifications checklist (as needed)
  2. Change Controls
  3. Reference Documentation
  4. Gap Analysis
  5. Jira maintenance (for Requirements Traceability)

Operated as a Community Resource by the Open Library Foundation