Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A Specification should not focus on the implementation details of how you feel the development should be completed, i.e. it should not contain pseudo-code.
  • The author has not injected actual code into the spec. This creates redundancy that becomes out of date with the actual code in the system, and developers are instructed to ignore this. 
  • Avoid huge amounts of implementation detail in the documentation, which someone must read and keep updated over time. Instead, talk to the developer. 
  • Describes exactly one development, and does not contain multiple developments or developments of different types (e.g. describes both an interface and the workflow it triggers)
  • Content aligns with all applicable ERP Rebuild standards, and explains the reasons for any deviations where they occur. 
  • Check that the Specification describes how the functional gap identified in SAP Standard will be addressed. For example, rather than saying ‘Users will be able to change data’, specify how they will be able to change data, e.g. ‘A UI app” will be created for users to change data’.
  • The specification should point to what type of artifacts will need to be created, e.g. BAdI implementations should specify the BAdI provided by SAP, etc.
  • Any dependency on custom data dictionary objects or new custom data dictionary objects have been identified and created.  If not, the corresponding functional specification for these objects is indicated.
  • Authorization information (groups/objects/parameters...) are specified.
  • The author has not left any sections blank or with the placeholder text still showing. Where a section is not applicable, it must be explicitly marked as such. 
  • Assumptions are documented clearly, and must be validated before development work starts to avoid ambiguity and rework. 
  • Test data and test steps are to be verified by the Author before documenting in Specifications, this is to ensure that the system and configuration prerequisites are ready for development work.
  • Besides positive testing, negative testing will also be required to ensure Error handlings are tested properly to improve program resiliency.

General Checks

  • One or more Custom Development IDs have been allocated, except for Conversion Specifications which use the number assigned in the master data register. 
  • Development IDs are provided in the Specification.
  • A reference to the relevant process or process step within Signavio has been inserted as a hyperlink. This is important so we have traceability on which business processes will be impacted if such objects for maintainability and supportability purposes.
  • No spelling mistakes are present in the document, and any abbreviations are documented in the Glossary.
  • Formatting is neat and tidy, and presents the specification in a professional light. An inconsistent mixture of font faces, colors, sizes, etc. is unprofessional and should be avoided.
  • Embedded diagrams are encouraged, but the original source files used to construct the diagrams must also be included. This allows future authors to amend the diagram via the original source file as necessary. Ideally, the embedded Draw.io functionality in Confluence is used. 
  • Dependencies on other technical objects or business processes are identified, and dependent documents and specifications are available via hyperlinks. 
  • Key contacts are identified (functional owner, business owner, technical, etc.).
  • Security is important and needs to be detailed by providing standard or required custom authorization objects.
  • ALL config required for the process and development to work needs to be completed before development can start.
  • Label for Pod and Release to be assigned to the spec in Confluence.
  • Test cases need to be maintained in detail, like positive, negative tests and expected result.

...

Expand
titleThings to consider
  • The author has inserted screen a mock-up or actual screenshot of the form, with annotations where visual UI enhancements are needed. Forms should be specified using hi-fi mock-ups which show all of the required elements with annotations and explanations. 
  • The process for initiating the output generation is clearly specified. 
  • Type of output specified (i.e. to a screen for download, for Desktop printing by the user, for non-interactive direct printing).
  • Existing forms similar to the proposed form have been identified as appropriate, and included as samples. 
  • Paper size is specified (A4, Letter, Label dimensions, etc).
  • Form layout is provided with real positions and sizes of each page.
  • Page format and orientation are included for each page.
  • Layout is harmonized with other similar forms.
  • The Locale of the form is specified; this will determine things such as language, date and number formats, address formats, etc. 
  • If applicable, pre-printed form identified (a document is included with this pre-printed at real size or the pre-printed is sent by posting).
  • Maximum lengths are suitable for layout.
  • Field descriptions provided for each form field that is not obvious to a suitably experienced developer.
  • Standard texts to be used are defined.
  • Deviations from standard SAP address format are identified.
  • The form language(s) is indicated and is not a constant, specially if translations are required.
  • Form layout and translation have been provided for all (additional) languages, If any.
  • Special requirements (i.e. envelope, terms and conditions file, fax number generation procedure) have been clearly documented.
  • The printer type is specified and further considerations are not forgotten for special printer types (laser printer, dot printer, thermal printer, etc...).
  • The paper type is specified and further considerations are not forgotten for special paper types (continuous stationary, sticker).
  • Desired persons signature which are supposed to be included in form on right with necessary information and desired language must be properly mentioned.
  • Logo Requirements should be consistent to project approach.

...

Expand
titleThings to consider
  • Logical Source and Target Systems are identified.
  • Link to artifact in LeanIX to be provided.
  • Initiation method is specified (e.g. user action, event, incoming message, timed job, polling, etc.)
  • A UML Sequence Diagram should be included showing the flow of messages, whether a push or pull pattern is used, which communication links are synchronous and which are asynchronous, etc. 
  • Data Mapping is provided for mappings which are not obvious to a suitably-skilled and experienced developer
  • Input and output messages are provided
  • Error handling requirements are specified, including alerting requirements and expected action on failure. 
  • Can the integration process be safely re-run without adverse effects (i.e. it is idempotent)? 
  • Defines the volumes of data being handled per invocation, the frequency of invocation, and expected execution times.

...

Expand
titleThings to consider
  • The Logical Systems providing the interface is identified. 
  • The Interface Development ID is shown. 
  • IDs of Integration Processes interacting with this System Interface must be included.
  • Link to artifact in LeanIX to be provided.
  • The relevant integration pattern used by this System Interface must be specified. 
  • The API type has been provided. Please note that this can only be finalized with input from the Technical team.
  • A UML Sequence Diagram should be included showing the flow of messages, whether a push or pull pattern is used, which communication links are synchronous and which are asynchronous, etc. 
  • Input and output messages are provided.
  • Error handling requirements are specified, including alerting requirements and expected action on failure. 
  • Can the interface be invoked multiple times without adverse consequences, (i.e. it is idempotent)?
  • Defines the volumes of data being handled per invocation, the frequency of invocation, and expected execution times. 

...

Type of DevelopmentTemplate Name
Application Job (Custom)Functional Specification - Enhancement
Conversion (Load only)Data Conversion Specification
Conversion (Transform + Load)Data Conversion Specification
Conversion Custom Build with Development IdFunctional Specification - Enhancement
EnhancementFunctional Specification - Enhancement
Form (Output)Functional Specification - Form
HANA CDS ViewFunctional Specification - Report/AnalyticsEnhancement
Integration Process (custom)Functional Specification - Interface Integration Process
Integration Process (standard)Functional Specification - Interface Integration Process
Mobile AppFunctional Specification - User Interface
ModificationFunctional Specification - Enhancement
ProgramFunctional Specification - Enhancement
Report/AnalyticsFunctional Specification - Report/Analytics
System InterfaceFunctional Specification - System Interface
User InterfaceFunctional Specification - User Interface
Workflow (custom)Functional Specification - Workflow
Workflow (standard)Functional Specification - Workflow

...