|
Unless carefully managed, that which begins as a minor modification to a script can migrate into an informal systems development effort, but with none of the necessary controls and safeguards to protect the live operations of the organisation. See also Controlling Software Code during Software Development.
|
|
|
|
- Where programmers work as independent units, bad or malicious code could be copied into the source code with malicious or fraudulent intent; and no one would know - until it was too late.
|
- All code should undergo Peer Review on a regular basis.
- Always document the code clearly to explain the logic and main routines.
- Withdraw code which has been reviewed to prevent any further changes.
- Employ checksums to assist in detecting unauthorised amendments.
|
- Software under development can become confused with operational software and potentially disrupt live operations.
|
- Isolate 'development' from 'production' activities, using separate computers or internal partitions. Enforce the division by technical safeguards, including those within your operating system.
- The libraries containing object and source files for both development or live environments must be kept separate.
- Activate the audit features for the transfer of object files and source code files to the live environment.
- Endeavour to appoint staff not directly involved in systems development or production work for the transfer of objects and sources to the live environment.
- Transfer files only in response to formally authorised requests i.e. Change Control. See also Managing Change Control Procedures.
- Consider the need for special procedures for the 'emergency' release of software: See Making Making Emergency Amendments to Software.
|