6.3 Factors Affecting Systems Development Success

Successful systems development means delivering a system that meets user and
organizational needs on time and within the budget. Years of experience in completing
systems development projects have resulted in the identification of number of factors
that contribute to the success or failure of system development. These factors include
the degree of change involved with the project, quality of the project planning,
Organizational experience with the systems development process and use of computeraided
software engineering tools.

6.3.1 Degree of Change

The degree of change associated with the project is a major factor that affects the
quality of systems development. The scope can vary from implementing minor
changes to an existing system to major changes involving reengineering. It is very
important for the project team to recognize where they are on this spectrum of change.

Let’s look at the following two project types:
  1. Continuous Improvement project
  2. Major Business Process Reengineering projects
Continuous Improvement projects Versus Major Business Process Reengineering projects


The degree of change can greatly affect the probability of a project’s success.


Managing Change

Ability to manage change is a critical factor to the success of Information Systems
development. The Development of new information systems will invariably affect the work
environment and habits of users. It is unfortunate to note that, not everyone adapts easily to
these changes. This problem will multiply with the increasing complexity of systems.

Managing change requires the ability to recognize existing or potential problems, particularly
ones that are concerns of users and deal with them before they become a serious threat to
the success of the new or modified system.

Several of the most common problems are listed below.

1.An Employee may feel that he/she will loose his/her job, power , or influence within the organization.
2.Some employees may be reluctant to work with computers and computer staff.
3.The staff may believe that the proposed system will create more work than it
eliminates.
4.The staff may be worried that the proposed system will negatively alter the
structure of the organization.
5.The staff may not be willing to learn new procedures or approaches.
6.The staff may believe that other problems are more pressing than those solved
by the proposed system.
7.The staff may be worried that the system is being developed by people
unfamiliar with the way things need to get done.

Coordinating effort from all those who are involved or who have interest in the
Information System being developed, is needed to prevent or deal with these type of
problems. One remedy is simply to talk with all the people concerned and identify their
biggest concerns. Subsequently the management can deal with those concerns and try
to eliminate them. Once these immediate concerns are addressed, people can become
part of the project team.

6.3.2 Quality of Project Planning

Another key factor that contributes to the success of system development is the quality
of project planning. When the project is bigger, it is more likely that poor planning will
lead to significant problems.

Poor systems development planning can be deadly.

Eg. A federal jury found that a company developed navigational software that was
partly responsible for an air plane crash near Cali, Colombia.

Failures of large system projects are due to the following reasons.
  1. Fall behind schedule
  2. Exceed budget
  3. Do not meet expectations
Proper planning can minimize the likelihood of occurrence of these type of problems.

Some factors that contribute to the failure of system development project with
countermeasures to eliminate them are summarized below.


6.3.2.1 Project Management Tools

Project management is the process of planning, scheduling, directing, controlling and
the development of an acceptable system at a minimum cost within a specified time
frame. Even for small systems development projects, some type of project
management must be undertaken.

Although the steps of systems development seem straightforward, larger projects
can become complex, requiring hundreds of separate activities. For these systems
development efforts, formal project management methods and tools become
essential.

A PERT (Program Evaluation and Review Technique) chart is a graphical network
model that shows a project’s activities and the relationships between those activities.
It is a formalized approach to develop a project schedule.


A Gantt chart is a simple horizontal bar chart that shows project tasks against a
calendar. Each bar represents a named project task. It is used for planning,
monitoring, and coordinating projects.


Both PERT and Gant techniques can be automated using project management
software.

Several Project management software packages are given below.


6.3.3 Organizational Experience with the Systems Development Process

Another key factor that contributes to the success of system development is the
Organizational Experience with the Systems Development Process. One way to
measure this experience is the Capacity Maturity Model (CMM). CMM is a
standardized framework for assessing the maturity level of an organization’s
software development process. CMM is organized into five maturity levels.


Level 1- Initial: At this level system development projects do not follow a consistent
process. Each development team uses its own tools and methods. Skills and
experiences of the team determine whether the project is successful or not. A project
typically encounters many crises and is frequently over budgeted and behind
schedule. Documentation is irregular or not consistent from one project to the next,
thus creating problems for those who must maintain a system over its lifetime.
Almost all organizations start at level1.

