To proceed, an analyst seeks information about lists of reorder notices, outstanding purchase orders, records of stock on hand, and other reports. He tries to understand how the existing system works and more specifically what the flow of information through the system looks like and assesses as carefully as possible, what the future need of the system will be and what changes should be considered to meet these needs. He may recommend alternatives for improving the situation which then management decides to accept or reject. The plan includes all system design features, file specifications, operating procedures, and design features, and equipment and personnel requirements. The system design is like the blue print for a building, it specifies all the features that should be there in the finished product.
Lack of senior management support and involvement in information systems development. Developers and users of information systems watch senior management to determine which systems development projects are important and act accordingly by shifting their efforts away from any project which is not receiving management attention. In addition, management can see that adequate resources, as well as budgetary control over use of those resources, are dedicated to the project.
Shifting user needs. User requirements for information technology are constantly changing. As these changes accelerate, there will be more requests for systems development and more development projects. When these changes occur during a development process, the development team faces the challenge of developing systems whose very purposes might change since the development process began.
Development of strategic systems. Because strategic decision making is unstructured, the requirements, specifications, and objectives for such development projects are difficult to define.New technologies. When an organization tries to create a competitive advantage by applying advance Information technology, it generally finds that attaining system development objectives is more difficult because personnel are not as familiar with the technology. Lack of standard project management and systems development methodologies. Some organizations do not formalize their project management and system development methodologies, thereby making it very difficult to consistently complete projects on time or within budget.
Overworked or under-trained development staff. In many cases, systems developers often lack sufficient education background. Furthermore, many companies do little to help their development personnel stay technically sound. Currently in these organizations, a training plan and training budget do not exist. Resistance to change. People have a natural tendency to resist change, and information systems development projects signal changes – often radical – in the workplace. When personnel perceive that the project will result in personnel cutbacks, threatened personnel will dig in their heels, and the development project is doomed to failure.
Lack of user participation. Users must participate in the development effort to define their requirements, feel ownership for project success, and work to resolve development problems. User participation also helps reduce user resistance to change. Inadequate testing and user training. New systems must be tested before installation to determine that they operate correctly. Users must be trained to effectively utilize the new system.
To overcome these and other problems, organizations must execute the systems development process efficiently and effectively.
2.2.2 System Development Team: Several people in the organization are responsible for systems development. In large systems, the worth of a particular project is typically decided by a top management level steering committee, usually consisting of a group of key Information Systems services users that acts as a review body for Information Systems plans and applications development. The steering committee ensures that ongoing systems development activities are consistently aimed at satisfying the information requirements of managers and users within the organization. A project management team generally consists of both computer professionals and key users. System analysts are subsequently assigned to determine user requirements, design the system and assist in development and implementation activities. In any systems organization, however, systems designers take a lead role during the design, development and implementation stages.
In end-user developed systems, the end-user is ultimately responsible for the system. Generally, the end-user seeks guidance from information centre personnel while developing the system. Accountants’ involvement in Development work: Most accountants are uniquely qualified to participate in systems development because they may be among the few people in an organization who can combine knowledge of IT, business, accounting, and internal control, as well as behavior and communications, to ensure that new systems meet the needs of the user and possess adequate internal controls. They have specialized skills such as accounting and auditing – that can be applied to the development project.
2.3 Systems Development Methodology
A system development methodology is a formalized, standardized, documented set of activities used to manage a system development project. It refers to the framework that is used to structure, plan and control the process of developing an information system. Each of the available methodologies is best suited to specific kinds of projects, based on various technical, organizational, project and team considerations. The methodology is characterized by the following:
The project is divided into a number of identifiable processes, and each process has a starting point and an ending point. Each process comprises several activities, one or more deliverables, and several management control points. The division of the project into these small, manageable steps facilitates both project planning and project control. Specific reports and other documentation, called Deliverables must be produced periodically during system development to make development personnel accountable for faithful execution of system development tasks. Users, managers, and auditors are required to participate in the project which generally provide approvals, often called signoffs, at pre-established management control points. Signoffs signify approval of the development process and the system being developed.
The system must be tested thoroughly prior to implementation to ensure that it meets users’ needs.
A training plan is developed for those who will operate and use the new system.
Formal program change controls are established to preclude unauthorized changes to computer programs.
A post-implementation review of all developed systems must be performed to assess the effectiveness and efficiency of the new system and of the development process.
Approaches to System Development : Since organizations vary significantly in the way they automate their business procedures, and since each new type of system usually differs from any other, several different system development approaches are often used within an organization. All these approaches are not mutually exclusive, which means that it is possible to perform some prototyping while applying the traditional approach. These approaches are as follows : Waterfall : Linear framework type System Development Life Cycle Methodology ifferent phases. These phases include requirement analysis, specifications and design requirements, coding, final testing, and release. The waterfall approach is used on small projects because it eliminates testing to identity problems early in the process. In the traditional approach of system development, activities are performed in sequence. Fig. 2.3.1 shows examples of the tasks performed during each phase of the traditional approach. When the traditional approach is applied, an activity is undertaken only when the prior step is fully completed. Overview of WaterFall Model
Fig. 2.3.1 : Steps in Traditional Approach
Framework type : Linear
Project is divided into sequential phases, with some overlap and splash back acceptable between phases.
Emphasis is on planning, time schedules, target dates, budgets and implementation of an entire system at one time.
(iii) Tight control is maintained over the life of the project through the use of extensive written documentation, as well as through formal reviews and approval/signoff by the user and information technology management occurring at the end of most phases before beginning the next phase.
© The Institute of Chartered Accountants of India
Information Systems Control and Audit
(i) Ideal for supporting less experienced project teams and project managers or project teams whose composition fluctuates.
(ii) An orderly sequence of development steps and design reviews help ensure the quality, reliability, adequacy and maintainability of the developed software. (iii) Progress of system development is measurable.
(iv) Conserves resources.
(i) Inflexible, slow, costly, and cumbersome due to significant structure and tight controls. (ii) Project progresses forward, with only slight movement backward. (iii) Little room for use of iteration, which can reduce manageability if used. (iv) Depends upon early identification and specification of requirements, yet users may not be able to clearly define what they need early in the project. (v) Requirement inconsistencies, missing system components and unexpected development needs are often discovered during design and coding.
Problems are often not discovered until system testing. (vii) System performance cannot be tested until the system is almost fully coded, and under capacity may be difficult to correct. (viii) Difficult to respond to changes. Changes that occur later in the life cycle are more costly and are thus discouraged. (ix) Produces excessive documentation and keeping it updated as the project progresses is time-consuming. (x) Written specifications ate often difficult for users to read and thoroughly appreciate. (xi) Promotes the gap between users and developers with clear vision of responsibility.
2.3.2 The Prototyping Model: The traditional approach sometimes may take years to analyze, design and implement a system. In order to avoid such delays, organizations are increasingly using prototyping techniques to develop smaller systems such as DSS, MIS and Expert systems. The goal of prototyping approach is to develop a small or pilot version called a prototype of part or all of a system. A prototype is a usable system or system component that is built quickly and at a lesser cost, and with the intention of being modifying or replacing it by a full-scale and fully operational system. As users work with the prototype, they make suggestions about the ways to improve it. These suggestions are then incorporated into another prototype, which is also used and evaluated and so on. Finally, when a prototype is developed that satisfies all user requirements, either it is refined and turned into the final system or it is scrapped. If it is scrapped, the knowledge gained from building the prototype is used to develop the real system.
© The Institute of Chartered Accountants of India