Monday, August 10, 2009

Guidelines to write a good Technical Specification

Joyjit Ghosh, Kolkata

Following points need to be remembered at the time of TS preparation.

  • If Technical Specification template contains any instruction then we need to replace them with actual content. If nothing is required to fill against that section then put N/A (Not applicable) instead.
  • Use consistent Font (Family and Size) throughout the document (e.g. Arial 10 or Times New Roman 10)
  • The Technical Specification title should follow the naming convention that is agreed with the client like :"( Type of Development) : (Description of the Development)".
    Ex: Report: BOM explosion level by level.
  • The Technical Specification file name should have an agreed naming convention like "TS_(Short Description)". E.g. TS_BOM_Explosion.doc
  • Maintain Date and Version on the first page of TS
  • Maintain Amendment History
  • Maintain QA’s and Signoffs Section.
  • Do not add anything in “Table of contents”, only you can update the page number.
  • Don’t delete any section of the TS template; if no information is available for any section then put N/A instead.
  • Maintain contact details of the developer and functional owner
  • Provide all CTS numbers including dependent objects stored in other CTS.
  • Mention all assumptions & issues; provide closure date with issue resolution for the closed issues
  • Mention all technical details like Program name, Transaction name, Package name, Message class, and other repository objects correctly, they should follow the agreed naming convention
  • If required Table access diagram should be created where all tables along with keys fields and their relationships are drawn correctly
  • The flow diagram should describe the high level program flow. It should have a START node and an END node. Use the Flow Chart symbols to depict various steps.
  • The pseudo code should be organized in paragraphs indented properly as per the flow logic.
  • In the pseudo code each sentence should start with words like “Retrieve”, “Perform” etc.
    Example: Retrieve the following fields from table MARA
    Perform the following steps for each record of T_MARA
  • In the pseudo code a SELECT statement can be written as:
    Retrieve the fields (Field List) from into an internal table (Say T_ITAB) using the following criteria.
  • In the pseudo code a LOOP statement can be written as:
    Perform the following steps for each record of internal table T_ITAB.
  • In the pseudo code an IF statement can be written as:
    Perform the following steps if is true or false.
  • In the pseudo code data declarations can be written as:
    Declare the following variables. X1 type CHAR1
  • In the pseudo code calls to function module can be written as: Call the function module and pass the following parameters to the function module. The parameters can be specified in a Table format or attached as an excel document.
  • In the pseudo code for custom table, list of fields should be included along with the data elements, foreign key checks etc. Also Technical settings need to be specified along with Delivery and Maintenance details.
  • In the pseudo code mention Selection Screen Criteria along with its data type, default value, mandatory, selection screen type and validations.
  • Perform spelling check after the preparation of the document.
  • Go to document Properties and fill the Summary tab with appropriate values.
  • In Unit test plan (UTP) document all the test conditions appropriately
  • In Unit test plan (UTP) expected results should be documented clearly
  • In Unit test plan (UTP) test data should be given if available