MSc-IT Study Material
June 2010 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

CSSA Code of Practice

Code of practice is a set of rules adopted by CSSA members with aim to benefits members and wider community. It serves an educational role and deals with how members exercise their professional competence. The code is a series of statements prescribing minimum standards of Practice and is concerned with Professional Responsibility. The code should be viewed as a whole and observed in spirits and not merely in word.

The code consists of a set of statements and rational behind each of them. Each statements defines elements of practice to be observed. They can be grouped into several element of practice:

A summary of the Code of Practice is provided here. The full code is accessible on the CSSA website.

Personal Requirements

StatementRationale
Make sure that members and their subordinates are kept up to date on new technologies, practices, legal requirements and standardsOthers will expect this of you
Ensure that subordinates are trained and that this is based on equal opportunity basisImprove subordinates effectiveness and advancement opportunities
Only accept work for which you are competent or else obtain additional expertise firstBe aware of your own limitation and your duty to the client
Seek opportunities for increasing efficiencyAs a professional you should be eliminated inefficiencies and be innovative by using new methods.

Organisation and Management

StatementRationale
Plan, establish and review objectives for both yourself and your subordinatesKeep overall objectives of the project in mind and use well established management practices to keep track.
Ensure tasks are allocated to people according to their ability and competenceNeed to balance competence of subordinate to the job, their need to learn new things and responsibility to the client
Establish and maintain channels of communication to seniors, equals and subordinatesEffective communication improves quality of the job and this can be improved by formal training
Be accountable for quality, timeliness and use of resourcesProfessionalism implies provision of agreed level of service, timeliness and within budget

Contracting

StatementRationale
Seek expert advice in preparation of formal contractContract needs to meet the needs of both parties. Member should use specialists where necessary (e.g. Tax and risk evaluation)
Adequately cover all requirements and responsibilitiesProfessional status implies that all details are covered

Privacy, Security and Integrity

StatementRationale
Ascertain and evaluate all risks with respect to cost, effectiveness and security levelEssential to determine what value would be lost if security is breached. Allocate to the areas of protection, detection, suppression and recovery.
Recommend appropriate security levels to risksRisks can be mandatory (e.g. health and safety) or non-mandatory (e.g. security of data etc).
Apply, monitor and report on the effectiveness of the levels of securityPeople can become lax. Employment of new technology maybe appropriate (e.g. when combating new attacks)
Ensure all staff is trained to protect life, data and equipments in cases of disaster.Safety of people is the first priority. Backup facilities for programs, data are essential because of consequential losses.
Need to take all reasonable steps to protect confidential informationPeople’s private information is at the root of an individual’s right to privacy
Competent people must be in charge of accuracy and integrity of dataStaff assigned to a job must be competent and adequately trained for the job.
An individual must have the right to review their data, correct it and appeal if necessaryIndividual has a right to freedom.

Development

StatementRationale
Exercise impartiality when evaluating each projectImpartiality is a Professional imperative
Effectively plan, monitor, adjust and report on all aspects of the projectNeed to control all aspects of a project
Use standard procedures and ensure that documentation is available and used.Professionalism implies using standard, accepted, appropriate procedures. People should know how, when, or who must do the work.
Specify system objectives, completion data, cost, security requirements and acceptance requirements.Clear statement of objective, agreed by client must be the rationale of the project.
Client should participate in all stages of analysis, development and implementationThe system is for the client. The closer the client’s involvement the better the system will be
Tasks completed within job in a defined orderPlan the system logically
Specify and conduct program and system testsShow system functions as intended, as well as detect and eliminate errors.
Ensure design is sufficiently documented to facilitate audit, maintenance, enhancement and comprehension by userEnsure system is usable
I/O designed for easy useSimple I/O ensures less errors and easier acceptance.
Data that is erroneous, redundant or out of date must be easily changed or deleted, if necessaryData must be correct while the privacy of individual is respected.
Backup procedures for data and programsConsequential losses need to be minimized
Ensure projects are technically sound, use most appropriate technology, while staying within time/cost constraintsProfessional should solve the clients problem in the most appropriate manner

Implementation

StatementRationale
Provide adequate provision for staff trainingSystem will not work properly unless staff knows how to use it. Education of users empowers them and allays fears of new system.
Changeover to new operational system – plan it, monitor the transition, adjust if necessary and reportEnsure new operation works well

Live Systems

StatementRationale
Plan and operate efficient and reliable processing within the budgetReliability and efficiency is expected of a professional
Monitor performance and quality. Hold review regularly to assess efficiency, effectiveness and securityRequirements of systems change with time hence the need for review
Plan for maintenance and enhancementsCorrect errors and upgrade system
Keep good liaison with users and set up mechanism for dealing with queriesEnsure any problems are dealt with quickly and appropriately.