Building a new information system is one kind of planned organizational change. The introduction of a new information system involves much more than new hardware and software.
Systems Development And Organizational Change
Information technology can promote various degrees of organizational change, ranging from incremental to far-reaching. There are four kinds of structural organizational change that are enabled by information technology:
- automation – assist employees with performing their tasks more efficiently and effectively.
- rationalization – a deeper form of organizational change and one that follows quickly from early automation
- business process redesign – business processes are analyzed, simplified, and redesigned
- paradigm shifts – involves rethinking the nature of the business and the nature of organization. Each carries different risks and rewards.
Business Process Redesign
Business process management provides a variety of tools and methodologies to analyze existing processes, design new processes, and optimize those processes. It has to go through the following steps:
- Identify processes for change: managers need to detrmine what business processes are the most important and how improving these processes will help business performance.
- Analyze existing processes: existing business processes should be modeled and documented, noting inputs, outputs, resources, and the sequence of activities.
- Design the new process: once the existing process is mapped and measured in terms of time and cost, the process design team will try to improve the process by designing a new one. A new streamlined “to-be” process will be documented and modeled for comparison with the old process.
- Implement the new process: new information systems or enhancements to existing systems may have to be implemented to support the redesigned process.
- Continuous measurement: once a process have been implemented and optimized, it needs to be continually measured because they may lose their effectiveness if the business experiences other changes or deteriorate over time as employees fall back on old methods.
Overview of Systems Development
The activities that go into producing an information system solution to an organizational problem or opportunity are called systems development. Systems development is a structured kind of problem solved with distinct activities such as analysis, systems design, programming, testing, conversion, and production and maintenance.
Systems Analysis – the analysis of a problem that a firm tries to solve with an information system. It also includes a feasibility study to determine whether that solution is feasible or achievable, from a financial, technical, and organizational standpoint.
Establishing Information Requirements – it carefully defines the objectives of the new or modified system and develops a detailed description of the functions that the new system must perform.
Systems Design – shows how the system will fulfill this objective. The design of an information system is the overall plan or model for that system.
The Role of End Users – users must have sufficient control over the design process to ensure that the system reflects their business priorities and information needs, not the biases of the technical staff.
Completing The Systems Development Process
The remaining steps in the systems development process translate the solution specifications established during system analysis and design into a fully operational information system. They are
- Programming – system specifications that were prepared during the design stage are translated into software program code.
- Testing – conducted thoroughly to ascertain whether the system produces the right results.
- Conversion – the process of changing from the old system to the new system.
- Production and Maintenance – after the new system is installed and conversion is complete, the system is said to be in production. Changes in hardware, software, documentation, or procedures to a production system to correct errors, meet new requirements, or improve processing efficiency are termed maintenance.
Modeling And Designing Systems: Structured And Object-Oriented Methodologies
There are alternative methodologies for modeling and designing systems. Structured methodologies and object-oriented development are the most prominent.
Structured methodologies have been used to document, analyze, and design information systems since the 1970s. It refers to the fact that the techniques are step by step, with each step building on the previous one. They are top-down, progressing from the highest, most abstract level to the lowest level of detail – from the general to the specific. Process specifications describe the transformation occurring within the lowest level of the data flow diagrams. They express logic for each process. The structure chart is a top-down chart, showing each level of design, its relationship to other levels, and its place in the overall design structure.
Fig. High-Level Structure Chart for a Payroll System
Object-oriented development addresses these issues. It uses the object as the basic unit of systems analysis and design. An object combines data and the specific processes that operate on those data.
Fig. Class And Inheritance
Computer-Aided Software Engineering
Computer-aided software engineering (CASE) – sometimes called computer-aided systems engineering, provides software tools to automate the methodologies we have just described to reduce the amount of repetitive work the developer needs to do. CASE tools also facilitate the creation of clear documentation and the coordination of team development efforts.
Alternative Systems-Building Approaches
Traditional Systems Life Cycle
The systems life cycle is the oldest method for building information systems. The life cycle methodology is a phased approach to building a system, dividing systems development into formal stages. The systems life cycle is still used for building large complex systems that require a rigorous and formal requirements analysis, predefined specifications, and tight controls over the system-building process.
Prototyping consists of building an experimental system rapidly and inexpensively for end users to evaluate. The prototype is a working version of an information system or part of the system, but it is meant to be only a preliminary model.
Steps in Prototyping
Step 1: Identify the user’s basic requirements.
Step 2: Develop an initial prototype.
Step 3: Use the prototype.
Step 4: Revise and enhance the prototype.
Fig. The Prototyping Process
Some types of information systems can be developed by end users with little or no formal assistance from technical specialists. This phenomenon is called end-user development. A series of software tools categorized as fourth-generation languages makes this possible. Fourth-generation languages are software tools that enable end users to create reports or develop software applications with minimal or no technical assistance. Query languages are software tools that provide immediate online answers to requests for information that are not predefined.
Application Development For the Digital Firm
In the digital firm environment, organizations need to be able to add, change, and retire their technology capabilities very rapidly to respond to new opportunities. Companies are starting to use shorter, more informal development processes that provide fast solutions.
Rapid Application Development (RAD)
The term rapid application development (RAD)is used to describe this process of creating workable systems in a very short period of time. RAD can include the use of visual programming and other tools for building graphical user interfaces, iterative prototyping of key system elements, the automation of program code generation, and close teamwork among end users and information systems specialists. Sometimes a technique called joint application design (JAD) is used to accelerate the generation of information requirements and to develop the initial systems design. Properly prepared and facilitated, JAD sessions can significantly speed up the design phase and involve users at an intense level. Agile development focuses on rapid delivery of working software by breaking a large project into a series of small subprojects that are completed in short periods of time using iteration and continuous feedback.
Component-based Development and Web Services
To further expedite software creation, groups of objects have been assembled to provide software components for common functions such as a graphical user interface or online ordering capability that can be combined to create large-scale business applications. This approach to software development is called component-based development, and it enables to a system to be built by assembling and integrating existing software components. Web servicescan provide significant cost savings in systems building while opening up new opportunities for collaboration with other companies.