Module 5 SDLC
Module 5 SDLC
Systems Development:
Acquisition, Maintenance
and
Implementation
1
MODULE 5
SYSTEM DEVELOPMENT, ACQUISITION AND
MAINTENANCE
Module 5 ..........................................................................................................................................1
System Development, Acquisition and maintenance ..............................................................2
Section 1: Overview .....................................................................................................................11
Learning Objectives ...................................................................................................................11
Task Statements ........................................................................................................................11
Knowledge Statements .............................................................................................................12
Relationship between Task and knowledge statements .........................................................13
Knowledge Statement Reference Guide ..................................................................................16
Section 2: Content .......................................................................................................................21
Chapter 1: System Development Life Cycle (SDLC) introduction and Concepts .............21
1.1 Learning objectives .............................................................................................................21
1.2 Introduction ..........................................................................................................................21
1.2.1 Objectives of SDLC approach .........................................................................................22
1.2.2 Steps of Systems development .......................................................................................22
1.2.3 Organisation of chapters..................................................................................................24
1.3 Concepts of SDLC...............................................................................................................25
1.3.1 When is SDLC initiated? ..................................................................................................25
1.3.2 What is SDLC? .................................................................................................................26
1.3.3 Business Application System ..........................................................................................26
1.4 Typical phases of SDLC .....................................................................................................27
Phase 1: Feasibility Study .........................................................................................................28
Role of IS Auditor in project initiation and feasibility study phase: .....................................28
Phase 2: Requirements Definition: ...........................................................................................29
2
Role of IS Auditor in requirements definition phase:...........................................................29
Phase 3: System Analysis.........................................................................................................29
Role of IS Auditor in system analysis phase: ......................................................................29
Phase 4: Design ........................................................................................................................30
Role of IS Auditor in detailed design phase: .......................................................................30
Phase 5: Development ..............................................................................................................31
Some key aspects of development: .....................................................................................31
Role of IS Auditor in development phase: ...........................................................................32
Phase 6: Testing ........................................................................................................................32
Role of IS Auditor in testing phase: .....................................................................................33
Phase 7: User acceptance testing (UAT) or final testing: .......................................................33
Phase 8: Implementation ..........................................................................................................34
Role of IS Auditor in implementation phase: .......................................................................34
Phase 9: Support and operations: ............................................................................................35
Role of IS Auditor in maintenance and post implementation phase: .................................35
1.5 Changes in SDLC phases ..................................................................................................36
Introduction of a decision on Make or Buy ...............................................................................36
Phase 3B: Outsource the application development ................................................................37
Phase 3C: Select and Purchase software available in market ...............................................37
Phase 4B: Requirement finalization .........................................................................................39
Phase 4C: Request for Proposal (RFP) ...................................................................................39
Phase 5B: Contract and SLA ....................................................................................................39
Phase 5C: Purchase .................................................................................................................39
Phase 6B: Vendor development and monitoring .....................................................................39
Phase 6C: Configuration (purchased systems) .......................................................................40
Changes in Phase 7: UAT.........................................................................................................40
1.6 Secure SDLC .......................................................................................................................40
1.7 Risk associated with SDLC and mitigation planning .........................................................42
3
1.8 Roles and responsibilities of SDLC ....................................................................................44
1.9 Summary..............................................................................................................................45
Questions: ..................................................................................................................................46
Answers and Explanations:.......................................................................................................47
Chapter 2: Initiating SDLC ..........................................................................................................49
2.1 Learning Objectives ............................................................................................................49
2.2 Introduction ..........................................................................................................................49
2.2.1 Drivers, pain points and triggers .....................................................................................49
Pain points .............................................................................................................................50
Triggers..................................................................................................................................50
2.3 Feasibility study ...................................................................................................................50
2.3.1 Technical Feasibility: ...................................................................................................51
2.3.2 Economic Feasibility: .......................................................................................................52
2.3.3 Schedule or Time Feasibility: ..........................................................................................53
2.3.4 Resources Feasibility: ......................................................................................................53
2.3.5 Operational Feasibility: ....................................................................................................53
2.3.6 Social Feasibility:..............................................................................................................54
2.3.7 Compliance Feasibility: ....................................................................................................54
2.3.8 Internal Controls: ..............................................................................................................54
2.4 Organisational methods for benefit realization ..................................................................54
Benefits Realization Techniques ..........................................................................................55
2.5 Business case development ...............................................................................................56
2.6 Business Requirements Identification ................................................................................57
2.6.1 Techniques for requirements gathering ..........................................................................57
1. Understanding Requirements .....................................................................................57
2. Study of History, Structure and Culture ......................................................................58
3. Study of Information Flows ..........................................................................................58
2.6.2 Types of requirements .....................................................................................................58
4
Functional requirements .......................................................................................................59
Non-functional requirements ................................................................................................59
Requirements Engineering (RE) Process ...........................................................................59
2.7 Summary..............................................................................................................................60
Questions: ..................................................................................................................................61
Answers and Explanations:.......................................................................................................62
Chapter 3: Project Management for SDLC ...............................................................................63
3.1 Learning Objectives ............................................................................................................63
3.2 Introduction ..........................................................................................................................63
3.3 Project management frameworks.......................................................................................64
3.4Key concepts of project management .................................................................................64
3.4 Program and project management and organisation ........................................................66
3.4.1 Portfolio/Program Management ......................................................................................66
3.4.2 Program/Project management Organisation forms ........................................................68
3.5 Project Initiation ...................................................................................................................68
3.5.1 Project management methodology .................................................................................70
3.5.2 Project Context and Environment ...................................................................................70
3.5.3 Project Communication and Culture ...............................................................................71
3.5.4 Project Objectives ............................................................................................................71
3.5.5 Project Management Practices .......................................................................................72
3.6 Project Planning ..................................................................................................................72
3.7 Project Controlling ...............................................................................................................73
3.7.1 Management of Scope .....................................................................................................74
3.7.2 Resource management ...................................................................................................74
3.7.3 Project risk management standards and methods .........................................................75
Risk in project management .................................................................................................76
Risk management process ...................................................................................................76
3.8 Project Closing ....................................................................................................................77
5
3.9 Roles and responsibilities ...................................................................................................78
Steering committee....................................................................................................................78
Role of project steering committee ......................................................................................78
Project Sponsor.....................................................................................................................79
Project Manager ....................................................................................................................79
Senior management..............................................................................................................79
Business management .........................................................................................................79
Systems development project team .....................................................................................80
Business function representatives/domain specialists .......................................................80
Security officer ......................................................................................................................80
IS Auditor ...............................................................................................................................80
Quality assurance (QA) ........................................................................................................81
Technology Specialist ...........................................................................................................82
Systems Analyst....................................................................................................................82
Programmers/Developers.....................................................................................................82
Testers ...................................................................................................................................82
Documentation Specialist .....................................................................................................82
Database Administrator (DBA) .............................................................................................83
3.10 SDLC Project management techniques and tools ..........................................................83
1. Computer Aided Software engineering (CASE) tools ....................................................83
Code Generators...................................................................................................................83
Development environments and non-procedural languages..............................................84
2. Software Size Estimation .................................................................................................84
Source lines of Code (SLOC) ...............................................................................................84
Function Point Analysis (FPA) .............................................................................................85
FPA Feature Points...............................................................................................................85
Cost Budgets .........................................................................................................................86
3. Project Controlling tools and techniques.........................................................................86
A. Program Evaluation Review Technique (PERT) ........................................................86
B. Critical Path Methodology ...........................................................................................88
6
C. Gantt Charts .................................................................................................................89
3.11 Summary............................................................................................................................90
Questions: ..................................................................................................................................91
Answers and Explanations:.......................................................................................................92
Chapter 4 – Different models and methods for SDLC ............................................................95
4.1 Learning objectives .............................................................................................................95
4.2 Introduction ..........................................................................................................................95
4.3 SDLC Models.......................................................................................................................97
4.3.1 Waterfall model ................................................................................................................97
Verification and validation - a variant of waterfall model ....................................................98
4.3.2 Spiral Model ......................................................................................................................99
Key characteristics ............................................................................................................. 102
4.3.3 The Incremental Model ................................................................................................. 104
4.3.4 Prototyping methodology .................................................................................................99
Generic phases of model................................................................................................... 100
4.4 SDLC Methodologies ....................................................................................................... 106
4.4.1 Rapid Application Development (RAD) ........................................................................ 106
4.4.2 Agile software development methodology ................................................................... 108
Key Characteristics of Agile processes ............................................................................ 108
Key features of agile methodologies................................................................................. 109
4.4.3 Software reengineering and reverse engineering ....................................................... 111
Software reengineering ..................................................................................................... 111
Reverse Engineering ......................................................................................................... 112
4.4.4 Object oriented software development (OOSD) .......................................................... 113
Advantages of OOSD: ....................................................................................................... 114
4.4.5 Component Based development .................................................................................. 115
Advantages of component-based development are: ....................................................... 115
Disadvantages: .................................................................................................................. 116
4.4.6 Web-based application developmen ............................................................................ 116
7
4.5 Summary........................................................................................................................... 117
Questions: ............................................................................................................................... 118
Answers and Explanations:.................................................................................................... 119
Chapter 5: System acquisition framework............................................................................ 121
5.1 Learning objectives .......................................................................................................... 121
5.2 Introduction ....................................................................................................................... 121
5.3 Requirements Analysis .................................................................................................... 123
5.4 Product selection .............................................................................................................. 124
5.5 Request for proposal ........................................................................................................ 126
5.6 Vendor selection criteria/process .................................................................................... 128
5.6.1 Service Level Agreements (SLAs) ............................................................................... 128
5.6.2 Vendor monitoring ......................................................................................................... 129
5.7 Summary........................................................................................................................... 130
Questions: ............................................................................................................................... 131
Answers and Explanations:.................................................................................................... 132
Chapter 6: Implementation and Maintenance....................................................................... 133
6.1 Learning objectives .......................................................................................................... 133
6.2 Introduction ....................................................................................................................... 133
6.3 Testing .............................................................................................................................. 134
6.3.1 Unit Testing ................................................................................................................... 134
6.3.2 Integration Testing ........................................................................................................ 137
6.3.3 System Testing .............................................................................................................. 139
6.3.4 Final Testing .................................................................................................................. 139
6.3.5 Other types of Testing................................................................................................... 141
6.4 Implementation ................................................................................................................. 143
6.4.1 Implementation Strategies ............................................................................................ 143
6.4.2 Preparing for implementation ....................................................................................... 146
6.4.3 Training .......................................................................................................................... 147
8
6.4.4 Conversion..................................................................................................................... 147
6.5 Change management process ........................................................................................ 149
6.5.1 Emergency Changes .................................................................................................... 151
6.5.2 Implementing Changes into Production ....................................................................... 152
6.5.3 Segregation of Duties ................................................................................................... 152
6.5.4 Configuration Management .......................................................................................... 153
6.6 Summary........................................................................................................................... 154
Questions: ............................................................................................................................... 155
Answers and Explanations:.................................................................................................... 156
Chapter 7: Trends in technology impacting SDLC .............................................................. 157
7.1 Learning objective ............................................................................................................ 157
7.2 Introduction ....................................................................................................................... 157
7.3 Technology Trends........................................................................................................... 157
7.3.1 Virtualization .................................................................................................................. 157
Characteristics of virtualizations affecting SDLC ............................................................. 158
7.3.2 Cloud computing and sourcing options ........................................................................ 158
Auditing Cloud services ..................................................................................................... 159
7.3.3 Mobile Computing ......................................................................................................... 160
Mobile devices and applications development ................................................................. 161
7.3.4 Bring your own device (BYOD) .................................................................................... 161
Benefits of BYOD: .............................................................................................................. 162
Risks of BYOD ................................................................................................................... 162
7.3.5 Big data and Data analytics .......................................................................................... 162
Big Data .............................................................................................................................. 162
Data analytics ................................................................................................................... 164
7.4 Summary........................................................................................................................... 166
Questions: ............................................................................................................................... 166
Answers and Explanations:.................................................................................................... 167
9
Chapter 8: SDLC Reviews and Audit ..................................................................................... 169
8.1 Learning objectives .......................................................................................................... 169
8.2 Introduction ....................................................................................................................... 169
8.3 Role of IS Auditor in SDLC .............................................................................................. 169
8.3.1 IS Auditor as Team member......................................................................................... 169
8.3.2 Mid-project reviews ....................................................................................................... 170
8.3.3 Post implementation review.......................................................................................... 172
8.4 Summary........................................................................................................................... 173
Key factors to be considered by IS Auditor in SDLC process.............................................. 173
Questions: ............................................................................................................................... 174
Answers and Explanations ..................................................................................................... 175
Section 3: Appendix ................................................................................................................. 177
10
Section 1
SECTION 1: OVERVIEW
Learning Objectives
Most IT departments or software development companies, irrespective of their size, have a
formal set of procedures for initiating and developing new business information systems. This
is often termed as System Development Life Cycle (SDLC) or the System Development
Methodology (SDM). SDLC is an essential process of developing software solutions within
organisations. This module covers all aspects of SDLC such as development or acquisition of
application software as well as implementing IT using project management practices. This
module covers the following topics:
1. Phases in SDLC and changes in these phases due to changes in environment and security
requirements.
2. Initial phases of SLDC covering feasibility study, requirement definition, expected benefits
to organisation and developing business case for SDLC project.
3. Project management practices for executing SDLC project.
4. Various models and methods that can be adopted based on requirements for development
of application software.
5. Process for acquisition and/or outsourcing development, in case an organisation has
decided to acquire software or outsourced development.
6. Implementation methods for application acquired/developed.
7. Impact on SDLC due to changes in technology.
8. Guidelines for auditing SDLC project.
Task Statements
The task statements are what the ISA candidate is expected to know “how to perform”. The
knowledge statements delineate the areas in which ISA candidate must have a good
understanding in order to perform the tasks.
5.1 Review SDLC objectives and organisation objectives, practices, requirement analysis and
initiating SDLC.
5.2 Review need for SDLC projects, project management practices, milestones and framework
are appropriate to meet organisation requirements, governance mechanism including
benefits realization practices, (e.g., steering committee, business cases, total cost of
ownership [TCO], ROI).
11
Module 5
5.3 Review Systems Development Life Cycle (SDLC) methods and associated tools and
techniques and alternate SDLC models used are appropriately deployed.
5.4 Review software and other acquisition processes, vendor selection process, SLA, etc. are
in line with organisation objectives.
5.5 Assess risks associated with project are addressed in system design specification based
on organisation and security requirements.
5.6 Assess systems implementation processes and techniques: system implementation plan,
acceptance testing approach, data conversion approach, project benefits, resources used
(financial and people), adequacy of acquisition, development and deployment, and the
opportunities for improvement.
5.7 Assess controls for information systems during the requirements, acquisition or design,
development and testing phases for compliance with the organisation's policies, standards,
procedures and external requirements.
5.8 Review required software quality attributes, testing process against predefined
performance metrics and use of software benchmarks as appropriate.
5.9 Review relevant use of industry trends when developing a solution strategy.
5.10 Perform post-implementation review of systems to determine whether project deliverables,
controls and organisation requirements are met.
Knowledge Statements
5.1 Systems Development Life Cycle (SDLC) concepts, importance, and phases.
5.2 Roles and responsibilities in SDLC, implementation and functional segregation of duties
within SDLC.
5.3 Need for initiating SDLC, triggers and pain points, defining business requirements including
security requirements, business case development and benefits from output of SDLC (i.e.
new application system) including risk management and definition of controls.
5.4 Project governance mechanisms (steering committee, project oversight board,
organisational standards for program and project management practices, program and
project management office, benefits realization practices, (e.g., feasibility studies, business
cases, total cost of ownership [TCO], Return on Investment (ROI) and resource
management.
5.5 Software development methods such as: Waterfall, Spiral, Rapid Application Development,
Agile Development, Prototypes, Object Oriented Analysis, baseline procedures in SDLC.
5.6 Use of CASE and other tools, software Re- engineering/Reverse Engineering, development
effort estimates and software sizing techniques (e.g. LOC, FPA, etc.)
12
Section 1
5.7 Project resource management, coding and testing practices, QAT and UAT, quality
attributes and performance measurements of quality, testing methodologies and practices
related to information systems development and software accreditation.
5.8 Systems implementation processes and techniques: system implementation plan,
acceptance testing approach, data conversion approach, communication and training,
hardware/software facilities, installation, cut-over plan, configuration and release
management relating to the development of information systems.
5.9 Software support and maintenance practices, change management framework and
practices, emergency changes, help desk, communication and training.
5.10 Sourcing and contracting strategies, policies and management practices,
hardware/software acquisition and support policies.
5.11 Requirements mapping, software selection and evaluation practices and process.
5.12 Industry trends – cloud computing, mobile computing, BYOD, Big data and data analytics.
5.13 Post-implementation reviews of application systems.
5.14 Auditing SDLC processes.
5.2 Review need for SDLC Projects, project 5.3 Need for initiating SDLC, triggers and
management practices, milestones and pain points, defining business
framework are appropriate to meet requirements including security
organisation requirements, governance requirements, business case
mechanism including benefits realization development and benefits from output of
SDLC (i.e. new application system)
13
Module 5
14
Section 1
15
Module 5
5.1 Systems development life cycle (SDLC) concepts, importance, and phases.
5.2 Roles and Responsibilities in SDLC and implementation, functional segregation of duties
within SDLC
16
Section 1
5.3 Need for initiating SDLC, triggers and pain points, defining business requirements
including security requirements, business case development and benefits from output of SDLC
(i.e. new application system) including risk management and definition of controls.
5.5 Software development methods such as: Waterfall, Spiral, Rapid, Application Development,
Agile Development, Prototypes, Object Oriented Analysis, baseline procedures in SDLC.
5.6 Use of CASE and other Tools, software Re- engineering/Reverse Engineering, development
effort estimates and software sizing techniques (e.g. LOC, FPA etc.)
5.7 Project resource management, Coding and testing practices, QAT and UAT, Quality
attributes and Performance measurements of quality, Testing methodologies and practices
related to information systems development, Software accreditation
17
Module 5
5.9 Software support and maintenance practices, change management framework and
practices, emergency changes, help desk, communication and training.
5.11 Requirements mapping, software selection and evaluation practices and process.
18
Section 1
5.11 Industry trends – cloud computing, mobile computing, BYOD, Big data and data analytics.
19
20
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
SECTION 2: CONTENT
CHAPTER 1: SYSTEM DEVELOPMENT LIFE
CYCLE (SDLC) INTRODUCTION AND
CONCEPTS
1.2 Introduction
In the present era, the critical need for Information Technology (IT) can be understood from the
need to plan and develop safe, secure, and reliable system solutions using information systems
which form the backbone for developing innovative product offerings and services. Information
systems also play a key role in performing short and long term management functions and
activities. There is also greater need to ensure appropriate level of security when developing
information systems so as to establish appropriate privacy and protection practices and to
develop acceptable implementation strategies for these practices. The SDLC methodology is
designed to satisfy these needs by establishing procedures, and practices governing the
initiation, definition, design, development, deployment, operation, maintenance, enhancement,
and retirement of automated information systems.
If information is the currency of the current century then information systems provide the edifice
for designing and deploying information technology for implementing organisation processes
which improve efficiency and effectiveness of business functions. Organisations use Information
systems to perform various business functions such as processing of business transactions,
providing information for decision-making, resolve recurring issues, assisting senior
21
Module 5
management in designing strategy, linking information with corporate data. Applications systems
represent the synergy of human, IT hardware and software. IT has been continuously
developing at a rapid pace but the most important aspect for use of IT is human know-how and
the use of ideas to harness IT to perform the organisation processes, tasks and activities. The
process of developing application software to achieve functional objectives is called ‘system
development’. Due to dynamic changes in requirements, these systems may require regular
update and maintenance to address these changes and finally at a point in time, these must be
replaced, i.e. retired with new system. Hence, it is said to follow a life cycle.
Conceptualization
Feasibility
Design and development
Testing
Implementation
Use
Retirement(replacement)
22
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
The stages from conception to retirement of an information system are said to undergo a life
cycle. With availability of readymade products and availability of outsourcing options, the
design, development and testing phases have undergone changes.
Current trends and threats scenarios have impacted System Development leading to
consideration of security in the various phases of SDLC. This is referred to as Secure SDLC
and involves additional step in each phase of SDLC requiring consideration of security aspects
in each of the phases. This chapter covers key activities of each phase and provides overview
of each of the steps. The detailed explanation of the phases and steps are covered in ensuing
chapters.
23
Module 5
Chapter 1 provides the basic information about SDLC that is required for IS auditor and project
manager involved in SDLC activities. The chapter tries to answer why it is called life cycle? What
are typical activities or phases through which development happens? These activities have
undergone changes over a period of time and hence knowledge about these changes and
security requirements in SDLC are covered.
Chapter 2 focuses on actions organisations need to take relating to when to initiating SDLC
project. This covers initial phases of SLDC including feasibility study, requirement definition,
expected benefits to organisation and developing business case for SDLC project. Decision
about execution of next phases is based on business case and hence it necessary to
understand these activities. Phase 1 feasibility study and Phase 2 requirement definition of
typical SDLC phases (discussed in chapter 1) are covered in this chapter (2).
Chapter 3 provides the basic knowledge on project management with focus on SDLC. Once
the organisation has decided to initiate project for automated solution using SDLC, IS auditor
may be involved in reviewing this. Hence, IS auditor needs to have knowledge about SDLC
project management activities. The details of Phase 3 and 4 of a typical SDLC which were
discussed in chapter 1 are explained. This chapter does not cover general project management
concepts but focuses on project management practices required for executing SDLC project.
Chapter 4 introduces models and methods used for system design and development that go
together. To ensure that final system meets business requirements, project manager and
system analyst has to choose the right development method for new application. IS auditor has
to know key characteristics, strength and weaknesses of these methods. All these methods
have the common objective of application development with many steps being similar.
Chapter 6 provides information on testing, UAT, implementation and support and operation
activities which are covered in phases 6 to 9. Once the application is ready to be implemented
24
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
whether it is developed or acquired, it must be implemented across the organisation using steps
outlined in phases 6 to 9 to derive the benefits.
Chapter 7 discusses what IS auditor has to know about new trends in IT deployment and its
impact on SDLC.
New service delivery opportunity that relates to a new or existing business process (e.g. e-
commerce);
Issues and problems with an existing systems/business process (complaints from
customers/users);
Change in strategic focus leading to an opportunity that will provide benefits to the
organisation (Mergers and acquisitions, or new service delivery channels like ATM for
banks);
New opportunity due to advancement of existing technology or availability of new technology
(e.g. use of mobile technology for banking services); and
Use of automation by competitors to enhance quality of services.
All of these situations directly affect the business drivers. Business drivers can be defined as
the attributes of a business function (service delivery) that arise out of strategic objectives to
enhance targets and goals of business function to achieve the strategic business goals. In other
words business objectives defined by strategy gets translated into drivers for business
operations which require new application software or upgrading of existing application software.
This results in initiating an SDLC project.
25
Module 5
day business activities. These business activities are called as Business Processes and they
process data of relevant business processes.
A standard set of steps used for developing systems is called a SDLC. SDLC generally uses
various methods depending upon the type and nature of application. For example a batch
processing application that processes historical data to generate reports for management’s
information may use a model where activities are performed one after another (waterfall model),
where as if there is no clear understanding of what functions can be automated, an iterative
(spiral) model may be used. (These models are discussed in detail in chapter 4). Similarly,
depending upon the availability of skilled resources, the development team may adopt different
methodology for developing software.
26
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
The number of phases might vary for each SDLC project depending upon milestones and/or
deliverables. For example: if an organisation is developing a software using internal
development team, it may not lay much emphasis on user acceptance testing(UAT) and may
club this activity with testing phase, whereas in case of outsourced development or acquired
software, user acceptance testing (UAT) is a major milestone and has predefined deliverables
that are signed off. In the diagram below, considering the criticality of outsourced applications,
UAT has been shown as a separate phase
27
Module 5
The concept or idea is starting point where automation of business function using information
system is considered from business benefit perspective. For example a bank may decide to
launch a new service delivery channel like internet banking, or a store may provide on-line
shopping service through internet or an airline may implement a system via information kiosk
for user enabled check-in and web check-in for reducing manual process. Once the idea is
considered it passes through SDLC phases till it is materialized. Sometimes the concept
requires further investigation (preliminary investigation) before SDLC project is initiated.
Preliminary investigation is not considered part of typical SDLC phases but some organisations
may include it in SDLC.
Detailed steps of feasibility study are discussed in chapter 2. The feasibility study shall be
different for different application depending upon the expected benefits for the organisation. For
example if an organisation intends to implement an application that is already implemented by
various organisation of similar type, it may use a generic feasibility study and focus only on the
benefits to the organisation, such as providing internet banking services or mobile banking
services.
28
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
29
Module 5
Determine whether the application is appropriate for the user of an embedded audit
routine and if so request may be made to incorporate the routine in conceptual design
of the system.
Phase 4: Design
This phase takes primary inputs from phase 1 requirement definition. Based on the
requirements identified, the team may need to finalize requirements by multiple user interactions
and establishes a specifications baseline for development of system and subsystem.
30
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
Phase 5: Development
Use the design specifications to begin programming and formalizing supporting operational
processes of the system. After the system design details are resolved, the resources needs
such as specific type of hardware, software, and other services are determined. The choices
depend on many factors such as time, cost and availability of skilled resources programmers
and testers. The analyst works closely with the programmers. During this phase, the analyst
also works with users to develop required documentation for software, including various
procedure manuals. In the development phase, the design specifications are converted into a
functional system that will work in planned system environment. Application programs are
written, tested and documented. Finally this results in development of a fully functional and
documented system. A very well coded application program should have the following
characteristics:
Reliability: It refers to the consistency with which a program operates over a period of
time. However, poor setting of parameters and hard coding of some data subsequently
could result in the failure of a program after some time.
Robustness: It refers to the applications’ strength to perform operations in adverse
situations by taking into account all possible inputs and outputs of a program
considering even the least likely situations.
Accuracy: It refers not only to ‘what program is supposed to do’, but also the ability to
take care of ‘what it should not do’. The second part is of great interest for quality control
personnel and auditors.
Efficiency: It refers to the performance per unit cost with respect to relevant
parameters and it should not be unduly affected with the increase in input values.
Usability: It refers to a user-friendly interface and easy-to-understand internal/external
documentation.
Readability: It refers to the ease of maintenance of program even in the absence of
the program developer.
31
Module 5
be done to the program which has been written by another programmer. Therefore, the
coding standards are to be defined so as to serve as a method of communication between
teams, amongst the team members and users resulting in better controls. Coding standards
minimize the system development issues due to programmer turnover. These standards
provide simplicity, interoperability, compatibility, efficient utilization of resources and reduce
processing time.
2. Programming Language: Depending upon the development approach, the analyst
decides the programming language to be used. Application programs are coded in the form
of statements or instructions and the same is converted by the compiler to object code for
the computer to understand and execute. The programming languages commonly used are:
High level general purpose programming languages such as COBOL and C;
Object oriented languages such as C++, JAVA etc.;
Scripting language such as JavaScript, VBScript; and
Decision Support or Logic Programming languages such as LISP and PROLOG.
Phase 6: Testing
Before the information system can be used, it must be tested. Systems testing are done at
various stages during development till implementation. There are primarily two types of testing:
1. Quality assurance testing includes unit testing, interface testing, integration testing and
peer reviews.
2. User acceptance testing (UAT) also known as final acceptance testing (next phase).
Testing primarily focuses on ensuring that the software does not fail i.e. it will run according to
its specifications and in the way users expect. Special test data are input for processing and the
results are examined against predetermined output. If it is found satisfactory, it is eventually
32
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
tested with actual data from the current system. (Testing is discussed in more detail in chapter
6)
UAT supports the process of ensuring that the system is production-ready and satisfies all
documented requirements. The methods include:
33
Module 5
Acceptance criteria are defined so that a deliverable satisfies the predefined needs of the user.
A UAT plan must be documented for the final test of the completed system. The tests are written
from a user perspective and should test the system in a manner as close to production as
possible. For example, tests may be based around typical pre-defined, business process
scenarios. If new business processes have been developed to accommodate the new or
modified system they should also be tested at this point. A key aspect of testing should also
include testers seeking to verify that supporting processes integrate into the application in an
acceptable manner. Successful completion would generally enable a project team to hand over
a complete integrated package of application and supporting procedures.
Ideally, UAT should be performed in a secure testing or staging environment. A secure testing
environment where both source and executable code are protected helps to ensure that
unauthorized or last-minute changes are not made to the system without going through the
standard system maintenance process. The nature and extent of the tests will depend on the
magnitude and complexity of the system change.
Test plan, data and results are to be maintained for subsequent audits.
Phase 8: Implementation
This involves roll out of the application which has been developed or acquired for the business
function based on the current state. The approach for implementation will be decided based on
this state. One of the following approaches may be adopted: (This is discussed in more detail in
chapter 6)
1. Cut-off: Where old system/process is discontinued and new application is made live
(operational).
2. Phased implementation: Where new application is started in logical phases for different
functions.
3. Pilot: Where a part function is implemented using new application and based on result
either phased or cut-off approach is followed.
4. Parallel: Where both the old and new system run simultaneously and based on problem
resolution and reliability of processing by the new system, the old system is discontinued.
Role of IS Auditor in implementation phase:
Ensure test plans, test data and rest results are maintained for reference and audit.
34
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
Determine that the formal acceptance has been signed by the project development
team, user management, quality assurance, security professional or auditor.
Verify that the system has been installed according to the organisation’s change control
procedures.
Review programmed procedure used for scheduling and running the system along with
the system parameters are used in executing the production schedule.
Review all system documentation to ensure its completeness and verify whether all
recent updates from the testing phase have been incorporated.
Verify that data conversion is correct and complete and is confirmed by the respective
user departments before the system is implemented and final user sign-off is obtained.
Phase 9: Support and operations:
This is the post-implementation stage following the successful implementation of a new or
extensively modified system. This requires, implementation of a formal process that:
35
Module 5
Identify system changes and verify that appropriate authorization was given to make
the change in accordance with organisational standards.
Review permanent program documentation to ensure that evidence (audit trail) is
retained regarding program changes.
Evaluate adequacy of the security access restrictions over production source and
executable modules.
Evaluate adequacy of the organisation’s procedures for dealing “emergency” program
changes.
Evaluate the adequacy of the security access restrictions over the use of the
“emergency” logon-ids.
Verify existence and adequacy of the records for system changes.
Evaluate adequacy of the access protection of the maintenance records.
Depending upon the decision, organisation follows different path for phases 3 to 6. Figure 1.3
shows these phases for all three decisions. (Some aspects of phase 3B and 3C are discussed
in more details in chapter 5)
36
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
These phases are described as 3C to 6C. Organisations generally map the available products
against the requirements and identify the gaps based on the following criteria:
If required functionality is not available, can this be configured?
If required functionality cannot be configured, is it possible to implement a work around?
Is additional functionality available which was not considered in the requirements?
Based on gap analysis and subsequent availability of maintenance and support (Phase 9)
organisation selects the software to be purchased.
37
Module 5
38
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
39
Module 5
Changes in Phase 9: Support and operations from vendor need to be part of contract executed
with vendor.
40
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
are expected to access application hosted at central location from different nodes, the
application should be able to provide access depending upon the function the specific users has
to perform. This requires developers have to design role definition and providing functionality for
assigning these roles to different users as defined.
Another example can be in case the application is developed using web based technologies and
users are expected to access it using different browsers (like internet explorer, Google chrome
etc.), application may not depend upon users to secure their browsers, but embed security within
application. In case application is hosted on internet, it is subject to various application level
attacks that need to be closed by adopting secure development and coding practices.
The following table describes the additional steps that need to be added to the traditional SDLC
phases to make it Secure SDLC.
Requirement To identify security requirements including compliance for privacy and data
Definition loss.
To determine risks associated with security and prepare mitigation plan.
To train users on identification and fixing of security bugs.
Design Phase To ensure security requirements are considered during design phase e.g.
access controls for privacy sensitive data.
To identify possible attacks and design controls e.g. implementing least
privilege principle for sensitive data, and apply layered principle for
modules.
Development Phase To develop and implement security coding practices such as input data
validation and avoiding complex coding.
To train developers on security coding practices.
Testing Phase To review code for compliance of secure coding practices.
To develop test cases for security requirement testing.
To ensure security requirements are tested during testing.
To test application for identified attacks.
Implementation To analyze all functions and interfaces are secured.
Phase To perform security scan of application after implementation.
41
Module 5
Some of the SDLC risks (apart from project risks, which are discussed separately) are:
In order to mitigate risks on time, it is best to perform risk assessment during each
phase of SDLC. In case of outsourcing and/or purchased software the risk associated
with outsourcing and vendor management have to be managed by the organisation.
Mitigation of risks identified need to be planned during project planning and implemented
during each phase of SDLC. Possible mitigation plans for risks listed above are given in
table 1.2 below.
42
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
43
Module 5
Role Function
Steering Committee A steering committee is set up to approve, supervise and
direct IT projects, including SDLC. This committee provides
overall direction and monitors progress of all IT projects
including SDLC projects.
Program Manager Responsible for all projects that are associated with large IT
related program. E.g. Implementation of ERP across many
locations of an organisation. A program consists of multiple
projects.
Project Manager A project manager is normally responsible for more than
one project and liaisons with the client or the affected
functions. This is a middle management function. The
Project manager is responsible for delivery of the project
within the time and budget.
Systems Analyst The system analyst also has a responsibility to understand
existing problem/system/data flow and new requirements.
System analysts convert the user’s requirements in the
system requirements to design new system.
Module Leader/Team A project is divided into several manageable modules and
Leader the development responsibility for each module is assigned
to module leaders.
Programmers Programmers convert design into programs by coding using
programming language. They are also referred to as coders
or developers.
Database Administrator The data in a database environment has to be maintained
(DBA) by a specialist in database administration so as to support
the application program. The database administrator
handles multiple projects; and ensures the integrity and
security of information stored in the database.
Quality Assurance Team This team checks compliance with the SDLC related
standards (Documentation, Coding standards, Security
requirements etc.) set by the organisation, by project teams
on a periodic basis.
44
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
Role Function
Testers Testers are junior level quality assurance personnel
attached to a project. They test programs and subprograms
as per the plan given by the module / project leaders and
prepare test reports.
Domain Specialist Whenever a project team has to develop an application in a
field that's new to them, they take the help of a domain
specialist, who understands the business requirements and
helps system analyst, designer and programmer in
understanding the requirements.
Technology Specialist IT is developing so rapidly that even IT professionals find it
difficult to keep track of all developments, let alone develop
expertise. This has resulted in experts in specific technology
areas, such as Microsoft technology, Web-enablement and
the like.
Documentation Specialist These professionals are responsible for the creation of user
manuals and other documentation.
IS Auditor As a member of the team, IS auditor can ensure that
controls required for process for which application is being
developed are included in requirements. IS auditor would be
involved in design stage to ensure that the require controls
have been included at the design stage.
1.9 Summary
SDLC is an essential aspect of automating business processes using information technology. It
has been evolving with changing technology and global proliferation of computers. Today’s
business heavily depends on IT and any problem faced has multi-fold repercussions. Controlling
SDLC process helps organisations in mitigating risks associated with implementation and use
of IT. An IS auditor must be aware of phases and key steps of each of the SDLC phases.
Although there are various models and methods (Discussed in detail in chapter 4) the basic
process discussed in this chapter are common for any model or method used. An IS auditor
while auditing SDLC process is not expected to be an expert in all technologies but should
always focus on associated risks, assessment of these risks and assess whether the
implemented solutions are as per the business objectives.
SDLC phases discussed above are represented as below for easy reference.
45
Module 5
Questions:
1 System development life cycle (SDLC) primarily refers to the process of:
A. Developing IT based solution to improve business service delivery.
B. Acquiring upgraded version of hardware for existing applications.
C. Redesigning network infrastructure as per service provider’s needs.
D. Understanding expectations of business managers from technology.
3 Which of the following is main reason to perform User acceptance testing (UAT)?
A. To train and educate users on features of new solution.
B. To confirm form users that solution meets requirements.
C. To complete formality of sign-off to mark end of project.
D. To finalize the implementation plan for new IT solution.
46
Chapter 1: System Development Life Cycle (SDLC) Introduction and Concepts
C. System analysis
D. Development phase
5 In which of the following phases of SDLC, controls for security must be considered
FIRST?
A. Requirement definition
B. Feasibility study
C. System design
D. Implementation
6 IS auditor has been part of SDLC project team. Which of the following situation does
not prevent IS auditor from performing post implementation review? The IS Auditor has:
A. designed the security controls.
B. implemented security controls.
C. selected security controls.
D. developed integrated test facility.
3 B. UAT is mainly conducted to confirm from the users and application owners that application
meets their requirements. Sign-off is a formality to be completed only if requirements are met.
Training and implementation planning are different activities which are not dependent on UAT.
4 B. Make or buy decision is the outcome of feasibility study where technical, economical and
social feasibilities are considered.
47
Module 5
6 D. Active role of IS auditor in design and development of controls affects the independence.
Hence, IS auditor cannot perform review or audit of the application system. However, developing
integrated test facility within application is not a control, but a facility to be used by auditors in
future. Hence, this does not impact independence of IS auditor.
48
Chapter 2: Initiating SDLC
2.2 Introduction
This chapter primarily
provides information on
phase 1 Feasibility study and
Phase 2 requirement
definition, of typical SDLC
(shadowed area). It also
discusses the relevant
information required to
execute these phases within
organisation.
Feasibility study focuses on analyzing the economic, technical and social aspects of new IT
based solution based on requirement definitions and the benefits to be derived from such
implementation.
49
Module 5
Pain points
Given below are some of the pain points an organisation may be facing which lead to initiating
SDLC process:
Triggers
Pain points and triggers prompt organisations to initiate a SDLC process. Examples of such
triggers are:
50
Chapter 2: Initiating SDLC
Can the solution work on existing infrastructure or does organisation need to acquire new
hardware or software? If currently the organisation is not using an automated solution, they
may have to invest in acquiring technology and solution.
Will the proposed system provide adequate responses to inquiries, regardless of the
number or location of users? Currently there are many organisations that have deployed
such solutions and hence we can conclude that the technical solutions can be made
available to meet the response requirements.
Is system scalable and can it handle the expected business and data growth? There are
multiple training courses and those can be deployed using scalable infrastructure.
Does the technology offer adequate security? Those requirements need to be considered
while developing or acquiring solution. However since many organisations have already
implemented similar solution, the required security can be embedded.
Some of the technical issues which are to be considered are given in the Table 2.1 below.
51
Module 5
52
Chapter 2: Initiating SDLC
The benefits derived from new application such as improved efficiency, reduced costs,
business growth, and customer and user satisfaction.
Opportunity cost, i.e. if nothing changes (i.e. the proposed system is not
developed/acquired).
Is there improvement in service efficiency? For example: customers are getting services
more efficiently than earlier.
Is there mechanism that ensures support to users and provides solutions for new system?
Have the users been involved in planning and development of the project to provide inputs
on operations?
Will the proposed system cause harm? Will it produce poorer results in any respect or
area? Will loss of control result in any areas? Will accessibility of information be lost?
Will individual performance improve after implementation than before?
53
Module 5
In the above example, the existing training involves identification of employees, deputing them,
providing alternate resource during their absence, cost for training material and trainer. The new
process shall not require these operations, however there will be new operations of
communicating employees about training, maintaining contents, monitoring that employees
attend training on portal, train users on using new system.
54
Chapter 2: Initiating SDLC
Benefits realization is a continuous process that must be managed just like any business
process and this requires organisations to:
Describe benefits realization, for example customer growth, revenue growth due to
technology.
Assign measure and target for each aspect i.e. percentage and number to be
achieved/expected.
Establish a tracking/measuring process for expected benefits i.e. have we achieved
expected numbers? If not what needs to be done? Were the assumptions correct?
Document the assumptions against which the benefits are assessed.
Define responsibilities for realization i.e. which organisational resources can be diverted
due to automation to achieve benefit realization.
Validate benefits predicted against current data, past achievement, industry experience and
so on.
Plan the benefits to be realized. For example automation is expected to achieve growth, but
customers are not aware of changes in service process/levels.
Organisation wide benefits realization studies should be aggregated and lessons learned should
be used to fine-tune the organisation benefit realization process.
55
Module 5
Benefits realization often includes a post implementation review within 6-18 months
after the implementation of systems. Time must be allowed for initial technical
problems to be resolved and for the project benefits to accrue as users become
familiar with the new processes and procedures.
Benefits realization must be part of management practice of projects. There must be business
sponsorship of projects. Project governance structures should involve the project and the
functional line organisation. All governance decisions about the project should be driven through
the business case, and there must be periodic review of benefits.
IS auditor should understand how the business defines and monitors return on
investment (ROI) for SDLC projects. Not achieving expected benefits or failure to
monitor and take corrective actions in meeting ROI objectives, may point to weakness
in benefit realization process and related project management practices
Depending on the size of IT investments, organisations may choose to prepare business case
at high level for program and proceed further to develop business cases for underlying projects.
The initial business case would normally be derived from a feasibility study. The feasibility study
will normally scope the problem, identify and explore a number of solutions and make a
recommendation on what action to take. Part of the work in identifying options requires outlining
and calculation of benefits. A business case contains a comparison of costs and business
benefits for different options for proposed solutions.
The business case should contain sufficient details to describe the justification for the project
along with the reasons and should provide justification for the question, “Why the project should
be approved? “The business case is a key element of the decision making process throughout
56
Chapter 2: Initiating SDLC
the life cycle of project. If at any stage the business case is thought to no longer be valid, through
increased costs or through reduction in the anticipated benefits, the project sponsor or steering
committee shall refer to business case to arrive at a decision on whether the project should be
terminated or should continue. If the business case changes during the course of an IT project,
the project should be reapproved through the departmental planning and approval process.
While performing audit of benefit realization IS auditor has to understand and validate the
methods identified and adopted by the organization for determining benefit realization and
also the process for monitoring the benefits through put project life cycle. These reviews
happen after achieving predefined milestones (i.e. mid-term project review) and post-
implementation review is generally conducted after 6 (or more) months.
If it is decided to outsource the development, the vendor selected may require detailed function
requirement specifications in order to arrive at efforts required and hence the cost. If organisation
does not perform this step, the vendor shall perform it, to arrive at appropriate project costing.
This section describes the various aspects of such analysis.
Identifying stakeholder expectations. Stakeholders generally are not aware about the type
of information required and may end up in providing high-level requirements. For example,
for a payroll system, stakeholders may expect employee appraisals to be part of system
but may assume that it might be considered. However since employee appraisal
requirements are generally classified under HR Management project manager may ignore
them.
Analyzing requirements by discussing with stakeholder to detect and correct gaps in
understanding and trim down extended expectations and determine priorities.
57
Module 5
58
Chapter 2: Initiating SDLC
Functional requirements
These are primarily requirements related to service to be provided by business to customers.
For example if a tour operator intends to offer online booking service to its customers, the list of
functions that can be offered online shall be described in functional requirements, say user
interface requirements and may include feature that once user visits home page there need to
be an options for information on tours available, booking options with calendar, availability of
seats, payment options, collecting and storing information on booking, forwarding e-mails and
SMS on confirmation. Operational requirements may include back end operations of ensuring
and confirming booking, arranging travel and stay as required, building tie-ups with travel
agents, hotel managements and establishing communication process. However the business
users may not be able to comprehend the technical requirements or define performance
requirements beyond ‘within what time the customer must get confirmation and communication’.
Non-functional requirements
These requirements covers what technology to be used and why? What are performance
expectations e.g. CPU usage, number users, expected number of hits, user experience in
getting next screen after click, designing frames so that user need not have to click multiple
times etc. These requirements are generally captured during interview and information
gathering. For example in above example if the tour operator expects abound 1000 bookings
per day, there could be high number of hits, since all hits may not materialize in booking. The
implemented technology must support (e.g. multiple servers with load balancing) expected high
number of hits or else the application may fail to serve. Similarly user may expect response
from tour operator for any query or booking with in specific time and the application should be
able to (if automated) respond within that time or should be able to schedule response or
generate alert for manual response. The technical requirements may also include providing
personal communication using telephone or VOIP. In such a scenario, the technical
requirements need to be defined to meet requirements. Once the requirements are defined the
organisation may be able to decide on the right option which could be: in house development or
acquisition of solution or outsourcing the development.
59
Module 5
analyze them, evaluate their feasibility, determine customers’ real need, validate requirements
specification and manage the requirements. Basically, there are five major phases of RE, which
are explained here:
1. Elicitation: The RE process is normally considered as the process of finding out ‘what
are the real needs of the customers as well as of the system’. It also includes activities
to explore ‘how the software can meet the stakeholders’ goals’ and ‘what alternatives
might exist’.
2. Analysis and Negotiation: This phase consists of a set of activities aimed to discover
problems within the system requirements and achieve agreement on changes to satisfy
all system stakeholders. If an analyst discovers some problems with the requirements
during the analysis phase, such requirements are referred back to the elicitation phase.
This process is related to the requirements that are incomplete, ambiguous and/or
conflicting. Negotiation part is known as ‘the process of discussing conflicts in
requirements and finding some compromise which all of the stakeholders can live with’.
The principle of this process should be objective, where the judgments and the
compromise for the system requirements should be based on technical and
organisational needs. All the conflict requirements identified during the analysis
process should be negotiated and discussed individually with the stakeholders in order
to resolve the conflicts.
3. Documentation: Once the requirements have been analyzed, it is important to record
them in order to make them formal through proper specification mechanism. During
this phase, the team organizes the requirements in such a way that ascertains their
clarity, consistency, and traceability etc. This phase is extremely important because
often ‘the document produced during specification is what the rest of the development
stages will be based upon’.
4. Validation: This phase ensures that models and documentation accurately express
the stakeholders’ needs along with checking the final draft of requirements document
for conflicts, omissions and deviations from different standards.
5. Management: This phase of requirements lifecycle is similar to the maintenance of a
software system. Some of the most important maintenance tasks during this phase
include the updating of the requirements as well as the degree of evolution support that
the approach provides.
2.7 Summary
Once the SDLC project is initiated it is critical to ensure that:
60
Chapter 2: Initiating SDLC
Benefit realization covers both qualitative and quantitative analysis of expected benefits
from the project.
Benefit realization process is defined and contains measurable achievements. It also
contains what needs to be measured during project execution.
Business case is prepared and approved and covers sufficient details so as to form a
project baseline document.
The next step is to execute the project. For this the organisation must have a uniform project
management practices, methodology and process. The next chapter covers the various steps
required for project execution.
Questions:
1 An organization has implemented an IT based solutions to support business function.
Which of the following situation shall indicate the need to initiate SDLC project?
A. Vendor has launched a new hardware which is faster.
B. Organizations has unused surplus budget for IT.
C. Regulators have requested additional reports from business.
D. Competitor has launched an efficient IT based service.
3 Which of the following is the primary reason for organization to outsource the SDLC
project? Non-availability of:
A. Skilled resources
B. Budgetary approvals
C. Security processes
D. Infrastructure
61
Module 5
5 Which if the following is not an indicator to assess benefit realization for internal
application software developed in-house?
A. Increase in number of customers because of new application.
B. Decrease in audit findings related to regulatory non-compliance.
C. Reduced number of virus attacks after implementing new software.
D. Increase in productivity of employees after implementation.
2 C. Business case is a document that narrates all aspect including benefit realization, cost and
effort estimates, outcome of feasibility study, available budget. That helps management in
decision on the need of the SDLC project.
3 A. Non availability of skilled resources required for application development is primary reason
for outsourcing the SDLC project. Other reasons can be addressed. i.e. (B) budget can be made
available, (C) security processes can be established. (D) Infrastructure can be acquired,
depending upon design of new application and hence it is not a reason.
4 B. In order to ensure the acceptability by users, beta version of solution is made available to
users. Based on feedback changes are made so that the solution can be socialized. Option A
addresses technical feasibility, Option C addresses economic feasibility. Option D addresses IT
policy that has nothing to do with SDLC.
5 C. Since the application is for internal use and developed in house it has nothing to do with
reduction in virus attacks. This can be benefit realization for anti-virus solution.
62
Chapter 3: Project Management for SDLC
3.2 Introduction
This chapter primarily
provides information on
phase-3: System Analysis
and Phase-4: System
Design of typical SDLC
(shadowed area).
However the detailed
discussions on methods of
system analysis and
design are also discussed
in chapter 4.
This chapter provides inputs on basic understanding of project management as executing SDLC
is a project till new solution is operational and organisation starts deriving benefits.
IS auditor primarily should be looking for control aspects in analysis and design hence the focus
is on project management where the controls aspects are planned at the design stage.
63
Module 5
There are many approaches for project management defined by various professional bodies.
The most commonly used approaches are:
Project Management Body of Knowledge (PMBOK®) version 5, i.e. IEEE standard 1490
from the Project Management Institute (PMI),
Projects in a Controlled Environment (PRINCE2™) from the Office of Government
Commerce (OGC) in the UK, and the International Project Management Association
(IPMA).
Since there are significant differences in scope, content and wording in each of these standards,
an auditor has to become familiar with the standard adopted by auditee organisation, prior to
involvement in project. Although each project management approach has its own pros and cons,
several elements are common across all project management methodologies. Some are
focused on software development, others have a more general approach; some concentrate on
a holistic and systemic view, others provide a very detailed workflow including templates for
document creation
64
Chapter 3: Project Management for SDLC
projects can be initiated for any reason. Developing Software and deploying it can be a project
or depending upon size, it can be group of projects.
A project management refers to the practice of managing a project. Management may not want
to initiate a project as it involves providing resources and waiting till the end to get deliverables.
Management has to monitor the progress of project and intervene periodically to ensure that the
project finally achieves the defined objectives.
Project management practice is a set of multiple processes grouped in five major process
groups:
1. Project initiation
2. Project Planning
3. Project execution
4. Project controlling and monitoring
5. Project closing
Although these processes are grouped they are not executed in sequence, Process groups
under project planning, project execution and controlling are executed in iteration. (Figure 3.1)
Planning
Executing
65
Module 5
Each group consists of various processes, however all processes may not be applicable to all
projects.
Project initiation group consists of mainly processes related to developing project charter
based on scope of project. In SDLC project it is business case (discussed in previous chapter),
Identifying beneficiaries and stakeholders of project.
Project planning consists of processes related to developing project execution plan, finalizing
requirements, defining work breakdown structure and modules to be developed, estimating
efforts and cost, resource planning, risk management, procurement planning and plan for
communications with stakeholders.
Project execution consists of processes related to direct project teams, ensuring quality
assurance and testing, managing requirements and changes in requirements, ensuring timely
procurements and manage resources.
Project controlling and monitoring consists of processes related to monitoring risks, scope
creeps, quality of deliverables, costs and budgets, performance reporting.
Project closing has processes for handing over deliverables or terminating project.
66
Chapter 3: Project Management for SDLC
Program scope
Program financials (costs, resources, cash flow, etc.)
Program schedules
Program objectives and deliverables
Program context and environment
Program communication and culture
Program organisation
67
Module 5
Projectile organisation: These are pure project organisations that execute projects. For
example, an infrastructure development organisation or consulting organisations that
executes projects. In such organisations project manager has formal authority over those
taking part in the project. Often, this is bolstered by providing a special working area for the
project team that is separated from their normal office space.
Matrix project organisation: The organisation that provides product and services and also
executes projects. Most IT companies falls under such categories where these
organisations undertake project to manage business functions for other organisations and
also executes projects for customer organisation. In such organisation, management
authority is shared between the project manager and the department heads.
68
Chapter 3: Project Management for SDLC
A project may be initiated from any part of the organisation, including the IS department. A
project is time bound, with specific start and end dates, a specific objective and a set of
predetermined deliverables. Once a project is initiated a project sponsor and project manager
is appointed to execute the further activities including gathering the information required to gain
approval for the project to be created. This will often be compiled into terms of reference or a
project charter that states the objective of the project, the stakeholders in the system to be
produced, and the project manager and sponsor. Approval of a project initiation or project
request is authorization for a project to begin.
During project initiation, the project manager performs several activities that assess the size,
scope, and complexity of the project, and establishes procedures to support subsequent
activities. The major activities to be performed in the project initiation are:
Establishing the project initiation team: This activity involves organizing an initial core of
project team members to assist in accomplishing the project initiation activities.
Establishing a relationship with the customer: A thorough understanding of the customer
builds stronger partnerships and higher levels of trust.
Establishing the project initiation plan: This step defines the activities required to
organize the initiation team while it is working to define the scope of the project.
Establishing management procedures: Successful projects require the development of
effective management procedures.
Establishing the project management environment and project workbook: The focus
of this activity is to collect and organize the tools that will be used while managing the project
and to construct the project workbook. For example, most diagrams, charts, and system
descriptions provide much of the project workbook contents. Thus, the project workbook
serves as a repository for all project correspondence, inputs, outputs, deliverables,
procedures, and standards established by the project team.
69
Module 5
Many organisations that follow standard process for project management prepare a formal
Project Initiation Report that is presented to senior management or Board of Directors. Once
accepted this becomes formal charter for the project and triggers next phases of SDLC.
In addition while considering the time context of the project, following aspects must be
considered:
Start and end time of the project, particularly if it is expected that the outcome of project
has linkages to other projects.
70
Chapter 3: Project Management for SDLC
The objective is to determine whether all relevant environments for the project, which will have
a significant influence on overall project planning and project success, have been considered.
One-on-one meetings
Kick-off meetings
Project start workshops
Periodic reporting
Communication helps in obtaining cooperation from all team members and buy-in from
stakeholders. One of the major activities for project manager during execution of project is to
develop and execute communication plan so as to inform issues, concerns, if any and to report
project progress.
A commonly accepted approach to define project objectives is to start with a work breakdown
structure (WBS) with each work module having its own objectives derived from main objectives.
The WBS represents the project in terms of manageable and controllable units of work and
forms the baseline for cost and resource planning. Detailed specifications regarding the WBS
can be used to develop work packages (WP). Each WP must have a distinct owner and a list of
main objectives, and may have a list of additional objectives. The WP specifications should
include dependencies on other WPs and a definition of how to evaluate performance and goal
achievement.
A task list is a list of actions to be carried to complete each work package and includes assigned
responsibilities and deadlines. The task list aids the individual project team members in
operational planning and scheduling, that when merged together forms a project schedule.
71
Module 5
Project schedules are work documents containing the start and finish dates, percentage
completed, task dependencies, and resource names of individuals planned to work on tasks.
Project management is the application of knowledge, skills, tools and techniques to a broad
range of activities to achieve organisational objectives. For example: meeting user requirements
by developing/acquiring new software within budget and timelines. Project management
practices consist of defined processes for initiating, planning, executing, controlling and closing
a project.
The various project tasks and management tasks that need to be performed to
develop/acquire and implement business application system.
The order in which these tasks should be performed.
The estimated duration for each task.
The priority of each task.
The IT resources, available, transferred/loaned or to be acquired to perform these tasks.
Budget or costing for each of these tasks. This can be notional for internal resources and
monetary for outsourced projects.
In complex projects the planning is dynamic and has to be reviewed/adjusted at the beginning
and end of each project phase. This is to ensure that resources are available, quality of work
72
Chapter 3: Project Management for SDLC
during earlier phase has been as expected (i.e. no rework is required, or if required adjusting
the plan by considering the delay and so on.)
There are some techniques like program evaluation review technique (PERT), critical path
method (CPM), Gantt chart etc., that are useful in creating and monitoring project plan. The
major activities which are performed during project planning are:
Measure the development efforts. (Different software sizing techniques are discussed in
section 3.8.)
Another activity is to identify resources (e.g., people with requisite skills, development
tools, facilities) for software development.
Budgeting is next activity. Although overall budget for the project has been allocated at
high-level during business case development, project manager need to prepare granular
budget for monitoring. This is done by considering the cost for each resource and their
expected use. For example group of testing professionals might be required in the project,
however they need not be available from the beginning of project and thus can be inducted
(on boarded) at a later date thus optimizing the cost associated with their release from
another project.
Scheduling and establishing the time frame is another activity. While budgeting involves
adding up the cost for human and machine resource usage involved in each task,
scheduling involves establishing when these resources are required in the project. This is
achieved by arranging tasks according to:
o The logical sequential and parallel tasks relationship and determining earliest start
date.
o Based on estimated efforts (section 3.7) for each resource arriving at latest expected
finish date.
o Schedules are presented using PERT, CPM diagrams and Gantt Charts. (Discussed
in section 3.7.)
Management of scope
Monitoring of resource usage
Risk management.
It is critical to ensure that new requirements for the project are documented and, if approved,
appropriate resources are allocated. Control of changes during a project ensures that projects
are completed meeting stakeholder requirements of: time, use of funds and quality objectives.
73
Module 5
Stakeholder satisfaction should be addressed with effective and accurate requirements capture,
proper documentation, baselining and skilled steering committee activity.
During mid-term project review IS auditor should focus on project planning and
controlling activities to ensure that these are not deviating from primary objectives of
the project.
74
Chapter 3: Project Management for SDLC
productivity). Whether this is actually happening can be verified using earned value analysis
(EVA).
Earned Value Analysis consists of comparing expected budget till date, actual cost, estimated
completion date and actual completion at regular intervals during the project. In above example
the program development is expected to take two working days, with eight hours spent each
day. At the end of first day cost is as per budget but EVA cannot be determined unless 50% or
more work has been completed. Alternate is to get information on how much time is required to
complete remaining program. If the answer is 8 hours the project is on track, if it is less resource
might be idle and if it is more, the project might be delayed. In short at the end of first day
resource spent is according to budget, but the “earned value” will be based on remaining time
to complete the task. (Figure 3.3)
Plan Risk
Identify Risk,
Qualitative analyses of risks
75
Module 5
Control risks
IS auditor has to focus on the risk management process as it provides detailed insight on the
effectiveness of project management.
76
Chapter 3: Project Management for SDLC
77
Module 5
IS auditor conducting review after project closure has to consider the overall project
execution on various parameters such as objectives achieved, time overrun, cost
overrun, quality of deliverables? If the review is being done immediately after
implementation, IS auditor may also review the challenges faced by the users and the
resolution methods.
Achieving business objectives must be the focus of project review. Accordingly, the
auditor may review and comment on budget and time overrun situations.
Steering committee
Project steering committee provides overall direction and monitors the project execution this
is assured by representation of major stakeholders. The project steering committee is ultimately
responsible for all deliverables, project costs and schedules.
This committee should be comprised of senior representatives having authority for decision from
business areas likely to be impacted by the proposed system or change. Mostly project sponsor
will chair the steering committee. The project manager is member of steering committee.
78
Chapter 3: Project Management for SDLC
Project Sponsor
Head of business function or senior management (generally who has highest stake in benefit
realization from project) is designated as project sponsor who provides funding and assumes
overall ownership and accountability of the project. Project sponsor is responsible for providing
funding and budget for the project execution.
Project Manager
A project manager should be identified and appointed by the IS steering committee. The project
manager, who need not be an IS staff member, should be given complete operational control
over the project and be allocated the appropriate resources, including IS professionals and other
staff from user departments, for the successful completion of the project. A project manager is
appointed for execution of project. The project manager can be from the user department, or
from IS department or hired separately to handle the project.
Senior management
Demonstrates commitment to the project and approves the necessary resources to complete
the project. This commitment from senior management helps ensure involvement by those
needed to complete the project. Generally senior management representative is appointed on
steering committee.
Business management
Business management, most of the times, assumes ownership of the project and resulting
system, allocates qualified representatives to the team, and actively participates in business
process redesign, system requirements definition, test case development, acceptance testing
and user training. Business management should review and approve system deliverables as
they are defined and implemented.
79
Module 5
Security officer
Ensures that system controls and supporting processes provide an effective level of protection,
based on the data classification set in accordance with corporate security policies and
procedures; consults throughout the life cycle on appropriate security measures that should be
incorporated into the system; reviews security test plans and reports prior to implementation;
evaluates security-related documents developed in reporting the system’s security effectiveness
for accreditation; and periodically monitors the security system’s effectiveness during its
operational life.
IS Auditor
The IS auditor can be part of SDLC project team as consultant for internal controls or for the
review of the project activities. They may also provide an independent, objective review to
ensure appropriate level of commitment of the responsible parties.IS auditor has to understand
the systems development; acquisition and maintenance methodologies used by the organisation
and identify potential vulnerabilities. If auditor observes control weakness either as a result of
80
Chapter 3: Project Management for SDLC
review due to organisational structure or the software methods used, or weakness in process
execution, it is the IS auditor’s role to advise the project team and senior management of the
deficiencies in project management and provide recommendations for improvement.
Understand standards adopted and followed by the organisation through the process of
inquiry, observation and documentation review.
To determine significant phases for the various size and type.
To assess efficiency and effectiveness of each function to satisfy the users goals and
organisation objectives.
To test methodology adopted and determine compliance with the organisation standards
by reviewing the documentation produced.
To evaluate controls designed for compliance with internal control principles and standards.
To determine compliance with common security, auditability and change control standards
If IS auditor is part of project team not for performing an audit, but is participating on
the project in an advisory role then depending on the level of involvement, IS auditor
may become ineligible to perform audits of the application when it becomes
operational.
The objective is to ensure that the quality of the project by measuring the adherence by the
project staff to the organisation’s standard methodology of System Development life cycle
81
Module 5
Ensuring the active and coordinated participation by all relevant parties in the revision,
evaluation and dissemination, and application of standards, management guidelines and
procedures
Ensuring compliance with the agreed on systems development methodology
Reviewing and evaluating large system projects at development milestones, and making
appropriate recommendations for improvement
Establishing, enhancing and maintaining a stable, controlled environment for the
implementation of changes within the production software environment
Defining, establishing and maintaining a standard, consistent and well-defined testing
methodology for applications
Reporting to management on systems that are not performing as defined or designed
Technology Specialist
IT is developing so rapidly that even IT professionals find it difficult to keep track of all
developments, let alone develop expertise. This has resulted in experts in specific technology
areas, such as Microsoft technology, Web-enablement and the like.
Systems Analyst
The system analyst also has a responsibility to understand existing problem/system/data flow
and new requirements. System analysts convert the user’s requirements in the system
requirements to design new system.
Programmers/Developers
Programmers convert design into programs by coding using programming language. They are
also referred to as coders or developers.
Testers
Testers are junior level quality assurance personnel attached to a project. They test programs
and subprograms as per the plan given by the module / project leaders and prepare test reports.
Documentation Specialist
These professionals are responsible for the creation of user manuals and other documentation.
82
Chapter 3: Project Management for SDLC
1. CASE tools
2. Software size estimation covering various techniques used like LOC, FPA analysis etc.
3. Project controlling tools like PERT, CPM and Gantt Charts.
1. Computer Aided Software engineering (CASE) tools
SDLC requires collecting, organizing and presenting information required at application systems
and program level. This involves building data flows, documenting design of application system,
identifying modules/functions/program required to be developed and sometimes developing
prototypes to capture requirements. These are essential but time consuming processes that are
required for developing, using and maintaining computer applications.
Computer-aided software engineering (CASE) is automated tools that aid in the software
development process. Their use may include tools for capturing and analysing requirements,
software design, code generation, testing, document building and other software development
activities.
Although IS auditor is not expected to have detailed knowledge of how to use CASE
tools, they may have to learn how to use CASE tools for effective audit of SDLC
project, as required.
Code Generators
Code generators are tools that are part of CASE tools or development environment like visual
studio. These tools generate program source code based on parameters provided. These
83
Module 5
products significantly reduce the development (particularly coding) time; however maintaining
or changing these programs might be painful and time consuming.
Non-procedural languages: These are event driven and make extensive use of object-oriented
programming concepts such as objects, properties and methods. These languages cannot
perform data intensive or online operations however are best suited to provide environment to
end user for generating their own views and report required for data analysis and decision
making. These languages provide environmental independence (portability) across computer
architectures, operating systems and telecommunications monitors. These languages generally
have simple language subsets that can be used by less-skilled users.
• Query and report generators: These languages can extract and produce reports and
sometimes can access database records, produce complex online outputs.
• Embedded database languages are more user-friendly but also may lead to applications
that are not integrated well with other production applications.
• Relational database languages are usually an optional feature on a vendor’s DBMS.
These allow the applications developer to make better use of the DBMS product, but they
often are not end-user-oriented.
2. Software Size Estimation
Once the work breakdown structure is completed and SDLC methodology (discussed in chapter
4) is finalized project manager must perform Software size estimation, i.e. determining the
physical size of application (number of programs, modules, reusable function/modules etc.).
This helps the project manager in deciding resource and skills requirements, to judge the time
and cost required for development, and to compare the total effort required by the resources.
84
Chapter 3: Project Management for SDLC
complex systems using different types of programs and automated tools like source code
generators. This puts limitation on planning for cost, schedule and quality metrics.
With new technologies multi-point estimations techniques were developed that now uses
diagrams, objects, spreadsheet cells, database queries and graphical user interface (GUI)
widgets. These technologies are more closely related to functionality that needs to be created
rather than lines of code.
Function points (FPs) are computed by considering various parameters like number of users,
number of inputs, number of outputs, expected user actions, data elements to be processed and
external interfaces to determine whether a particular module/program is simple, average or
complex. This information is used to compute function point using an algorithm that takes into
account complexity adjustment values (i.e., rating factors) based on responses to questions
related to reliability, criticality, complexity, reusability, changeability and portability.
Function points (FP) derived from this equation are then used as a measure for cost, schedule,
productivity and quality metrics (e.g., productivity = FP/person-month, quality = defects/FP, and
cost = monetary value/FP).
IS auditor should be familiar with the use of Function Point Analysis. However, IS
Auditors are not expected to be experts in this technique.
A slightly different approach for function point analysis for system software such as operating
systems, telephone switching systems, etc. was developed. To differentiate from FPA it is called
“Feature Points." It is used for software that has well-defined algorithms like systems software,
85
Module 5
embedded software, real time software, CAD, Artificial intelligence and some traditional MIS
software.
In web-enabled applications, the development effort depends on the number of forms, number
of images; type of images (static or animated), features to be enabled, interfaces and cross-
referencing that is required. Thus, from the point of view of web applications, the effort would
include all that is mentioned under function point estimation, plus the features that need to be
enabled for different types of user groups. The measurement would involve identification or
listing of features, access rules, links, storage, etc.
Cost Budgets
Cost estimates of a SDLC project are based on the amount of effort likely to be required to carry
out each task. The estimates for each task contain one or more of the following elements:
• Person-hours for all type of resources e.g. system analyst, programmers, support staff,
Testing teams etc. (Pl. refer section 3.9 roles and responsibilities)
• Infrastructure (Hardware, software, networks etc.), other specialized software, if any and
communication equipment)
• Other costs such as third-party services, automation tools required for the project,
consultant or contractor fees, training costs, etc.
86
Chapter 3: Project Management for SDLC
to derive single estimate applying a mathematical formula. PERT is often used in projects with
uncertainty about the duration.
Table 3.1 illustrates one such formula for a hypothetical project where activities are named from
A to L. The first is the most optimistic time (if everything went well) and the third is the pessimistic
or worst-case scenario. The second is the most likely scenario. This estimate is based on
experience attained from projects that are similar in size and scope. To calculate the PERT time
estimate for each given activity, the following calculation is applied:
Figure 3.4 illustrates use of the PERT network management technique. (Each circle represents
milestones and the arrow represents activities. Number after activity shows the number of days
required to complete the activity.)
87
Module 5
A path through the network is any set of successive activities which go from the beginning to
the end of the project. Associated with each activity in the network is a single number that
represents estimates the amount of time that the activity will require to complete.
The critical path is the sequence of activities whose sum of activity time is highest than that for
any other path through the network. Critical paths represents the shortest possible project
completion time, if everything goes according to schedule. In other words, delay in completing
any activity on critical path delays the overall project.
Activities which are not in the critical path have slack time, i.e. delay in performing these activities
may not affect the overall project schedule. In other words activities on critical path have zero
slack time.
1. A – C – E – G - I – L
88
Chapter 3: Project Management for SDLC
2. A – C – E –H – J – K
3. B – D – F – H – J – K
4. B – D – F – G – I - L
Using the time estimates the total time require for each path is 28, 30, 34 and 32 days
respectively. Third path hence is Critical Path. (Shown by thick arrows in figure 3.5
Project manager can use the slack time on non-critical path for scheduling resources optimally,
since slack time provides flexibility to start activity late than scheduled start date. The slack
times for a project are computed by working forward through path, computing the earliest
possible completion time for each activity, until the earliest possible completion time for the total
project is found. Then by working backward through the network, the latest completion time for
each activity is found, the slack time computed and the critical path identified.
Most CPM packages facilitate the analysis of resource utilization per time unit (e.g., day, week,
etc.) and resource levelling, which is a way to level off resource peaks and valleys.
C. Gantt Charts
Gantt charts are aid for scheduling activities/tasks needed to complete a project. These charts
show details related to activities calculated during PERT and CPM. The charts also show which
activities are in progress concurrently and which activities must be completed sequentially. Gantt
charts may reflect the resources assigned to each task and by what percent allocation. The
89
Module 5
charts aid in identifying activities that have been completed early or late. Progress of the entire
project can be tracked from the Gantt chart. Gantt charts can also be used to track the
milestones for the project.
3.11 Summary
Every project has unique success criteria based on the expectations of stakeholders. Generally
success criteria are measurable and manageable such as cost, time and scope. However some
criteria, such as meeting business needs, are subjective but essential. The project sponsor is a
key stakeholder who defines such success criteria. The project team should capture project
requirements and document them at the initial stage to complete the project successfully.
Activity of capturing requirements is usually difficult because it involves subjective decisions and
extensive interaction between users and developers. Requirements should be formally
approved and then frozen (baselined) to prevent scope creep. Success criteria allow the project
90
Chapter 3: Project Management for SDLC
manager to focus on managing risks that can affect desirable outcome and successful
completion of the project.
Questions:
1 Who among the following is responsible for ongoing facilitation of a SDLC project?
A. Project sponsor
B. Project manager
C. Steering committee
D. Board of directors
91
Module 5
3 Which of the following primarily helps project manager in mitigating the risk
associated with change in scope of software development project?
A. Change management process
B. Use of prototyping
C. Revising effort estimates
D. Baselining requirements
4 Monitoring which of the following aspect of SDLC project shall help organization in
benefit realization over sustained period of time? The project adhering to:
A. Quality
B. Budget
C. Schedule
D. Methodology
5 Which of the following tools and techniques primarily help in improving productivity of
SDLC project team members?
A. Use of standard methodology
B. Software sizing using FPA
C. Developers’ workbench
D. Appropriate HR policies
6 While performing mid-term review of SDLC project, the IS auditor primarily focuses
on:
A. Project risk management process
B. Adherence to the schedule
C. Reviewing minutes of steering committee meeting
D. Cost management is as per budget
2 B. Considering the spread of organization the organization shall initiate a program for
implementing ERP, consisting of different project for each location. The program shall be part
of IT program portfolio of organization. Since the decision has been made, feasibility study either
has been completed or shall be initiated as part of program.
92
Chapter 4: Different Models and Methods for SDLC
3 D. Scope creep of continued changes in requirements during SDLC project is most common
risk. If not properly handled the project may be delayed and benefit realization from the project
shall be affected. The project manager therefore, must freeze the scope by base-lining
requirements. Any change after base-lining shall follow change management process. Change
management process without base-lining may not help. Project manager may or may not use
prototyping for freezing the requirements. Revised effort estimate are applicable after change is
approved.
4 A. Quality is most important aspect for SDLC project, since it minimizes errors that can impact
operations.
5 C. Automated tools help team in improving productivity as these tools help in managing
mundane and structure activities and developers can focus on core activities. Developers’
workbench provides various functions that help in improving productivity. Use of standards help
in following uniform methods and reducing rework. Software sizing is useful in monitoring
productivity. HR policies may help in motivating team but it is secondary.
6 A. Auditor should primarily focus on risk management that will provide inputs on events that
has impact on all aspects of project. Option B, C and D help in confirming the findings from
review of risk management process.
93
94
Chapter 4: Different Models and Methods for SDLC
4.2 Introduction
This chapter mainly covers basic understanding of system design and development
methodologies being used while executing SDLC project. A Project manager and system
analysis depending on requirements selects one or more software development methods and/or
models for developing software. Execution of these models primarily focuses on converting
requirements into a system design and to develop the solution. This chapter provides
information of various models and methods that might be required for executing phases 4 and
5 of SDLC.IS auditor primarily should be looking for control aspects associated with
development methodology.
95
Module 5
In this chapter, we will discuss salient features of various traditional SDLC models and
methodologies such as:
1. Waterfall model
2. Spiral Model
3. Incremental model
4. Prototyping model
Further, we will also discuss some important methodologies that have evolved and are currently
being used. The following six methodologies are explained here with strengths and weaknesses
of each of them:
96
Chapter 4: Different Models and Methods for SDLC
The characterizing features of this model have influenced the development community in big
way. Some of the key characteristics are:
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.
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
97
Module 5
information technology management occurring at the end of most phases before beginning
the next phase.
(a) Strengths:
It is ideal for supporting less experienced project teams and project managers or project
teams, whose composition fluctuates.
The orderly sequence of development steps and design reviews help to ensure the quality,
reliability, adequacy and maintainability of the developed software.
Progress of system development can be tracked and monitored easily.
It enables to conserve resources.
(b) Weaknesses:
98
Chapter 4: Different Models and Methods for SDLC
Prototyping can be viewed as a series of four steps, symbolically depicted in Fig. 4.5 wherein
implementation and maintenance phases followed by full-blown developments take place once
the prototype model is tested and found to be meeting uses’ requirements.
99
Module 5
100
Chapter 4: Different Models and Methods for SDLC
(a) Strengths:
(b) Weaknesses:
101
Module 5
In spite of above listed weaknesses, to some extent, systems analysis and development has
been greatly improved by the introduction of prototyping. Prototyping enables the user to take
an active part in the systems design, with the analyst acting in an advisory role. Prototyping
makes use of the expertise of both the user and the analyst, thus ensuring better analysis and
design, and prototyping is a crucial tool in that process.
Prototype has one major drawback that many times users do not realize that prototype
is not actual system or code but is just a model whereas users may think that the
system is ready. Actual development starts only after the prototype is approved.
Hence, the actual system may require time before it is ready for implementation and
use. In the meantime, users may get restless and wonder why there is so much delay.
Key characteristics
Spiral model is an iterative model where each iteration helps in optimizing the intended
solution.
The new system requirements are defined in as much detail as possible. This usually
involves interviewing a number of users representing all the external or internal users and
other aspects of the existing system.
102
Chapter 4: Different Models and Methods for SDLC
A preliminary design is created for the new system during initial iterations. This phase is
the most important part of “Spiral Model” in which all possible alternatives that can help in
developing a cost effective project are analysed and strategies are decided to use them.
This phase has been added specially in order to identify and resolve all the possible risks
in the project development. If risks indicate any kind of uncertainty in requirements,
prototyping may be used to proceed with the available data and find out possible solution
in order to deal with the potential changes in the requirements.
A first prototype of the new system in constructed from the preliminary design during first
iteration. This is usually a scaled-down system, and represents an approximation of the
characteristics of the final product.
A second prototype is evolved during next iteration by a fourfold procedure by evaluating
the first prototype in terms of its strengths, weaknesses, and risks; defining the
requirements of the second prototype; planning and designing the second prototype; and
constructing and testing the second prototype.
(a) Strengths:
103
Module 5
It is useful in helping for optimal development of a given software iteration based on project
risk.
It can incorporate Waterfall, Prototyping, and Incremental methodologies as special cases
in the framework, and provide guidance as to which combination of these models best fits
a given software iteration, based upon the type of project risk. For example, a project with
low risk of not meeting user requirements but high risk of missing budget or schedule targets
would essentially follow a linear Waterfall approach for a given software iteration.
Conversely, if the risk factors were reversed, the Spiral methodology could yield an iterative
prototyping approach.
(b) Weaknesses:
It is challenging to determine the exact composition of development methodologies to
use for each of the iterations around the Spiral.
A skilled and experienced project manager is required to determine how to apply it to
any given project.
Sometimes there are no firm deadlines, cycles continue till requirements are clearly
identified. Hence has an inherent risk of not meeting budget or schedule.
The product is decomposed into a number of components, each of which are designed and built
separately (termed as builds). Each component is delivered to the client when it is complete.
This allows partial utilization of product and avoids a long development time. It also creates a
large initial capital outlay with the subsequent long wait avoided. This model of development
also helps to ease the traumatic effect of introducing completely new system all at once. A few
pertinent features are listed as follows:
A series of mini-waterfalls are performed, where all phases of the waterfall development
model are completed for a small part of the system, before proceeding to the next
increment.
Overall requirements are defined before proceeding to evolutionary, mini – Waterfall
development of individual increments of the system.
104
Chapter 4: Different Models and Methods for SDLC
The initial software concept, requirement analysis, and design of architecture and system
core are defined using the Waterfall approach, followed by iterative Prototyping, which
culminates in installation of the final prototype (i.e. working system).
(a) Strengths:
(b) Weaknesses:
105
Module 5
When utilizing a series of mini-waterfalls for a small part of the system before moving onto
the next increment, there is usually a lack of overall consideration of the business problem
and technical requirements for the overall system.
Each phase of an iteration is rigid and do not overlap each other.
Problems may arise pertaining to system architecture because not all requirements are
gathered up front for the entire software life cycle.
Since some modules will be completed much earlier than others, well-defined interfaces
are required.
It is difficult to demonstrate early success to management.
Key objective is fast development and delivery of a high quality system at a relatively low
investment cost,
Attempts to reduce inherent project risk by breaking a project into smaller segments and
providing more ease-of-change during the development process.
Aims to produce high quality systems quickly, primarily through the use of iterative
Prototyping (at any stage of development), active user involvement, and computerized
development tools like Graphical User Interface (GUI) builders, Computer Aided Software
Engineering (CASE) tools, Database Management Systems (DBMS), Fourth generation
programming languages, Code generators and object-oriented techniques.
Key emphasis is on fulfilling the business need while technological or engineering
excellence is of lesser importance.
Project control involves prioritizing development and defining delivery deadlines or “time
boxes.” If the project starts to slip, emphasis is on reducing requirements to fit the time box,
not in increasing the deadline.
Generally includes Joint Application Development (JAD), where users are intensely
involved in system design, either through consensus building in structured workshops, or
through electronically facilitated interaction.
Active user involvement is imperative.
Iteratively produces production software, as opposed to a throwaway prototype.
Produces documentation necessary to facilitate future development and maintenance.
106
Chapter 4: Different Models and Methods for SDLC
Standard systems analysis and design techniques can be fitted into this framework.
(a) Strengths:
The operational version of an application is available much earlier than with Waterfall,
Incremental, or Spiral frameworks.
Because RAD produces systems more quickly and to a business focus, this approach tends
to produce systems at lower cost.
107
Module 5
(b) Weaknesses:
Fast speed and lower cost may affect adversely the system quality.
The project may end up with more requirements than needed (gold-plating).
Potential for feature creep where more and more features are added to the system during
development.
It may lead to inconsistent designs within and across systems.
It may call for violation of programming standards related to inconsistent naming
conventions and inconsistent documentation,
It may call for lack of attention to later system administration needs built into system.
Formal reviews and audits are more difficult to implement than for a complete system.
Tendency for difficult problems to be pushed to the future to demonstrate early success to
management.
Since some modules will be completed much earlier than others, well–defined interfaces
are required.
108
Chapter 4: Different Models and Methods for SDLC
Re-planning the project at the end of each iteration (referred to as a “sprint” in Scrum),
including reprioritizing requirements, identifying any new requirements and determining
within which release delivered functionality should be implemented
Relatively greater reliance, compared to traditional methods, on the knowledge in people’s
heads(tacit knowledge), as opposed to external knowledge that is captured in project
documentation
A heavy influence on mechanisms to effectively disseminate tacit knowledge and promote
teamwork. Therefore, teams are kept small in size, comprise both business and technical
representatives, and are located physically together. Team meetings to verbally discuss
progress and issues occur daily, but with strict time limits.
At least some of the agile methods stipulate pair-wise programming (two persons code the
same part of the system) as a means of sharing knowledge and as a quality check.
A change in the role of the project manager, from one primarily concerned with planning
the project, allocating tasks and monitoring progress to that of a facilitator and advocate.
Responsibility for planning and control is delegated to the team members.
Exhibit
The agile methodology may be considered as iterative and incremental development, where
requirements and solutions evolve through collaboration between self-organizing, cross-
functional teams. It promotes adaptive planning, evolutionary development and delivery; time
boxed iterative approach and encourages rapid and flexible response to change. It is a
conceptual framework that promotes foreseen interactions throughout the development life
cycle.
109
Module 5
(a) Strengths:
Agile methodology has the concept of an adaptive team, which enables to respond to
the changing requirements.
The team does not have to invest time and efforts and finally find that by the time they
delivered the product, the requirement of the customer has changed.
Face to face communication and continuous inputs from customer representative
leaves a little space for guesswork.
The documentation is crisp and to the point to save time.
The end result is generally the high quality software in least possible time duration and
satisfied customer.
(b) Weaknesses:
In case of some software deliverables, especially the large ones, it is difficult to assess
the efforts required at the beginning of the System Development life cycle.
There is lack of emphasis on necessary designing and documentation due to time
management and generally is left out or incomplete.
Agile increases potential threats to business continuity and knowledge transfer due to
verbal communication and weak documentation.
Agile requires more re-work and due to the lack of long-term planning and the
lightweight approach to architecture.
The project can easily get taken off track if the customer representative is not clear
about the requirements and final outcome.
Agile lacks the attention to outside integration.
110
Chapter 4: Different Models and Methods for SDLC
When to reengineer?
• When system changes are confined to one subsystem, the subsystem needs to be
reengineered
• When hardware or software support becomes obsolete
• When tools to support restructuring are readily available
• When some business processes or functions are reengineered
111
Module 5
dissected and data models are defined, existing data structures are reviewed for quality
Forward engineering – also called reclamation or renovation, recovers design information
from existing source code and uses this information to reconstitute the existing system to
improve its overall quality and/or performance.
Reverse Engineering
Reverse engineering is the process of studying and analyzing an application, a software
application or a product to see how it functions and to use that information to develop a similar
system. This process can be carried out in several ways:
• Decompiling object or executable code into source code and using it to analyze the
program
• Black box testing the application to be reverse-engineered to unveil its functionality
112
Chapter 4: Different Models and Methods for SDLC
• Software license agreements often contain clauses prohibiting the licensee from
reverse engineering the software so that any trade secrets or programming
techniques are not compromised.
• Decompilers are relatively new tools with functions that depend on specific
computers, operating systems and programming languages. Any change in one
of these components may require developing or purchasing a new decompiler.
Objects usually are created from a general template called a class. The template contains the
characteristics of the class without containing the specific data that need to be inserted into the
template to form the object.
Classes are the basis for most design work in objects. Classes are either super-classes (i.e.,
root or parent classes) with a set of basic attributes or methods, or subclasses which inherit the
characteristics of the parent class and may add (or remove) functionality as required. In addition
to inheritance, classes may interact through sharing data, referred to as aggregate or component
grouping, or sharing objects.
Aggregate classes interact through messages, which are requests for services from one class
(called a client), to another class (called a server). The ability of two or more objects to interpret
a message differently at execution, depending on the superclass of the calling object, is termed
polymorphism.
For example consider a car owned by you as an object. The object is complete in itself and all
necessary data (components and specifications) are embedded into object. You can use this
object for specific use it has been designed for. However there are different objects either having
similar data (same model, same company) or different data (Different model, different
companies etc.) These all objects belong to class cars. All object cars have common attributes
113
Module 5
(i.e. steering, gear, break, wheels etc.) that are inherited from class cars (or may be from
superclass vehicles). One can modify car by keeping basic common attributes and add few more
functions to it. (Polymorphism)
There are many programming languages that are used for developing object oriented systems.
To realize the full benefits of using object-oriented programming, it is necessary to employ
object-oriented analysis and design approaches. Dealing with objects should permit analysts,
developers and programmers to consider larger logical chunks of a system and clarify the
programming process. Although it is possible to do object-oriented development using a
waterfall model in practice most object-oriented systems are developed with an iterative
approach. As a result in object-oriented processes "analysis and design" are often considered
at the same time. OOSD being programming method, a particular programming language, or
use of a particular programming technique, does not imply or require use of a particular software
development methodology.
Advantages of OOSD:
• The ability to manage an unrestricted variety of data types
• Provision of a means to model complex relationships
• The capacity to meet the demands of a changing environment
A significant development in OOSD has been the decision by some of the major players in
object-oriented development to join forces and merge their individual approaches into a unified
approach using the Unified Modelling Language (UML). UML is a general-purpose notational
language for specifying and visualizing complex software for large object-oriented projects. This
signals a maturation of the object-oriented development approach. While object-orientation is
not yet pervasive, it can accurately be said to have entered the computing mainstream.
• Web applications
• E-business applications
• CASE for software development
• Office automation for email and work orders
• Artificial intelligence
• Computer-aided manufacturing (CAM) for production and process control
114
Chapter 4: Different Models and Methods for SDLC
• In-process client components: These components must run from within defined program
(called as ‘container’) such as a web browser; they cannot run on their own.
• Stand-alone client components—Applications (like Microsoft’s Excel and Word) that
work as service.
• Stand-alone server components—Processes running on servers that provide services
in standardized way. These are initiated by remote procedure calls or some other kind of
network call. Technologies supporting this include Microsoft’s Distributed Component
Object Model (DCOM), Object Management Group’s Common Object Request Broker
Architecture (CORBA) and Sun’s Java through Remote Method Invocation (RMI).
• In-process server components: These components run on servers within containers.
Examples include Microsoft’s Transaction Server (MTS) and Sun’s Organisation Java
Beans (EJB)
A number of different component models have emerged. E.g. Microsoft’s Component Object
Model (COM). MTS when combined with COM allows developers to create components that
can be distributed in the Windows environment. COM is the basis for ActiveX technologies, with
ActiveX Controls being among the most widely used components. Alternative component
models include the CORBA Component Model and Sun’s EJB.
Visual tools are now available for designing and testing component-based applications.
Components play a significant role in web-based applications.
115
Module 5
Disadvantages:
• Attention to software integration should be provided continuously during the development
process.
• If system requirements are poorly defined or the system fails to adequately address
business needs, the project will not be successful.
Historically, software written in one language on a particular platform has used a dedicated
application programming interface (API). The use of specialized APIs has caused difficulties in
integrating software modules across platforms. Component based technologies such as CORBA
and COM that use remote procedure calls (RPCs) have been developed to allow real-time
integration of code across platforms. However, using these RPC approaches for different APIs
still remains complex. Web-based application development is designed to further facilitate and
standardize code module and program integration.
Web-based application development enables users to avoid the need to perform redundant
computing tasks with redundant code. For example installing client on all users after making
changes or change of address notification from a customer need not be updated separately in
116
Chapter 4: Different Models and Methods for SDLC
multiple databases. For example entering and maintaining same data in contact management,
accounts receivable etc. Web application development though is different than traditional
developments (e.g. users test and approve the development work), but the risks of application
development remain the same.
With web-based application development, an XML language known as Simple Object Access
Protocol (SOAP) is used to define APIs. SOAP will work with any operating system and
programming language that understands XML. SOAP is simpler than using the more complex
RPC-based approach, with the advantage that modules are coupled loosely so that a change to
one component does not normally require changes to other components.
The second key component of web development is the Web Services Description Language
(WSDL), which is also based on XML. WSDL is used to identify the SOAP specification that is
to be used for the code module API and the formats of the SOAP messages used for input and
output to the code module. The WSDL is also used to identify the particular web service
accessible via a corporate intranet or across the Internet by being published to a relevant intranet
or Internet web server.
4.5 Summary
Software development is the key to automate business processes using information technology.
With changing technologies the SDLC models and methods have undergone many changes.
However, the basic risks of SDLC still exist and these are:
117
Module 5
Questions:
1 A SDLC project for updating existing application has been initiated, however project
manager has realized that the documentation has not been updated and source code is not
available. Which of the following method shall help the project manager?
A. Business process reengineering
B. Reverse engineering
C. Component based development
D. Agile development method
5 Which of the following model addresses the weakness of waterfall model related to
accommodating changes during development stage?
A. Spiral model
B. Incremental model
C. Validation and verification
D. Web development method
6 Which of the following activity is most important for IS auditor conducting mid-term
review of SDLC?
A. Ensure risks associated with development method are controlled.
B. Review appropriateness of development method.
C. Extrapolate the completion time based on current state.
D. Perform code review of programs developed so far.
118
Chapter 4: Different Models and Methods for SDLC
3 B. The major challenge faced by Agile development is weak documentation of design and
related record. Since it heavily depends upon working in interaction with users, where small
team of experts captures requirements and develops functional code that can be deployed.
4 D. Prototyping helps in finalizing user requirements where users can review the prototype and
confirm if it meets the requirements. This method is used in various models like rapid application
development, agile development, spiral model etc.
5 C. Waterfall model requires finalization of earlier phase before beginning next phase. This
makes it difficult to accommodate subsequent changes. Validation and verification method helps
in overcoming this weakness by introducing iteration during each phase.
6 A. IS auditor should ensure that objectives of organization in initiating SDLC project are met
by confirming that the risks associated with development are controlled.
119
120
Chapter 5: System Acquisition Framework
5.2 Introduction
This chapter provides
information on Phase 3B to
6B covering software
acquisition processes and 3C
to 6C outsourcing of system
development (shadowed
area).
IS auditor primarily should be looking for control aspects associated with outsourcing to ensure
that expected benefits can be derived.
121
Module 5
Changes in technology have introduced additional phase in traditional SDLC such as software
acquisition. A decision for acquiring software may be reached due to various reasons such as
availability of commercial software, lack of skilled resources within organisation; the cost of in-
house development is higher than benefits of acquiring, focus on core competency, etc.
Software acquisition is the process that should occur after the requirements definition phase.
Table 5.1 shows the high-level steps in software acquisition process and their applicability for
each of three cases mentioned above.
122
Chapter 5: System Acquisition Framework
Fact Finding: Application system focuses on two main types of requirements. The first one is
service delivery and second one is operational requirements. These may include lower
operational costs, better information for managers, smooth operations for users or better levels
of services to customers. To assess these needs, the analysts often interact extensively with
123
Module 5
Analysis to understand Present process: Understanding present system and its related
problems helps in confirming the requirements from new application/software. Generally this
includes identifying rationale and objectives, inputs and data sources, decision points, desired
outcomes from application, mandatory and discretionary controls.
Requirements for Proposed Systems: Analysis of functional area and process, the proposed
expectations can be clearly defined considering the issues and objectives. The requirements
should cover at the minimum the following:
In case organisation opts for third option then it can initiate the process for RFP. In first two
cases it is likely that more than one product/vendor fits the requirements with advantages and
disadvantages. It is best to have adequate participation from various user groups is included
when evaluating the product.
The organisations may consider following aspects for evaluating the software product:
124
Chapter 5: System Acquisition Framework
The agenda-based presentations are scripted business scenarios that are designed
to show how the software will perform certain critical business functions. Vendors are
typically invited to demonstrate their product and follow the sample business scenarios
given to them to prepare.
Checklists or questionnaire: A most simple but subjective method where criteria are
listed as a check list or questions against which functional requirements for various
products. Organisation may get this information from vendors as part of request for
proposal (RFP) or request for intent (RFI). These responses for different products are
validated against requirements. For example, support service checklists may have
parameters such as performance; system development, maintenance, conversion,
training, back-up, proximity, hardware and software.
Point-Scoring Analysis (Functional gap analysis): Point-scoring analysis provides
an objective means of selecting software. This is performed by allotting weight-age for
each requirement and then allotting score to the software that meets that requirement.
Table 5.2 illustrates a Point Scoring Analysis list.
Table 5.2: Point Scoring Analysis List
125
Module 5
Item Description
Software and system Comparison of product functionalities against
requirements requirements based on score point criteria.
126
Chapter 5: System Acquisition Framework
Item Description
Customer References Validate the Vendor's claims about their product
performance and timely completion of work by the
vendor from the vendor’s customers.
Vendor viability and Evaluate the vendor's viability with reference to period
financial stability for which the vendor is in operation, the period for
which the desired product is being used by the existing
customers and the Vendor's financial stability on the
basis of the market survey and the certification from the
customers and on certain supporting documentation
from the Vendor
Availability of complete and Review the complete set of system documentation
reliable documentation provided by the vendor prior to acquisition of the
about the new software software. The documentation should in detail and
precise.
Vendor support Evaluate what kind of support the vendor provides for
the software like onsite maintenance, online updating
of upgrades, onsite training to users, automatic new
version notifications, 24 x 7 helpline etc.
Response time Time taken for the vendor to respond and fix in case a
problem is reported.
Source code availability If the software is developed only for the concerned
business, the vendor has no right to further sale. The
source code must be given by Vendor.
In other case, the source code should be deposited
with a third party so that the same would be available if
the vendor goes out business. The source with the
program updates and programs fixes should be
included as a part of escrow agreement.
Vendor’s experience Vendor having longer experience in the desired
software is more acceptable.
A list of recent or planned This will involve review of the vendor’s effort to keep
enhancements to the the product current.
product with dates
List of current customers More the number of customers, greater are the
acceptability of the product.
Acceptance testing of The vendor should allow the acceptance testing by the
product users to ensure that the product satisfies the system
requirements of the business. This should be done
before commitment of the purchase.
127
Module 5
It is important to keep in mind the minimum and recommended requirements to use the software
including:
• Required hardware such as memory, disk space, and server or client characteristics
• Operating system versions and patch levels supported
• Additional tools such as import and export tools
• Databases supported
During this phase organisation and vendor negotiate the terms of contract (SLA) and sign it.
Appropriate legal counsel should review the contract prior to its signing.
The contract should cover the following items, depending upon terms of requirements:
128
Chapter 5: System Acquisition Framework
• Commitments for delivery of documentation, fixes, upgrades, new release notifications and
training
• Commitments for data migration
• Arrangement for a software escrow agreement or deliverables of source code and system
documentation
• Description of the support to be provided during installation/customization
• Criteria for user acceptance
• Provision for a reasonable acceptance testing period, before the commitment to purchase
is made
• Allowance for changes to be made by the purchasing company
• Terms of software maintenance
• Allowance for copying software for use in business continuity efforts and for test purposes
• Payment schedule linked to actual delivery dates
• Confidentiality clauses
• Data protection clauses
• Monitoring mechanism and measurement criteria along with reporting commitments. This
is particularly important for development and maintenance activities.
Software Licenses: Software license is a contract that grants permission to use software to the
organisation that is protected under legal system (like copyright law, patent law, trademark law
and any other intellectual property rights), by paying agreed fee. Use of unlicensed software or
violations of a licensing agreement expose organisations to possible litigation. Organisation and
a software vendor should clearly describe the rights and responsibilities of the parties to the
contract. The contracts should cover detail to provide assurances for performance, source code
accessibility, software and data security, and other important issues.
Managing the contract involves a monitoring of vendor activities to ensure that deployment
efforts are controlled, measured and improved. This includes periodic status reporting,
milestones and metrics as agreed with the vendor.
129
Module 5
1. Involvement of users.
2. Priority to meeting requirements and not commercials.
3. If requirements meets then the lowest bid must be considered.
4. Organization should maintain the documentation about vendor selection
process.
The IS auditor has to understand the RFP and requirements specifications. The
review covers:
• Security requirements.
• Process of vendor selection.
• Contents of the contract.
• Monitoring of terms of contract.
• Inclusion of provision of the right to audit the vendor.
5.7 Summary
1. The feasibility study in relation to the software acquisition should contain documentation
that supports the decision to acquire the software.
2. The decision is based upon various factors such as cost difference between development
and acquisition, availability of the required software readily in the market, the time saved
between development and acquisition.
3. A team comprising of technical supports staff and key users should be crated to prepare
Request for Proposal (RFP).
4. Organisation should carefully compare and examine the various responses of the Vendor
to the RFP, prepare the gap analysis and shortlist the vendors on the basis of such
evaluation.
5. The organisation should invite the short listed vendors to have presentation of the product
and the processes. The user’s participation with feedback must be ensured in such
presentation.
6. The last step in the acquisition process is the negotiation and signing of a legal contract
with the selected vendor.
7. Managing and control on the implementation of the system is required with the regular
status reports.
130
Chapter 5: System Acquisition Framework
Questions:
1 While auditing the software acquisition process the IS auditor PRIMARILY review
which of the following to understand the benefits to the business?
A. System requirement specifications
B. Cost comparison of different products
C. Alignment of IT strategy with business
D. Vendor with lowest cost has been selected
2 While auditing outsourced software development the IS auditor primarily ensure that:
A. vendor selected has experience in similar engagements
B. organization has followed established procurement process
C. outcome of feasibility study has indicated for outsourcing
D. ownership of design and source code has been established
3 Which of the following is primary objective of monitoring activities of vendor hired for
software development?
A. Invoke the penalty clause in contract.
B. Mitigate risk associated with performance.
C. Ensure senior management satisfaction.
D. Monitor third-party resource performance.
131
Module 5
A.
B.
C.
D.
6 Compliance with terms of license for software purchased is primarily which type of
compliance?
A. Legal
B. Contractual
C. Regulatory
D. Standard
2. D. While outsourcing the software development the IS auditor must ensure that the ownership
of developed software is within the organization. In absence of this provision organization may
lose the IPR. Other things are secondary.
3 B. The primary objective of monitoring vendor activities is that the non-performance by vendor
should not impact the organization’s benefit realization plan.
4 C. The effective requirements meeting for each product is A = 48% (96*.50), B = 66% (88*.75),
C = 76 % (80*.95), D = 55% (69*.80)
6 B. Terms of software license are governed by the contract between software vendor and
purchaser. Hence, it is a contractual compliance.
132
Chapter 6: Implementation and Maintenance
6.2 Introduction
This chapter discusses
phases 6 to 9 of SDLC
Phase 6 is testing of
developed or configured
software.
Phase 9 is change management process required for support and maintenance activities
Application software developed or acquired requires appropriate process for implementing and
maintenance in order to realize benefits effectively and efficiently. The best solution to ensure
smooth implementation, configuration, change and release management processes need to be
implemented. These processes should be focused on reliability, availability and security of
production systems. Maintenance generally involves updating and changing IT systems
(application and infrastructure) to suit to changing requirement of business. Every change must
133
Module 5
be assessed, planned, tested, approved, documented, communicated and carried out without
any undesirable consequences and minimum downtime for business processes. The IS auditor
should be aware of the processes for implementation and change management including
controls to ensure segregation of duties between development, test and the production
environment.
6.3 Testing
The success of information systems depends upon the quality of software that supports the
system. Testing of software before deploying in production to ensure it delivers as per
requirements is most essential aspect of quality apart from documentation, compliance with
coding standards, version control discipline and user training.
Although testing phase comes much later in the life cycle, planning for testing starts with the
commencement of System Development life cycle i.e. during requirement gathering phase.
Testing is a process that focuses on correctness, completeness and quality of developed
computer software. Testing should systematically uncover different classes of errors in a
minimum amount of time with a minimum amount of efforts. The data collected through testing
can also provide an indication of the software's reliability and quality. However, testing cannot
show the absence of defect, it can only show that software defects are present. There are
various types of testing performed during development of life cycle that are discussed in ensuing
paragraphs.
Unit tests are typically written based on requirement specifications and run by testing
professionals or software developers to ensure that code meets these requirements and
behaves as intended. The goal of unit testing is to isolate each component of the program and
134
Chapter 6: Implementation and Maintenance
show that they are correct. A unit test provides a strict, written contract that the piece of code
must satisfy.
There are five categories of tests typically performed on a program unit. Such typical tests are
described as follows:
1. Functional Tests: Functional Tests check ‘whether programs do, what they are
supposed to do or not’. The test plan specifies operating conditions, input values, and
expected results, and as per this plan, programmer checks by inputting the values to
see whether the actual result and expected result match. These test data values are
prepared in advance for all possible permutations the data can acquire during live run.
This can have two types:
1. Positive test: Where tester collects the expected values the data can
possess. Sometimes tester may use sanitized live data for testing.
2. Negative test: Where tester provides value sets that data should not
possess anytime. Here the program should flash the error with suitable
message.
For example, if data field is used to store amount and can acquire a value between 0 and
1 crore, positive test should provide expected results and negative test should flash error
if values are beyond the specified range.
2. Performance Tests: Performance tests are designed to verify the expected
performance criteria of program.
There are different performance parameters like response time (time required to receive
input and deliver confirmation), execution time (processing of single data value should be
less than 100 microseconds), throughput (1000 values must be processed in once
second), primary (RAM/CPU) and secondary memory (Storage) utilization and rate of
traffic flow on data channels and communication links (number of messages per second).
3. Stress Tests: Stress testing is a form of testing that is used to determine the stability
of a given system or entity. It involves testing beyond normal operational capacity, often
to a breaking point, in order to observe the results. These tests are designed to
overload a program in various ways. The purpose of a stress test is to determine the
limitations of the program. (For example if access to web application is expected to be
10000 hits per second, if the program can stand this load and how it behaves when
load exceeds or during a sort/search operation, available memory can be reduced to
find out whether the program is able to handle the situation.).
4. Structural Tests: Structural Tests are concerned with examining the internal processing
logic of a software system. Particularly when the program is expected to behave
differently depending upon value of data set. Programmer may code for known values
and might forget to code for unknown values where program might misbehave. For
135
Module 5
example tax calculation where depending upon value different rates is applied or if
division operation is involved and data set gets value of zero, program may terminate
abruptly or go in loop without response.
5. Parallel Tests: These are applicable during change management or reengineering where
the same test data is used in the new and old system and the output results are then
compared.
2. Dynamic testing.
Static Testing: Static analysis tests are conducted on source programs and do not normally
require executions in operating conditions. Typical static analysis techniques include the
following:
1. Desk check: This is done by the programmer to check the logical syntax errors, and
deviation from coding standards. As name suggests programmer uses paper and pen
to verify the logic of code by jotting down values of data sets and thinking like computer
to arrive at possible values.
2. Structured Walk-through: Desk check performed with team or peers who scan
through the text of the program and explanation try to uncover errors.
3. Code Inspection: The program is reviewed by a formal committee. Review is done
with formal checklists.
Dynamic Analysis Testing: Such testing is normally conducted through execution of programs
in operating conditions. Typical techniques for dynamic testing and analysis include the
following:
This method of test design is applicable to all levels of software testing i.e. unit, integration,
functional testing, system and acceptance. While this method can uncover unimplemented
parts of the specification, one cannot be sure that all existent paths are tested. If a module
136
Chapter 6: Implementation and Maintenance
performs a function, which it is not supposed to perform, for example: running of a Trojan
code, the black box test does not identify it.
2. White Box Testing: This testing goes further than black box testing and also
tests internal perspective of the code/system/function to design test cases. The
tester chooses test case inputs to exercise paths through the code and
determines the appropriate outputs. Since the tests are based on the actual
implementation, if the implementation changes, the tests probably will need to
change, too. It is applicable at the unit, integration and system levels of the testing
process. It is typically applied to the unit. While it normally tests paths within a
unit, it can also test paths between units during integration, and between
subsystems during a system level test. After obtaining a clear picture of the
internal workings of a product, tests can be conducted to ensure that the internal
operation of the product conforms to specifications and all the internal
components are adequately exercised. There are automated tools (like test
tools/debuggers etc.) available to conduct this type of testing.
3. Grey Box Testing: It is a technique that is in between uses black box testing and
white box testing. Tester applies a limited number of test cases to the internal
workings of the software under test. In the remaining part of the grey box testing,
one takes a black box approach in applying inputs to the software under test and
observing the outputs.
137
Module 5
2. Top-down Integration: This starts with the main routine followed by the stubs being
substituted for the modules which are directly subordinate to the main module.
Considering above example, the testing will start from opening login screen and then
login, then selecting function one by one. An incomplete portion of a program code is
put under a function (called stub) to allow the function. Here a stub is considered as
black box and assumed to perform as expected, which is tested subsequently. Once
the main module testing is complete, stubs are substituted with real modules one by
one, and these modules are tested. This process continues till the atomic (smallest)
modules are reached. Since decision-making processes are likely to occur in the higher
levels of program hierarchy, the top-down strategy emphasizes on major control
decision points encountered in the earlier stages of a process and detects any error in
these processes. The difficulty arises in the top-down method, because the high-level
modules are tested with stubs and not with actual modules.
138
Chapter 6: Implementation and Maintenance
1. Recovery Testing: This is the activity of testing ‘how well the application is able to
recover from crashes, hardware failures and other similar problems’. Recovery testing
is the forced failure of the software in a variety of ways to verify that recovery is able to
be perform properly, in actual failures
2. Security Testing: This is the process to determine that an Information System protects
data and maintains functionality as intended. The three basic security concepts that
need to be covered by security testing are – confidentiality, integrity, availability. In
addition the software may further be tested for user management requirements require
i.e. authentication, authorization, and non-repudiation and log maintenance.
3. Stress or Volume Testing: Stress testing is a form of testing that is used to determine
the stability of a given system or entity based on the requirements and expected data
growth. It involves testing beyond normal operational capacity, often to a breaking
point, in order to observe the results. Stress testing may be performed by testing the
application with large quantity of data during peak hours to test its performance.
4. Performance Testing: Software performance testing is performed on various
parameters like response time, speed of processing, effectiveness use of a resources
(RAM, CPU etc.), network, etc. This testing technique compares the new system's
performance with that of similar systems using available industry benchmarks.
6.3.4 Final Testing
It is conducted if results of system testing are satisfactory and when the system is just ready for
implementation. This testing is performed at two levels:
Quality Assurance Testing (QAT): QAT focuses on conforming to the quality standards of the
organisation accepted before development. It includes documented specifications, technology
employed, use of coding standards, and the application meets the documented technical
specifications and deliverables. QAT is performed primarily by the technical (IT) department.
139
Module 5
The participation of the end user is minimal and on request. QAT does not focus on functionality
testing.
User Acceptance Testing (UAT): It is a user extensive activity and participation of functional
user is a primary requirement for UAT. The objective of UAT is to ensure that the system is
production-ready and satisfies all accepted (baselined) requirements. UAT is a formal process
and may include:
Acceptance criteria defined along with requirement specifications includes that deliverables
must satisfy the predefined needs of the user. A UAT plan must be documented for the final test
of the completed system. The tests are written from a user’s perspective and should test the
system in a manner as close to production as possible. For example, tests may be based around
typical predefined, business process scenarios. If new business processes have been
developed to accommodate the new or modified system they should also be tested at this point.
A key aspect of testing should also include testers seeking to verify that supporting processes
integrate into the application in an acceptable fashion. Successful completion would generally
enable a project team to hand over a complete integrated package of application and supporting
procedures.
1. UAT is a stage in SDLC where end users finally accept the developed application
system. This is required for all situations of acquiring software i.e. software
developed in-house, or by outsourced team or purchased and configured by
vendor. A formal sign-off generally marks end of development process.
2. UAT should be performed in a secure testing or staging environment where both
source and executable code are protected to ensure that unauthorized or last-
minute changes are not made to the system unless authorized and the standard
change management process is followed. In the absence of controls, the risk of
introducing unauthorized changes/malicious patches/Trojan horse programs is
very high.
3. Users should develop test cases or use data of live operations of a specified
period to confirm whether the processing of data by new application is providing
correct results, has required controls and the reports meet the management
requirements.
140
Chapter 6: Implementation and Maintenance
Many organizations expects report from IS auditor after tests are completed. The IS
auditor should issue an opinion to management as to whether the system meets
documented business requirements, has incorporated appropriate controls, and may
be migrated to production. This report should also identify and explain the risk that
the organization might be exposed by implementing the system.
Alpha Testing: This is the first stage, often performed by users within the organisation by the
developers, to improve and ensure the quality/functionalities as per users’ satisfaction.
Beta Testing: This is the second stage, generally performed after the deployment of the system.
It is performed by the external users, during the real life execution of the project. It normally
involves sending the product outside the development environment for real world exposure and
receives feedback for analysis and modifications, if any.
Integrated Testing: Some organisations rely on integrated test facilities. Test data usually are
processed in production-like systems. This confirms the behaviour of the new application or
modules in real-life conditions. These conditions include peak volume and other resource-
related constraints. In this environment, IS will perform their tests with a set of fictitious data
whereas client representatives use extracts of production data to cover the most possible
scenarios as well as some made-up data for scenarios that would not be tested by the production
data.
141
Module 5
Security testing: (Application scans and penetration testing) For information security
issues, the evaluation process includes reviewing security plans, the risk assessments results
along with response decision, and the evaluation of processes to be deployed. The result of
security assessment focuses on measuring effectiveness of the security controls. Security
testing provides assurance to the business owner.
Security testing of web application for identified external threats (like SQL injection, cross site
scripting etc.) is necessary to ensure that the application can sustain an attack by the hacker
who is trying to breach the security.
142
Chapter 6: Implementation and Maintenance
Testers generally perform black box testing (Penetration test) by trying to simulate attacks on
hosted application. This is then followed by performing grey box and/or white box testing that
includes code review to identify the issues in coding practices that might introduce the
vulnerabilities in the application. These can be avoided by including secure coding practices in
coding standard developed by the organisations.
6.4 Implementation
Application software developed shall be implemented once it is tested and UAT has been signed
off. However the planning for implementation must start much earlier in SDLC, many times after
feasibility study. Planning involves:
143
Module 5
The challenge in cut-off implementation is that roll-back is most difficult and hence planning must
be meticulously done. Also conversion activity must start well in advance and must be properly
planned.
Phased Changeover: With this strategy, implementation can be staged with conversion to the
new system taking place gradually. This is done based on business operations. For example,
converting one function (e.g. marketing) on new system, wait for the same be stabilized and
then take another function (Finance/HR/production etc.) If a phase is successful then the next
phase is started, eventually leading to the final phase when the new system fully replaces the
old one as shown in Fig. 6.2.
Phase changeover might require more time to implement however it helps in stabilizing one
function before starting another.
Pilot Changeover: With this strategy, the new system replaces the old one in one operational
area or with smaller scale. Any errors can be rectified and new system is stabilized in pilot area,
this stabilized system is replicated in operational areas throughout the whole system. For
144
Chapter 6: Implementation and Maintenance
example converting banking operations to centralized systems are done at one branch and
stabilized. The same process is replicated across all branches. Fig. 6.3 depicts Pilot
Implementation.
Advantage of pilot implementation is that issues and problems are identified and rectified during
pilot run and a stabilized system is implemented thus saving cost and enabling faster
implementation.
Parallel Changeover: This is considered the most secure method, time and resource
consuming implementation. The new systems is implemented, however the old system also
continues to be operational. The output of new system is regularly compared with old system.
If results matches over period of time and issues observed with new system are taken care of,
the old system is discontinued. Fig. 6.4 shows parallel implementation.
145
Module 5
However it is costly and may not be feasible in large and complex systems, since all transactions
must be processed twice. Many times users may not be conformable in duplicating the work.
The process of ensuring that the information system is operational and then allowing users to
take over its operation for use and evaluation is called Systems Implementation. Implementation
includes all those activities that take place to convert from the old system to the new. The new
system may be totally new, replacing an existing manual or automatic system. Some of the
generic key activities involved in system Implementation are:
Site preparation and Installation: The hardware required to support the new system is
selected prior to the implementation phase. The necessary hardware should be ordered in time
to allow for installation and testing of equipment during the implementation phase. An installation
checklist should be developed at this time with operating advice from the vendor and system
development team. In situations, where people are not experienced in the installation of similar
hardware/platform/equipment, adequate time should be planned to allow completion of required
activities.
Installation of New Hardware / Software: Site preparation also includes receiving, installing
and connecting the hardware and supporting software (like operating systems, middleware etc.).
146
Chapter 6: Implementation and Maintenance
In case the hardware is available need to be commissioned for the new application as per design
requirements.
Equipment Checkout: The equipment must be turned on for testing under normal operating
conditions. Though the routine 'diagnostic tests' should be run by the vendor, the in-house
implementation team should test the equipment functionalities in actual working conditions.
6.4.3 Training
Operational training to users about system must be planned along with implementation and
before going live and depending upon the complexity of application. There are three ways to
provide training:
1. Simulated training: Where a training instance of application is installed along with live
environment and users are requested to explore the application. This type of training is
generally performed on-site
2. Classroom training: This is controlled simulated training conducted in classroom and is
facilitated by trainer.
3. On the job training: Conducted in live environment with appropriate guidance from
experts.
The quality of training received by the personnel involved with the system in various capacities
helps or hinders the successful implementation of information system. When a new system is
acquired, which often involves new hardware and software, both users and computer
professionals generally need some type of training.
6.4.4 Conversion
Conversion of data is most important activity while implementing new application system or
when there is significant change in technology requiring conversion. The conversion activity
involves converting data, procedures, documentation from old system to new system. Most
important being data conversion.
Data Conversion: The requirement of data conversion depends upon the change. If the new
application is replacing manual operation to automated operation it involves:
147
Module 5
2. Verification of data
3. Uploading into database
Since data conversion is a type of input, controls on conversions are essential to ensure integrity
of data. These controls generally include:
1. Completeness check: Using number of records, control totals, batch totals, hash totals.
For example verifying number of employees record, checking trial balance before and after
conversion etc.
2. Accuracy check: Manual verification or key verification (manual to electronic conversion)
Unauthorized changes during conversion are one of the sources of frauds.
For example, during manual operation in banking every transaction is verified before being
posted to account and then the effect of transaction is reflected in general ledger. However in
electronic banking system transactions are flagged with type of transaction and posted to
general ledger. Hence verification of transaction is most essential in new system.
System conversion: After on-line and off-line files have been converted and the reliability of
the new system has been confirmed for a functional area, daily processing can be shifted from
the existing information system to the new one. All transactions initiated after this time are
processed on the new system. System development team members should be present to assist
and to answer any questions that might develop. Consideration should be given to operating the
old system for some more time to permit checking, matching and balancing the total results of
both systems.
148
Chapter 6: Implementation and Maintenance
1. Raising change request: Formal process for requesting change. Anyone can raise
the change request with reason for the change, a cost justification analysis, if possible
and the expected benefits of the change. An automated process for raising change
requests helps in capturing all associated changes and maintaining record of change
requests.
2. Defining requirements: Defining details of changes required, like functional changes,
appearance changes, processing changes. (e.g. change in tax structure may require
processing changes, if tax slabs are displayed then appearance changes and so on)
3. Analysing requirements: Getting answers to the questions such as: why change is
required, when it should be effective, who needs it, where the changes are required,
what programs/modules/function is affected, how the changes will be carried out and
so on.
4. Impact analysis: What will be impact of changes on processes and other related
programs that interface with application that need to be changed or how changes in
technology shall affect the processing.
5. Approval of change: Changes must be approved by the asset owners, i.e. application
owners in case of application change and other stakeholders that might be impacted.
Sometimes it is difficult to decide who has appropriate authority to approve change
due to impact on multiple processes. To overcome such situations organisations forms
a change approval board or committee (CAB) consisting of representatives from
multiple business functions.
6. Prioritizing the change requests: this is required to resolve the conflict due to
multiple change requests from different users.
7. Carrying out changes: System analyst shall review the changes and decide
appropriate resources to carry out changes. Records of all program changes should
149
Module 5
150
Chapter 6: Implementation and Maintenance
For acquired systems vendor may distribute periodic updates, patches or new version of the
software. User and systems management should review such changes for impact and
appropriateness before implementing.
While reviewing change management IS auditor should ensure that:
• Events/incidents
• Short notice requirement changes (due to external incidents/events: terrorist attacks,
natural disasters, etc.)
• Infrastructure failure
• Production issues due to unexpected data conditions
Procedures should focus to ensure that emergency changes can be performed without
compromising the integrity of the system. Organisation should have a process for carrying out
emergency changes. The process may consist of following steps:
151
Module 5
The IS auditor has to ensure that emergency changes are handled in a controlled
manner.
• Conversion of data
• Training of users
• Support process for changes
• Rollback plan
• All points are updated
• Developer has access to production libraries containing programs and data including
object code.
• User has not approved change or not aware of the change
• A change procedure has not formally established.
• A change was updated into production without user approval.
• The changes had not been reviewed or tested.
• Developer inserted extra logic for personal benefit (i.e., committed fraud).
• In case of vendor software, changes received were not tested.
152
Chapter 6: Implementation and Maintenance
• Source code must be maintained by librarian. At least control must be in place to prevent
or detect insertion of unauthorized code.
• A separate change control team or release team should be appointed to move
source/object code from development to test and from test to production.
It may not be possible for some organisations to implement strict segregation of duties, in such
situation appropriate compensating controls should be present to prevent or detect and correct
unauthorized changes. Some such situations may arise due to:
1. The developer is also the operator due to small IT department. In this case user
management required to ensure proper authorization and monitoring of changes and
upgrades made by the programmer.
2. Emergency changes to resolve the issues in production.
3. In case separate release team is not possible, compensating control of enabling user ID of
user who moves changes from development to test and/or test to production only after
approval and monitoring activities may work as compensating control.
4. Developers should not have write, modify or delete access to production data. Depending
on the type of information in production, programmers may not have read-only access to
personally identifiable information.
Configuration management sometimes may provide procedures throughout the software life
cycle (from requirements analysis to maintenance) to identify, define and baseline software
items in the system and thus provide a basis for problem management, change management
153
Module 5
and release management. However though it sounds easy, proper implementation of CMDB is
a necessary requirement (which must follow SDLC process for acquired Software).
6.6 Summary
Implementation of new application follows a similar process required for change and release
management. Although change management primarily refers to the maintenance activity in
SDLC phases, a large change may have to be initiated to implement change by implementing a
SDLC project. In other words a change management process by itself may be considered as a
mini-SDLC project. Controls required during implementation and change management are
similar and IS auditor has to understand the process of controlling unauthorized changes in
software whether it is being developed or configured or maintained.
154
Chapter 6: Implementation and Maintenance
Questions:
1 Which of the following process during implementation of banking software is most
critical to minimize the risk associated with frauds?
A. Training and awareness
B. Data conversion
C. Hardware configuration
D. Procedure conversion
2 Which of the following is a major concern for IS auditor while auditing implementation
phase of SDLC project?
A. Requirement of resilient infrastructure are captured during implementation
B. Hardware acquisition has been delayed due delay in procurement process
C. Organization has contracted multiple network service providers for connectivity
D. Organization has decided to use existing site for implementing new solution
3 Who among the following should be primarily responsible for approving changes to
application system?
A. Head of IT department
B. Business process users
C. Application administrator
D. Affected business stakeholders
5 An organization has developed a web based application for the use of internal users
to be hosted on intranet. Before finalizing and making it live it was decided to make it available
to users for providing feedback. This is an example of:
A. Internal audit
B. Alfa testing
C. Beta testing
D. User training
6 A major concern associated with using sanitized old production data for testing new
application is that:
A. User may not provide sign off.
155
Module 5
4 B. Pilot is method is most useful, as organization can implement application at one location
and run for few days. This will help in finalizing the basic configuration and also learn from post
implementation issues. Once successful the same can be replicated at other locations.
5 C. Beta testing is making product available for user for feedback before launching.
6 D. Production data generally may not cover all paths the data can take and hence system
cannot be tested for all possible cases. Data leakage is not a major concern since data is
sanitized. Options A and C are not concerns.
156
Chapter 7: Trends In Technology Impacting SDLC
7.2 Introduction
Changes in technology have direct and/or indirect impact on the SDLC phases. With various
options available, organisations need to consider use of new technology for effective service
delivery and IT must support this service delivery without affecting the security of information
assets. In Module 1 we have seen various emerging technologies affecting use of information
technology. In this chapter we will consider how some new technologies have impact on SDLC.
157
Module 5
In cloud computing, services are provided over the Internet based technology by dynamically
scalable and often virtualized resources. The impact of using ‘cloud’ technology for service
delivery affects SDLC process, depending upon which and how the services are being used.
The lists of requirements that must be considered are discussed below:
Application on cloud uses platform independent web based technology like Java, Net,
XML, PHP etc. Deployment of services may happen in phased manner, the project
manager may consider agile development method to develop and deploy services.
158
Chapter 7: Trends In Technology Impacting SDLC
Client is executed using internet browsers like internet explorer, Google chrome, Mozilla
etc. and hence need to be tested for all known browsers. It is necessary to consider security
while developing the software, users may or may not use security settings in their
browsers. Also not all browsers offer same level of security settings.
Web application security requirements need to be considered while designing and testing
the application.
Non-functional requirements of performance and response have to be considered while
developing the software.
Licensing issues for utilities and middleware are complex and should be considered. The
challenge of licensing has two aspects:
o Who is responsible for procuring licenses? In case organisation uses cloud services
offered by service provider for infrastructure only (IaaS), procuring required licenses
is not the responsibility of service provider. However in case of PaaS and SaaS,
service provider is responsible for procuring licenses.
o Licensing policy of software owner is different and is governed by the contract
between provider and purchaser. It is best to involve the software vendor in decision
while procuring cloud services.
In case of procuring SaaS, the software is provided by service provider to multiple clients.
Procuring organisation is accountable for security of information processed and stored on
cloud and hence the contract and monitoring of terms of contract need to be considered
during acquisition phase of SDLC.
Service provider while offering services must ensure that client organisations are
complying with required legal and regulatory requirements and issues related to cross-
border compliances are addressed in contract.
159
Module 5
Use of mobile devices has inherent risks and these needs to be mitigated by implementing
appropriate controls. Some of the business risks are given below:
• Mobile devices may contain an organisation’s sensitive information, like data obtained from
business/customer applications, customer private information, corporate e-mails, and
documents. The mobile computing devices may be used to provide input to business
applications on wireless networks which can impact organisation data on a real-time basis.
Loss or theft of organisation information/asset due to virus attacks or malware.
• Exposure due to Information interception through wireless sniffers/intrusion resulting in a
loss or breach of sensitive data, privacy impacting organisation reputation and legal
implications.
160
Chapter 7: Trends In Technology Impacting SDLC
Organisation need to mitigate these risks by using standard risk mitigation options like identifying
high-value data elements and providing security, implementing mobile computing security
policy, implement specific controls for mobile devices like standard configuration of mobile
devices, anti-virus software, user training, encryption etc.
This may be essential to ensure capturing of appropriate requirements and that security is built
in the application. Organisation may not want to rely on security setting to be done by mobile
users. In case new application is being developed which the organisation intends to deploy on
mobile devices, SDLC process must capture these requirements before considering feasibility.
161
Module 5
Benefits of BYOD:
Increased productivity: Increased productivity comes from a user being more
comfortable with their personal device, being an expert user makes navigating the device
easier, increasing productivity
Employee satisfaction: BYOD allows user to use the device they have selected as their
own rather than one selected by the IT team. It also allows them to carry one device as
opposed to one for work and one for personal. Also employee may wish to have devices
that are more cutting edge and organisations may not replace these devices as often.
Cost savings for the company: Cost savings can occur on the organisation need not
provide mobile devices to employees.
Risks of BYOD
Risks of BYOD are same as risk of mobile computing; however it has higher risk associated with
data breach. For example, if an employee uses a smart phone to access the company network
and then loses that phone, untrusted parties could retrieve any unsecured data on the
phone. Another type of security breach occurs when an employee leaves the company, they do
not have to give back the device, so applications and other data may still be present on their
device.
A key issue of BYOD which is often overlooked is BYOD's phone number problem, which raises
the question of the ownership of the phone number. The issue becomes apparent when
employees in sales or other customer-facing roles leave the organisation and take their phone
number Customers calling the number will then potentially be calling competitors which can lead
to loss of business. To mitigate the risks organisation must have a BYOD policy that defines:
162
Chapter 7: Trends In Technology Impacting SDLC
per kilowatt, and flash or solid-state drives for higher-end performance optimization are expected
to increase in importance over the next few years.
The data in big data comes from various sources. It is either historical data or the data collected
over period of time that requires analysis or both. For example demographics of population with
various attributes like gender, religion, ethnicity, age group, life expectancy, diseases history,
birth rate, death rate and so many such attributes and parameter might run in terabytes. There
can be another data set capturing consumptions and availability of essential elements like food,
liquids, from various countries.
Managing Big data requires special framework technologies like NoSQL databases,
Hadoop, MapReduce. These technologies form the core of an open source software
framework that supports the processing of large data sets across clustered systems. Primary
challenge with big data is design architecture to store the data without affecting integrity
(accuracy and completeness) of the data. This is important because most of the times it is stored
in denormalized form.
Another challenge is maintaining confidentiality and privacy of the data stored. This is generally
controlled by providing access to limited personnel based on need to do basis. Some examples
of big data projects are:
Risks
Organisations must come to terms with the security challenges they introduce, for example:
• Big data requires data to be stored in denormalized form i.e. schema-less in distributed
environments, where data from multiple sources can be joined and aggregated in arbitrary
ways, make it challenging to establish access controls
• As the big data consist of high volume, high variety and high velocity data, it makes difficult
to ensure data integrity
• Since it is aggregation of data from across the organisation, it also includes sensitive data
• Most existing data security and compliance approaches will not scale to handle big data
security.
163
Module 5
Risk mitigation
Following controls need to be implemented to minimize the associated risks:
• Sensitive data identification and classification: Identification of sensitive data and their
relationships with other data sets, so that the right security policies can be implemented.
• Data access and change controls: Defining and implementing policies regarding which
users and applications can access or change data.
• Real-time data activity monitoring and auditing: Enabling logs for sensitive data access
with time stamp for monitoring.
• Data protection: Consider encrypting confidential data (e.g. credit card details).
• Vulnerability management: Identifying weaknesses and initiating remedial action.
Audit questions
Some questions that helps auditor in understanding control implementation.
The rush for big data benefits is not an excuse for overlooking security.
Data analytics
Organisations use data analytics for various analyses that help management in arriving at right
decision. These technologies are useful for analysis of big data, new analytic applications and
pattern-based strategies. Organisations will focus on harnessing the power of information by
using business intelligence and data analytics tools to monitor and improve performance and
costs. IT may be required to focus on developing analytics that enable and track collaborative
decision making.
Analytics mean the use of analysis, data, and systematic reasoning to make decisions. What
kind of analysis? What kind of data? What kind of reasoning? There are no hard-and-fast
answers. Any analytical process can provide a serious, systematic analysis. The most common
is statistical analysis, in which data are used to make inferences about a population from a
sample. Variations of statistical analysis can be used for a huge variety of decisions—from
164
Chapter 7: Trends In Technology Impacting SDLC
knowing reasons of something that happened in the past, to predicting what may happen in the
future. Statistical analysis can be powerful, but it’s often complex, and sometimes employs
untenable assumptions about the data and the business environment.
Risks
Most risks of big data are also similar to risks of data analytics. However, there are additional
risks such as:
Logic Errors: These are related to not being able to collect and analyze appropriate
data, or making incorrect assumption.
Process Errors: These are associated with processing incorrect data, missing
alternate analysis, incorrect treatment to data resulting in wrong decision.
Access control errors: Data analytics and business intelligence tools help in
developing analysis of unstructured data and deploy parameterized report generation
for analysis of data. Care must be taken while providing access to report generation
modules that the person is eligible to access the data. In absence of such control data
breach may occur.
165
Module 5
7.4 Summary
Changes in technology are definitely affecting the business environment. However every new
technology has its own payload of risks associated. Organisations must ensure that appropriate
risk management process is established while considering new technologies while developing
solutions for service delivery.
When faced with the paradigm change and nature of services provided through new
technologies, IS auditors should consider following key assurance areas:
Questions:
1 Organizations consider virtualization primarily to:
A. Optimize resource utilization
B. Eliminate hardware cost
C. Implement cloud application
D. Reduce license requirements
166
Chapter 7: Trends In Technology Impacting SDLC
5 Which of the following the organization should consider first while allowing users to
access organization’s data from their own device?
A. Formulating a policy for use of personal devices
B. Selection of encryption appropriate for all devices
C. Savings in cost required for acquiring devices
D. Define uniform configuration for personal device
6 Which of the following controls are most important for big data application?
A. Data encryption
B. Data classification
C. Data access
D. Data analysis
3 B. Business case is the first document IS auditor should review to understand the reasons
behind the decision. Business case generally covers feasibility study and requirement analysis.
SLA and vendor selection can be reviewed later.
167
Module 5
4 D. Using mobile application helps organization to add service delivery channel that enables
customers to get information anywhere. It may not enhance security, usage of technology may
not be concern for organization and although it may help in match the competition it may not
help in leading in market.
5 A. Organizations considering BYOD, must first formulate policy for usage of such devices so
as to protect the information of organization. Other aspects may be considered based on policy.
6 B. Although most important control for big data application are access controls since data is
stored in denormalized form, access controls need to be implement at data element level. This
can be achieved by data classification. Also encryption controls can be considered for most
sensitive data based on classification so that data analysis controls can be implemented
effectively.
168
Chapter 8: SDLC Reviews and Audit
8.2 Introduction
Every organisation using IT has to adopt a SDLC process to develop and implement the software
or to acquire, customize and implement the software. IS auditor has to understand the process
each organisation follows and perform the SDLC process audits. The scope of audit might be
focused on SDLC or it might be part of larger scope where SDLC processes need to be
reviewed.
The IS auditors role in the software acquisition process is to determine whether adequate level
of security controls has been considered. This is required to ensure data integrity of the
information processed and controls like audit trails, password controls and overall security of the
application. The above procedures should be more elaborate and systematic in case where the
business is implementing ERP systems giving fully integrated corporate solutions like SAP,
Oracle Financials, BAAN, PeopleSoft, JD Edwards etc.
169
Module 5
Generally a question arises about the independence when the auditor is required to perform
independent review of SDLC project either mid-project review or post-implementation review.
Ideally auditor should avoid performing review in such situations, however, in extreme cases
auditor may perform reviews if the auditor’s role is that of consultant of controls and not involved
in deciding the controls to be implemented. If auditor has decided and designed the controls it
will not be appropriated for the auditor to perform reviews.
In order to achieve these goals and provide assurance to management on progress of SDLC
project, an IS auditor has to be part of project team to review the progress. IS Auditor typically
performs following activities:
Attend project and steering committee meetings to understand the status of project
Examine project control documentation to assess possible risks and mitigation plan to
ensure expected deliverables
Interview project team and stakeholders to understand expectations and asses the
expected deliverables.
Ensure ‘what project control standards are to be complied with, (such as a formal systems
development process) and determining the extent to which compliance is being achieved.
Examine system documentation such as functional specifications to arrive at an opinion on
controls. The auditor's opinion will be based on the degree to which the system satisfies
the general control objectives that any information system should meet. A list of such
objectives should be provided to the auditor. The auditor should provide a list of the
standard controls, over such operational concerns as response time, CPU usage, and
random access space availability that the auditor has used as assessment criteria.
An Auditor may adapt a rating system (for example a scale of 1 to 10, 10 being best) in
order to give rating to the various phases of SDLC. For example while rating a Feasibility
170
Chapter 8: SDLC Reviews and Audit
Study, an auditor can review Feasibility Study Report, interview the personnel, who have
conducted feasibility study, understand deliverables and then depending on the content
and quality of the Feasibility Study report and interviews, an auditor can arrive at a rating.
(Say 7if scale 1 to 10 is used). After deriving such a rating for all the phases, the auditor
can form his/her overall opinion about the SDLC phases.
In order to audit technical work products (such as database design or physical design), auditor
may seek opinion of technical experts. Some of the control considerations for an auditor include
the following:
171
Module 5
Change management
Data conversion/migration
Application testing documentation
Relevant legal, regulatory and policy aspects to be complied with, if any
8.3.3 Post implementation review
Post Implementation Review of SDLC project focuses on finding the answer for the question:
“Did the organisation achieve what was required?” It also tries to find out the degree of success
from the project, to the extent to which it has met its objectives. A Post-Implementation review
should be scheduled some time after the solution has been deployed. Typical periods range
from 6 months to 18 months, depending on the type of solution and its environment. The delay
is basically to provide sufficient time to be able to measure the benefits from new solution and
be able to compare them with business case.
Operations: The review of issues identified post-implementation and their resolution. Also the
benefits of resource utilization as predicted in business case compared against current
utilization. For example if the application is expected to support increasing number of concurrent
users, are there any operational issues currently observed at lower scale of operations? Is there
simulation testing performed to ascertain expected peak performance?
Information Security: System should also need to be evaluated for information security and
privacy controls. This aspect of system evaluation is based on the security requirements
documented during information gathering, security of infrastructure on which the application is
hosted (e.g. hardware baselining, network security, access controls and vulnerability scanning).
Evaluation may also include the availability aspect required for continuity (e.g. in case of high
172
Chapter 8: SDLC Reviews and Audit
Conversion process: During implementation it is possible that the data converted and migrated
to new system might contain obvious errors resulting in erroneous processing or frauds. The
conversion processes must be evaluated against the record maintained to ensure the accuracy,
completeness and security of data.
IS Auditors should be able to determine if the expected benefits of the new system are realized
and whether users are satisfied with the new system. IS Auditors may also review which of the
SDLC phases have not met desired objectives and whether any corrective actions were taken.
If there are differences between expectations and actual results, auditors need to determine the
reasons for the same. Such discrepancies may be due to incomplete user requirements or any
other shortcomings.
8.4 Summary
Successful execution of SDLC project must be reviewed regularly as part of continuous
improvement of organisation’s project management practices. The IS auditor can play an
important role in the process by providing inputs based on review of existing projects. IS Auditor
in this case is performing the role of consultant rather than an auditor, as the objective is to
implement the learning from review process.
173
Module 5
Questions:
1 The primary reason why post implementation review is not performed immediately
after implementation is to ensure that auditor can review:
A. Change management process based on incidents
B. Measure changes customer satisfaction levels
C. Compare benefits realized with business case
D. Comment of conformance of implementation process
3 While reviewing the prioritization and coordination of SDLC projects and program
management, IS auditor shall FIRST ensure that:
A. Project selection framework is aligned with IT strategy.
B. Risks are identified, monitored and mitigated in time.
C. Projects are completed within stipulated time and budget.
D. Project and program related documentation is available.
174
Chapter 8: SDLC Reviews and Audit
6 Which of the following SDLC project related document shall best provide input on
design of controls in application being developed?
A. Project business case and feasibility study
B. PERT, CPM diagrams and Gantt Charts
C. Application system detail design document
D. Detailed requirements specifications
2 B. Increasing number of errors affecting service delivery after implementing new application
indicates that the application contains bugs that are affecting service delivery and is a major
concern. Other options are normal processes and may or may not affect the service delivery.
5 D. Auditor cannot audit a project where auditor has been actively involved in implementation.
6 C. Detail design document shall best provide information on controls that are being embedded
in application being developed. Requirements shall also provide information. However, design
shall ensure that requirements are captured in design.
175
176
Section 3
SECTION 3: APPENDIX
IS auditor may use checklist to ensure that review is complete. In order to formalize the auditors’
role and practices, a master checklist may be prepared. It is suggested that a master checklist
for every audit must be prepared by considering the nature of engagement, type and culture of
organisation, objectives of audit and expectation from auditor. Using one checklist for all audits
have a risk that auditor may end up in concluding on inappropriate findings and auditor’s report
may not add value to the organisations.
This is a general checklist. For additional information readers may visit websites of Institute of
Internal Auditors (www.theiia.org), ISACA (www.isaca.org) and similar organisations which have
done exhaustive research in developing suitable audit programs for various technologies and
SDLC projects. The IS Auditor may add more columns (control description, documents
inspected, evidence collected, tests performed, result of analysis, conclusion on design,
conclusion effectiveness of controls and overall finding) to this checklist to convert it into an audit
work paper document..
178
Section 3
180