Definition of Done & Guidelines - SAP/fundamental-styles GitHub Wiki

High-Level DoD of a Component

  • UX and Design inline with Visual Design and Fiori Design Guidelines
  • Code Complete
  • Tested
  • Documented
  • Released

Code Complete DOD

  • Accessibility Standards are met
  • Works in Compact/Cozy mode
  • Localization/Internationalization Support
  • Cross-theme parameters are adopted from Theming Base Content package

Testing DoD

  • Self-contained test wiki
  • Visual regression tests passed (BackStop JS POC)

Documentation DoD

  • Docs page follows Fiori Design Guidelines
  • Free of typos
  • Does not have any broken links

Guidelines

Component UX/Visual

UX

  • Align and reuse the concepts from the applicable specifications if applicable
  • Ensure that is an existing component can be used as a part of the new component, it is referenced and used as part of that component/group (i.e. toolbar)
  • One option does not fit all applications. Offer options that accommodate both simple and complex situations (i.e. a lot of data versus a small amount of data, long forms v short forms)
  • Include complete documentation based on specifications. These include:
    • Intro
    • Usage
    • States
    • Structure
    • Behavior & Interactions
    • Responsive & Adaptive
  • Support for responsive

Visual

  • Support for responsive / adaptive visuals

Component Development Guidelines

  • SCSS

    • Use of BEM Methodology
    • Use/Create SCSS mixins and functions as appropriate
    • Variables for theme access
    • Should have correct z-index
    • No SCSS compilation errors
  • Accessibility

    • Keyboard support
    • Color contrast
    • ARIA attributes
  • Theme support - more information theming package

  • Internationalization

    • RTL Support
    • Font Support
    • Multi Language Support

Documentation

  • Usage
  • Structure
  • Modifiers / States
  • Responsiveness
  • Behaviour and Interaction
  • Resources

Milestone

  • All tickets in the milestone should be closed or removed so that we maintain what is completed in the milestone is what is delivered/deployed.
  • All related components that were updated during a milestone should also have accompanying documentation
  • Tested on the staging server
  • Approved by at least one dev