Professional Documents
Culture Documents
04 06 Systems Acquisition - Development Process
04 06 Systems Acquisition - Development Process
04 06 Systems Acquisition - Development Process
System Development
System analysis and design (SAD) is the development of information system in a systematic
method. This process of development was designed in early 1950s, since then many variations
of this have been introduced. However, all of them have basic steps in common. System SAD
may also be called:
a. Developing a new system – the organization is without any computer information system
and going for computerization for the first time.
b. Replacing an existing/old (legacy) computer system – organization has an old information
system in use, which is outdated and now needs replacement.
c. Developing a part for existing system and integrating it – organization has some of its
functions computerized and now planning to develop system for other areas and integrate
with the existing system.
Stages Product/Output
1. Systems Investigation Terms of Reference
2. Feasibility Studies Feasibility Study Report
3. Systems Analysis System Requirement Report
4. Systems Design System Specification Report
5. Systems Implementation Operational System
6. Systems Maintenance/Review/ Improved System
7. Audit or Post Implementation
After implementation and during maintenance cycle, a one-off study is conducted, called Post
Implementation Review (PIR) and the output is called Post Implementation Review Report.
This PIR report is basis for updating the system or discontinuing the system.
a. Problem definition
Problem understood is half solved, so problem definition is very important, as this is
basis for defining the requirements for the candidate system. We try to find answers
of these questions:
b. IS Planning
IS planning and business planning have become synonyms as every business plan is
now supported and implemented through some IS. This includes thinking strategically
to take competitive advantage and implement business strategies through system or
introducing new business options through IT. IS planning is done in organizational not
departmental context.
TOR points
TOR vary from project to project, but it generally includes the following points:
i. Technical feasibility
ii. Economic feasibility
iii. Social feasiblity
iv. Legal feasibility
v. Operational feasibility
vi. Organisational feasibility
vii. Schedule feasibility
i. Technical feasibility
This involves evaluating technical possibility of the system. System has to be
technically achievable in order to deliver the desired result. This ensures that
required hardware, software, network, DB, and other technical infrastructure is
available and it will continue to be supported by the manufacturers and suppliers.
The infrastructure should be capable of handling the current as well as the future
requirements, like:
Volume of transactions
Capacity to hold records
Number of users
Response time
Growth
Cost-benefit analysis
Cost benefit analysis is an easy and nontechnical method of doing the economic
feasibility. It involves calculating two things.
Calculate costs
Explicit cost – it is open, unambiguous and includes; equipment cost, installation
cost, personnel cost, development cost, operating cost, and other costs.
Implicit cost – this is generally hidden, and that is why not considered, e.g.
opportunity cost, training cost, conversion cost etc.
Assess benefits
Direct/tangible benefits – easily quantifiable benefits, like; saving on staff,
space, operating cost, increased sales, better stock control, sale of equipment,
etc.
Indirect/intangible benefits – difficult to quantify, like; better decision making,
improved customer service, improved morale, improved goodwill, etc.
Payback period
Average Rate of Return (ARR)
Discounted Cash Flow (DCF)
Payback period
In payback period method, choose an option in which initial investment is
recovered more quickly. For example, select project P as per this criterion.
o Net Present Value (NPV) – calculate present value (PV) of all returns at
the time of investment, If NPV is positive; the option may be selected,
otherwise not.
o Internal Rate of Return (IRR) – it is a point where NPV is zero. Calculate
cost of capital and rate of return, select the option in which rate of return
is higher.
v. Operational feasibility
Determine the willingness and ability of management, employees, customer, and
supplier to support, operate, and use the system. It should not conflict the way in
which business is conducted.
Feasibility studies require use of some tools, which have been discussed in system
analysis.
Fact finding
Fact recording
Evaluation (strengths and weaknesses)
a. Organizational environment
b. Present system
c. System requirement
a. Organizational environment
b. Present system
c. System requirements
a. Organizational chart
Managing Director
Advantages are:
Advantages are:
Disadvantages are:
c. Onsite observation
It is a useful way of collecting and crosschecking information collected through other
means. In this analyst goes and observes the working in the actual environment.
Advantages are:
Disadvantages are:
Cannot observe everything, as some processes are not carried out frequently, e.g.
Zakat deduction in a bank, and accounts closing and dividend calculation in
organizations.
Person under observation feels uncomfortable.
Person under observation can mislead by doing things in a different manner.
d. Interview
This is the finest and the oldest but the most expensive method based on face-to-face
communication. Here few points must to be remembered:
Advantages are:
Face-to-face communication.
Firsthand information collection.
Verbal and nonverbal communication availability.
Instant clarification, if any confusion arises.
Disadvantages are:
Advantages are:
Disadvantages are:
f. Protocol analysis
It is a combination of observation and interview. The user carries out the operations
and explains whatever is done. This gives good understanding of the system to the
analyst.
Disadvantages are:
g. Questionnaire
Questionnaire on paper or electronic form can be used to collect information. There
are two types of questions:
Types of questionnaire
i. Fixed format – this has only close-end questions.
ii. Free format – this has both open-end and close-end questions.
Advantages are:
A good way to collect information from large and spread audience when
information requirements are well defined.
Users can fill up questionnaire at their convenience.
Disadvantages are:
i. Requirements creep
Requirements keep creeping in during and even after system’s completion. It is a
continuous process. Incorporate the necessary and possible requirements to make
system more strong.
Input screens or forms – to input the data in the system, e.g. students’ basic
data entry screen, students’ marks entry screen and so on.
Display screens – output screens that will provide information to users, e.g.
viewing student details on screen.
Forms – paper form which will be used to collect data for input, e.g. admission
forms.
Documents – different documents that will be generated by the system, e.g.
college card, or any other statement etc.
Reports – output on paper for internal and external consumption, e.g. No. of
admissions this month, fee collection reports and so on.
Interactive computer user dialogue – the messages the system shows to the
user for further action.
Audio responses – the system may have audio responses for guiding the user.
Make/Bespoke/Tailor-made/Custom-made
We can make our software, if there is development staff or we can find a
right software house to develop it for us. The options are called:
o In-house – developed inside the organization.
o Outsource – developed by some software house.
Buy/Ready-made
Excellent software suppliers are offering readymade software as per
industry needs. Organization always has an option of buying from these
suppliers. The two options are:
o Off-the-shelf/standard software – buy, install, and run these.
o Customized versions of standard software – buy, customize, and run.
User friendliness
Users want easy operations in all the hardware and software. This user friendliness is a
very important requirement of every system these days. This refers to easy to use, simple,
and quick interface providing efficient interaction of user with the machine and its
software. No matter you make or buy software, it has to be user friendly. User friendliness
includes:
a. Graphic User Interface (GUI) – should have WIMP (Windows Icons Mouse Pull-down
menus).
b. Ease of data entry for quick and accurate input:
i. Use same field titles as on manual forms.
ii. Use same sequence as on manual forms.
iii. Group data to separate different details.
iv. Use default entries, which are made automatically during input, e.g. date, city.
v. Use radio-buttons, which allow selection of one option from many.
vi. Use check-boxes incase multiple options selection is allowed for the user.
vii. Use drop-down list to help user to choose from predefined entries.
c. Multiple style working – must suit the working style of different user, e.g. working
through mouse, shortcut keys, menus, and wizards.
d. Escapability – user must be in control of the operations, e.g. user has an option to
cancel any operations’ execution, if it is to be aborted.
e. Customization – changes as per user’s convenience are allowed, e.g. in MS-Word you
can change menus and icons if you want.
f. On screen dialogue – conversational mode to guide user on system operations.
i. Layout forms
ii. Data Dictionary (DD)
iii. Entity Relationship Diagrams (ERD) or Logical Data Structure (LDS)
iv. Entity Life History (ELH) or Event model (EM)
v. Decision Tree
vi. Structured English/Text/Narratives or Pseudo code
vii. Decision Table
viii. Data Flow Diagram (DFD)
ix. Flow Charts (FC)
a. Construction or renovation
b. Acquisition
c. Software development or Programming
d. Training
e. Testing
f. Documentation
g. Conversion or Changeover
Now details:
a. Construction or Renovation
Construct and/or renovate the site/data center as per security environment (chapter:
IS Security).
b. Acquisition
Acquisition is a sensitive process, as there will be an outflow of funds, so great care
has to be taken here. There should proper evaluation done for all the vendors and
their products. We accquire mainly three things:
i. Hardware acquisition
ii. Software acquisition
iii. Services acquisition
The acquistion process may be done in one of two ways given below, depending on
the size of acquisition:
Evaluation process
Prepare evaluation forms mentioning the evaluation factors given. Use a scale from
one to ten and rank different vendors/products/services on different factors.
Summing up all the factors tells about the best one.
i. Hardware acquisition
Hardware is bought in any case as there will be no hardware development. Right
from a simple devices like mouse to high-end processors are bought after
evaluation. There options are:
New hardware – you can decide to purchase or get on lease (operating lease
or finance lease) the hardware.
Data entry
Insurance
Internet
Satellite connectivity
Disaster recovery
v. Vendor evaluation
All the vendors providing quotations or responding to Request for Proposal (RFP)
should be evaluated.
5. Training – check training will be provided or not, if yes, quality and cost of
training.
6. Backup – do they have similar equipment for emergency.
7. Accessability – should be in close vicinity, so that service is provided quickly.
8. Business position – financial health must be considered.
9. Hardware – wide variety of hardware should be available with vendor.
10. Software – wide variety of software should be available with vendor.
Coding
Coding is writing instructions in a computer language. This exercise requires using
a computer lanuage commands to be input to program the computer. Different
programming approaches, like, modular, structured, object oriented, and event
dirven may be used depeding on the assignmnet and skill of the development
team.
Debugging
During and after coding the process of removing errors is an important activity.
During coding different kinds of errors like, syntax, logical, and runtime are
detected and corrected to make program error free.
d. Training
Training is provided to develop competencies in users, as untrained or illtrained users
will destroy the sytem or may not be able to take full advantage of the system
features. It includes:
o Top management – several methods can be used for this level, like; informal
training (a note or a brief written for their awareness), semiformal traininig
(arranging a demonstration to explain the working), formal training (handson
experience on that application).
o Middle and supervisory management – for this level we always go for formal
training session. They should be given enough handson experience, so that
they are able to use system comfortably.
o Frontline staff – they are supposed to be highly trained, as they face the
customers. They are given formal and rigorous training to meet the customers
queries quickly.
e. Testing
Testing of system is the most important requirement to build confidence in the
system’s functionality. Proper testing requires looking at these important aspects:
Purpose of testing
Why to do testing is an important question. Until testing is done, one cannot be sure
of its functionality and usability. To confirm its working as per requirement, we do:
People involved
Testing should be done by many people, right from technical side to business side.
This will make testing more comprehensive and all aspects will be covered. Testing
should be carried by the following people:
Programmer – is the the first person to test the system. Programmers will check
their codes/programs as they have written it and they know the logic. It is their
responsibility to make it error free.
System Analyst/Desinger – this person is the next to test the system. Being the
designer, system analyst/designer must verify the functionality and usability of
the system.
Quality Control – quality control people will make sure that the system complies
with all the industry standards and/or quality standards the organization has
adopted.
Project Manager – being the incharge of the project, PM makes sure the product
is flawless and meeting the user needs, so that the job is done with utmost
satisfaction.
Operations Manager – IT/IS Manager is the operations manager. OM is
responsible for systems running, once the development and implementation is
over. To ensure least problems in the operation, OM goes for testing.
Users – the most important testing is performed by user, which is called User
Acceptance Testing (UAT). This person the ultimate user, so UAT has to be done
with users’ complete involvement and should be given enough time, to check all
areas of the system thoroughly. It is highly recommended in UAT to do Bulk
testing (put maximum load on the system). UAT is beneficial for the user as user
learns about:
Approaches
Approach refers to how to do testing, as any wrong or invalid approach can render
the whole process useless. Two powerful and popular approaches are used here to
ensure the comprehensiveness of the system:
Static – this include checking design diagrams, interfaces, and source code
(listings) reviews to ensure the system’s adequacy for the use.
Dynamic – here we run the system and do input, process, and output to check the
system from ‘cradle to grave’.
Stages
Testing is done in different stages, to make it more systematic and comprehensive.
Each stage provides assurance to go on with the next stage, at the end of last stage,
development team and user can be sure of what they have developed. Stages are:
During system testing integration and load testings have to be done to ensure that
the system has all the components working seamlessly and system is capable of
handing extreme data processing load.
Data
Testing requires data and data has to be carefully selected to test all the functionaly
and usability of the system. Inadequate data is very dangerous, as it will not expose
system’s limitations. Two types of data is selected:
Historical – this includes the past records, old data which is already processed.
Feed it, process, and produce output, comparion of new system result with old
reports will ensure system’s accuracy and completeness.
Dummy or Test data – this is not actual or live data, it can be generated manually
or through some specialized software called Computer Assisted Software Testing
(CAST). This software can generate data based on business. Data should be of
following types:
o Invalid – it should not be accepted by the system, feed and see system’s
reaction.
o Valid – it should be accepted and this must include:
Why test data? – the historical data may not have certain conditions, like,
invalid, exceptional, extreme, and unusual values.
f. Documentation
System documentation includes all working documents, reports, tools, and hardware
and software manuals. These documents are vital for system implementation,
operations, maintenance, updation, and upgradation. There are two types:
i. Internal
Internal documentation includes the working papers of programmers, which they
use for developing their logic and testing while programming. These are like
auditor’s working papers.
ii. External
External documentation is the one that is handed over to others to support their
working, there are two types:
g. Conversion/Changeover
Conversion is shifting to the new system. It is the conversion of the way everything is
done in the organization. It includes conversion of personnel, procedure, equipment,
I/O forms and database. Two points need to be considered at this stage:
Old and new systems’ data formats are same – field names, types, and lengths
are same. In this case just copy files in the new system and conversion is done.
Old and new systems’ data formats are not same – in this case, feed the
records, if there are few records. Incase of huge volume of data, write
conversion or translation program to convert old format data automatically
into new format.
Changeover
Changeover is switching to the new system. In this the existing system is discontinued
and user are shifted to the new system. There are four forms of changeover:
i. Parallel
Parallel methods involves running the old and new systems simultaneously and
checking the outputs produced by both systems. This is expensive but the safest
and the most recommended method, as incase of failure of new system, we can
continue working with the old system. This has two options:
Retrospective parallel running – the new system runs on data that has already
been processed by the old system. Existing results are available for cross
checking.
Restricted data running – a complete logical part of the whole system file
being chosen and run as a unit on the new system. If this part is working well
the remaining parts are then transferred in piece meal fashion.
iii. Pilot
iv. Phased
In very big setups, it is impossible to convert the whole organization at once, so
we do it in phases. Every phase, we convert some branches/departments and
move on to the last phase. For example, a bank has 1,000 branches, we can divide
this changeover into five phases:
1. Waterfall Apporoach
First Process Model to be introduced
Also referred to as a linear-sequential life cycle model
Any phase in the development process begins only if the previous phase is complete
Outcome of one phase acts as the input for the next phase sequentially.
2. Prototyping Approach
Building software application prototypes which displays the functionality of the
product under development
It enables to understand customer requirements at an early stage of development
It helps get valuable feedback from the customer and helps software designers and
developers understand about what exactly is expected from the product under
development.
Prototype types:
a) Throwaway prototyping – Throwaway or Rapid Prototyping refers to the creation of a
model that will eventually be discarded rather than becoming part of the final
delivered software.
b) Evolutionary prototyping – The main goal when using Evolutionary Prototyping is to
build a very robust prototype in a structured manner and constantly refine it.
c) Incremental prototyping – The final product is built as separate prototypes. At the end
the separate prototypes are merged in an overall design.
3. Iterative Approach
Process starts with a simple implementation of a small set of the software
requirements and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of
requirements. Instead, development begins by specifying and implementing just part
of the software, which is then reviewed to identify further requirements.
At each iteration, design modifications are made and new functional capabilities are
added.
This process is then repeated, producing a new version of the software at the end of
each iteration of the model.
4. Spiral Model
This Spiral model is a combination of iterative development process model and
sequential linear development model i.e. the waterfall model with a very high
emphasis on risk analysis.
It allows incremental releases of the product or incremental refinement through each
iteration around the spiral.
PROJECT MANAGEMENT
Project
An undertaking that has a beginning and an end is carried out to meet established goals within
cost, schedule, and quality objectives (Haynes, Project Management)
Project Management
Integration of all aspects of a project, ensuring that the proper knowledge and resources are
available when and where needed, and above all to ensure that the excepted outcome is
produced in a timely, cost-effective manner. The primary function of a project manager is to
manage the trade-offs between performance, timeliness, and cost.
1. Initiating processes
Defining and authorizing a project or project phase
Define the business need for the project, sponsor, project manager
2. Planning processes
Devising and maintaining a workable scheme to ensure that the project address the
organization’s needs.
Scope, time, cost, human resources, and other plans must be developed before any
work can be started.
This requires completing project scope statement, work breakdown structure,
schedule, cost estimates, resources to procure.
3. Executing processes
Executing processes include coordinating people and other resources to carry out the
plan and produce the product, services, or results.
5. Closing processes
Closing processes include formalizing acceptance of the project outcome and ending
it efficiently.
Administrative activities are often involved in this process group:
o Archiving project files
o Closing out contracts
o Documenting lessons learned
o Receiving formal acceptance