Software Development Standards: Purpose
Software Development Standards: Purpose
Requirement levels The following wording conventions are used in this document.
Term Meaning
Must This requirement is mandatory, it is not optional.
May If there are options provided, the implementer is
able to choose one or more of the options
outlined. At least 1 option must be selected.
Should If business rules countermand a standard
practice, deviating from the standard must be
approved by management as a modification to the
standard practice.
Page 1 of 19
Definitions, Agile Method:
Acronyms and A software development method. Most agile methods break
Abbreviations tasks into small increments with minimal planning and do not
directly involve long-term planning. Iterations are short time
frames that typically last from one to four weeks. Every
iteration involves a cross-functional team working in all steps:
planning, requirements/analysis, design, coding and testing. At
the end of the iteration, a working product is demonstrated to
stakeholders. This minimizes overall risk and allows the project
to adapt to changes quickly. Iteration might not add enough
functionality to be useable on its own, but the goal is to have an
available release at the end of each iteration. Multiple
iterations might be required to release a product or new
features.
AODA:
Accessibility for Ontarians with Disabilities Act – legislation.
Application:
Computer programs, procedures, rules and associated
documentation and data pertaining to the operation of a
computer system.
Baseline:
A specification or end-product that has been formally reviewed
and agreed upon. This becomes the basis for further
development and must go through change control procedures to
be altered.
Cross-functional team:
A group of people with different functional and technical
expertise working together to achieve a common goal.
DBA:
Database Administrator
Evaluation:
A technique in which requirements, design, code and test results
are examined in detail by a person or group to detect potential
problems. The results are documented.
Maintenance:
To repair, change or enhance software/application.
MoSCoW method:
A technique used to reach a common understanding with
stakeholders on the importance they place on the delivery of
each requirement. Also called the MoSCow prioritization or
analysis.
Product:
A product is the tangible result of any process or work group.
This includes (but is not limited to) purchased software products,
components, code, services and deliverables.
Project Team:
A group of people (may include various departments) who
collaborate and work together to deliver a software product.
Regression Testing:
The process of testing changes to software to ensure the changes
have not adversely affected current system functionality.
Sign-off:
The declaration that the product has met expectations and been
accepted by the governing body of the project.
System:
A set of programs which perform all functionality defined within
a software application.
Subsystem:
A functionally related to a subset of the system.
Walkthrough:
A review process in which an individual(s) leads their peers
through their work product. This is used to evaluate
requirements, specifications, code, documentation, etc.
Waterfall Method:
A software development method. Waterfall is a sequential
design process. Each phase in the lifecycle must be fully
completed, documented and agreed upon prior to moving
forward to the next phase.
Document:
New business needs
New assumptions since initial project assessment
Items that will not be solved with this software
(outstanding issues)
Integration points with other software
Data storage requirements
Data retention requirements
Cross-functional support/input required to proceed with
this project/request
Legislative/contractual/security/privacy/access
requirements
Confidential data, access rights to this data and
compliance requirements for this data (e.g., payment
requirements must meet PCI compliance; student home
address must adhere to FIPPA rules, etc.)
Roles required for security.
Deliverables:
Requirements document.
Deliverables:
Design document
Project work schedule
Coding specifications to be given to developers
Transitional documentation for operations group (format
TBD).
New stored procedures must include all the elements in the SQL
template. Templates are located in the department share (see
References and Related Documents for location).
SQL & .NET coding Templates exist for SQL procedures (insert, update, delete,
standards select). These templates include code that must exist in all
SQL procedures used for data retrieval/update. Application
session information is required to identify who is retrieving/
updating/ deleting data. Procedures used to fill screen drop
down lists do not require session information when the data
retrieved is not sensitive. For example, a procedure which
returns a list of valid academic sessions or valid course
durations or valid subject codes would not need to have session
information as this is public information.
Document your test Identify the type of test you are performing:
Unit testing
Regression testing
Load testing
User acceptance testing.
Deliverables:
Completed AODA checklist.
Test logs: Show items tested with inputs and resulting
outputs. This should be derived from the test cases that
were identified and documented in the
coding/development phase.
Issues Log: Record issues encountered during testing and
corrective action taken.
Summary: brief summary of results, metrics and any
observations during testing, including participant input.
Approvals and sign-offs:
o To validate the system/change has been tested
thoroughly, sign-offs from the Business Systems
Analyst, system owner and any other testers are
required.
Training:
What training is required for the users of the system?
Who will do the training?
Validation:
Who will validate system functionality once the product
has been implemented?
Who will validate data accuracy once the product has
been implemented?
Identify scripts or procedures to perform validations.
Go Live Decision Ensure the project team and primary user contact/primary
stakeholders are in agreement with the implementation plan.
Deliverables:
Implementation plan document
Transitional documentation for operations group
(format TBD).
Maintain a log of Identify the priority level of each issue (to be done in
issues consultation with the system user and project team):
Level 1: assign to team member(s) to resolve as part of
the post-implementation of the project. This level can
Deliverables:
Issues and resolution log.
Project close report.
Development / ☐ Does every input that comes from an untrusted source (i.e.,
Coding checklist typing into fields on a page, external systems) have
associated error checking accounted for?
☐ Are all forms of validation done on the server side? (only
allow on the client side on an as needed basis)
☐ Stored procedures used as the method for data
validation/delivery
☐ Is each coding module of sufficient size? Limit the size for
readability and maintainability. Use a 4 page rule of
thumb. If the module is larger than 4 pages consider if it
can be reduced in size or functionality can be split out; also
consider the following:
Size and quantity of data that would need to be passed
between routines
Number of temporary tables that would be needed
Any extra database reads/writes that would be required.