Level 2- Repeatable: At this level, project management processes and practices are
established to track project costs, schedules and functionality. The focus is on
project management. Although a system development process is always followed, it
may vary from project to project. Success or failure is still a function of the skills and
experiences of the project team. However strenuous effort is made to repeat earlier
project successes. Effective project management practices lay the foundation for
standardized processes in the next level.

Level 3- Defined: In this level, a standard system development process (Sometimes
called a methodology) is purchased or developed. A tailored version of this process
is used for all the projects to develop and maintain information systems and
software. As a result of using the standardized system development processes for all
projects, each project results in consistent and high quality deliverables and
documentation.

Level 4- Managed: In this level, organizations use detailed measures of the system
development process. This will help the organization to manage the process and
improve software and system quality.

Level 5- Optimized: In this level all aspects of the system development process is
continuously monitored and improved.

It is very important to recognize that each level is a prerequisite for the next
level.

6.3.4 Use of Computer-Aided Software Engineering (CASE) Tools

They are tools design to automate many of the tasks required in a systems
development. CASE tools also enforce adherence to the systems development life
cycle. Think of CASE tools as software that is used to design and implement other
software.

Typical Case tools and their providers are given below.


Advantages and Disadvantages of using CASE Tools in Systems Development are
listed below.


6.2 Systems Development Life Cycle

It is a another name given for systems development process. The following diagram
illustrate the system development life cycle and its main phases.

6.2.1 Traditional System Development Life Cycle


Some times, information learned in a particular phase requires cycling back to previous
phase.



6.2.2. Prototyping

Prototyping takes an iterative approach during the systems development
life cycle.

The following activities take place during each iteration of the life cycle.
  1. Requirements are identified and analyzed
  2. Alternative Solutions are identified and analyzed
  3. New solutions are designed
  4. Portion of the system is also implemented
  5. Users are encouraged to use the prototype and provide feed back
At the beginning either you develop an initial model of a major subsystem or scale down
version of the entire system.

Eg. Prototype develop to show the screen images of the entire system. Initial processing
activities will be simulated. You will refine it gradually to build the actual system.
Visual Basic is considered as a good language for prototyping.

Initial preliminary model will be polished to form the next generation prototype. This process
continues until the final system is developed.


6.2.3. Rapid Application Development (RAD)

Tools, techniques methodologies are used in this popular approach to speed up the
development. It uses structured prototyping.

RAD is the merger of various structured techniques with prototyping techniques and Joint
Application Development (JAD) techniques to accelerate systems development.

Joint Application Development emphasize participative development among
users, and others involved with the system.

RAD is considered as most suitable for Decision Support Systems and Management
Information systems.

Other approaches to rapid development such as Agile Development or Extreme
programming (XP), allow system modifications while they are been developed.

6.2.4. End-User Systems Development

The term end-user systems development describes any systems development project in
which the primary effort is undertaken by a combination of business managers and users.

The flexibility of many packaged software programs available in the market has also
enabled non IS employees to develop solutions to meet their requirements. Employees who
develop their own systems believe that by bypassing formal requests to the IS department
stating the required needs and resources, they are able to develop systems more quickly.

Furthermore, they believe they have a clear idea as to what is required and therefore able to
develop systems that match their requirements.

End-user development projects can vary from the size. Some may be very minor projects
such as the development of an additional report. There can also be projects with significant
organizational value such as development of a system to monitor on-line customer contacts.
Two disadvantages of end-user development are lack of training to effectively develop and
test a system and poor documentation. Lack of documentation can lead to errors when
these systems are updated.

However, due to the importance of some of the end-user developments many IS
organizations help end-user development by providing them with necessary resources.

6.2.5 Outsourcing Systems for System Development

The term outsourcing means the practice of turning over part or all of an organisations IS
functions to external service providers for a fee. Organisations can outsource its software
development rather than developing it internally. There are advantages as well as
disadvantages of outsourcing. However, many organisations consider it as a cost effective
approach.

Infolinks In Text Ads

EasyHits4U.com - Your Free Traffic Exchange - 1:1 Exchange Ratio, 5-Tier Referral Program. FREE Advertising!