
| The author is a joint Director in the National Academy of audit & Accounts (NAAA), Shimla under SAI-India. He is one among the 27 instructors who were trained under the first batch under the Long Term Regional training Programme (LTRTP). He has imparted training in a number of courses under ASOSAI Training Programmes. In India also he is Know for his Training skills. |
A proper approach to systems development constitutes an important general control. In this session we will discuss the need for the audit of systems development followed by a detailed study of one well-known approach. Finally we will discuss the audit issues that should be considered while conducting the audit of systems development. In so doing, we will focus on the System Development Life Cycle (SDLC) approach and only make a passing reference to two other approaches to systems development.
This paper will discuss the need for the audit of systems development, the various stages of the SDLC and, finally, the audit issues relating to each stage of systems development.
Systems development, like any other project, is exposed to various risks of failure. It is the responsibility of the management to take adequate controls such that the risks of project failure are minimized. One of these controls is to adopt an acceptable IT system development approach. On the other hand, by providing an independent assessment of an IT systems development project, audit can contribute to the process of minimizing the risk of IT project failures. First, audit acts as a deterrent: In anticipation of adverse findings by audit, audited organizations often take care to minimize mismanagement. Second, audit observations and recommendations relating a particular audit can help audited organizations to avoid repeating earlier mistakes in future systems development projects. Third, based on similar audit findings across different systems development projects in various organizations, audit can produce very useful best practice guides.
The audit of various systems development projects has revealed the common types of failures in such projects. These include the following:
Some of the common reasons for such failures have been found to be:
If the auditor plans to conduct a comprehensive audit of IT systems development, then it is very useful for him to be knowledgeable about the best practice approaches to systems development. This knowledge provides him/her with a framework against which to evaluate (i) whether the audited organizations did actually follow a structured approach, and (ii) if they did, whether it was followed adequately.
The best-known and most comprehensive approach to IT systems development is the Systems Development Life Cycle (SDLC) approach. In recent times, two other approaches have emerged, namely Prototyping and Rapid Application Development (RAD). The latter approaches are not completely different from the SDLC approach. In fact, they have emerged from modifications of the SDLC approach as a response to clients' need for quicker delivery.
Literature on SDLC conceptualizes the various stages in slightly varying ways, from one author to another. For this session, the SDLC may be conceptualized into seven sequenced stages: (i) project need definition, (ii) feasibility study, (iii) system analysis, (iv) system design, (v) system development, (vi) implementation and maintenance, and (vii) post implementation review. Let us look at each of these stages in more detail.
1. Project Need Definition
This is the first stage of the process. The objective of this step is to clearly define the need for the project. The primary questions asked at this stage are (a) Is the project required? and (b) if yes, what are the broad expectations?
Project need definition involves the following:
Recognize the problem. There has to be an awareness that a problem(s) exists in the existing systems which should not be ignored.
Define the problem. This involves determining the exact nature of the problem, its location and its likely causes. The objective is to understand the problem to enable finding an appropriate solution.
Set system objectives. At this point the objectives are set in broad, general terms. They will be made specific later.
Identify system constraints. Some constraints are imposed by the environment, such as the government's demand for tax reports and the customers' need for billing information. Others are imposed by the firm's management, such as the requirement to use existing hardware or to have the system up and running by a certain date. If it is finally decided that there appears to be a need for the project, a feasibility study is conducted.
2. Feasibility Study
This is the analysis of the possibility and the worthiness of undertaking the project. There are several dimensions of feasibility:
The study is documented and a feasibility study report is prepared. The report would also recommend whether to undertake the project or not to do so. The report is submitted to top management for a decision to go ahead or not to. If the decision is to go ahead, then the next step is undertaken.
3. System Analysis
The objective of this step is to thoroughly understand the existing system and determine the users' information and performance requirements. At this stage a project team should be formed to establish clear responsibilities and accountability for the project. The main issues considered by the project team at this stage are:
Define information needs: What information is needed? Who needs it? When is it needed? Where is it needed? In what form is it needed?
Define performance criteria: What are the acceptable performance standards? For example, a marketing manager who needs a monthly expense report may insist that the report must be available no later than three days after the end of the month.
Analysts learn about the users' information needs by engaging in a variety of information-gathering activities: personal interviews, observations, record searches, and surveys.
This stage concludes with the preparation of a User Requirements Specification (URS) document. This has to be approved by the user representative and by top management.
4. System Design
Once the URS has been approved, the project team starts designing the new system. The system design is meant to be a blueprint of the new IT system. The project team considers and evaluates alternative designs and selects the one that is expected to meet the user requirements most satisfactorily within the given constraints. The output of this stage is the system design document (SDD). The SDD includes the following:
The SDD is submitted to top management for approval.
5. System Development
This stage is also called system construction: The objective of this step is to convert the design into an actual working system. The main issues considered in this stage are:
By the end of this stage, the new system is ready for use.
6. Implementation and maintenance
The objective of this step is to bring the new system into actual production and ensure that it functions adequately. The main issue in implementation is the manner of cutover to the new system. There are four alternatives to cutover:
Once the system has been put to use, modifications can be made so that the system continues to provide the needed support. These modifications are called systems maintenance. Systems maintenance is performed for three reasons:
7. Post Implementation Review
After the new system has had a chance to settle down, a formal study is conducted to determine how well it is meeting the user needs and system objectives. Such a study is called a post implementation review and is undertaken to assess success of the project and learn lessons for the future. If this review reveals serious deficiencies in the system or need to substantially enhance it, then the modifications may constitute a project in itself. In that case, the system development cycle returns to the first stage of project need identification.
Audit Considerations
We discussed earlier how audit of systems development can make significant contributions to IT project success. In conducting such an audit, the auditor should consider various issues to ensure a comprehensive audit. A checklist of audit considerations are indicated below, starting with general audit issues, followed by considerations in each stage of the SDLC.
General audit issues
Project Need Identification
Feasibility Study
3. System Analysis
4. System Design
7. Post Implementation Review
Note: In many cases, third parties may be substantially engaged during various stages of the SDLC. If that is so, the auditor should assess the adequacy of, and compliance with, outsourcing controls.
In this paper we discussed various aspects of the audit of systems development. Because SDLC is the most comprehensive approach to systems development, the session focused on this approach in IT systems development.
(From: Pritom Phookun, Joint Director, NAAA, Shimla)
References
Raymond McLeod, Jr. Management Information Systems Sixth Edition (New Jersey: Prentice Hall, 1995)
Laudon, C. Kenneth and Laudon, P. Jane. Management Information Systems, Fourth Edition (New Jersey: Prentice-Hall, Inc. 1996)
Weber, Ron. EDP Auditing - Conceptual Foundations and Practice, Second edition (Singapore: McGraw-Hill, 1988)
INTOSAI Standing Committee on EDP Audit. "INTOSAI IT Audit Training Courseware", 1998.
Johnson, John H. Micro Projects Causes Constant Change. (The Standish Group International Inc., 2001)