Principles of Information Systems, Sixth Edition Chapter 12 Chapter 12 Systems Investigation and Analysis At a Glance Instructor’s Manual Table of Contents Chapter Overview Chapter Outline Chapter Principles and Objectives Teacher Notes Quick Quizzes Teaching Tips Further Readings or Resources Discussion Questions Projects to Assign Key Terms 12-1 Principles of Information Systems, Sixth Edition Chapter 12 Chapter Overview Systems development is the activity of creating or modifying existing business systems. It refers to all aspects of the process, from identifying problems to be solved or opportunities to be exploited, to the implementation and refinement of the chosen solution. In order to effectively create an information system, a team consisting of stakeholders, managers, users, systems development specialists, and support personnel is required. The process begins with careful planning and the identification of problems and opportunities. After selecting those items requiring immediate attention, systems analysis can be conducted to determine user requirements and to understand the system currently in place. Successful systems development means that the system must be delivered on time and within budget and a variety of tools and techniques can be used to ensure that this occurs. Chapter Outline Lecture Topics An Overview of Systems Development Systems Development Lifecycles Factors Affecting Systems Development Success Systems Investigation Systems Analysis Page # 12-4 12-6 12-7 12-9 12-10 12-2 Principles of Information Systems, Sixth Edition Chapter 12 Chapter Principles and Objectives Principles Effective systems development requires a team effort of stakeholders, users, managers, systems development specialists, and various support personnel, and it starts with careful planning. Learning Objectives Systems development often uses tools to select, implement, and monitor projects, including net present value (NPV), prototyping, rapid application development, CASE tools, and object-oriented development. Systems development starts with investigation and analysis of existing systems. Identify the key participants in the systems development process and discuss their roles. Define the term information systems planning and list several reasons for initiating a systems project. Identify important system performance requirements for applications that run on the Internet or a corporate intranet or extranet. Discuss three trends that illustrate the impact of enterprise resource planning software packages on systems development. Discuss the key features, advantages, and disadvantages of the traditional, prototyping, rapid application development, and end-user systems development life cycles. Identify several factors that influence the success or failure of a systems development project. Discuss the use of CASE tools and the object oriented approach to systems development. State the purpose of systems investigation. Discuss the importance of performance and cost objectives. State the purpose of systems analysis and discuss some of the tools and techniques used in this phase of systems development. 12-3 Principles of Information Systems, Sixth Edition Chapter 12 Teacher Notes An Overview of Systems Development Systems development is the process of transforming organizational problems or opportunities into information technology enabled solutions. The following table summarizes its primary participants: Participants in Systems Development: Stakeholders Users Systems analyst Programmer In the context of systems development, stakeholders are individuals who, either themselves or through the area of the organization they represent, benefit from the systems development project. Users are individuals who will interact with the system regularly. They can be employees, managers, or suppliers. A systems analyst is a professional who specializes in analyzing and designing business systems. Systems analysts play various roles while interacting with the stakeholders and users, management, vendors and suppliers, external companies, software programmers, and other IS support personnel. The programmer is responsible for modifying or developing programs to satisfy user requirements. Like a contractor constructing a new building or renovating an existing one, the programmer takes the plans from the systems analyst and builds or modifies the necessary software. Initiating Systems Development Systems development begins when an individual or group capable of initiating organizational change perceives a need for a new or modified system. Such individuals have a stake in the development of the system. Systems development initiatives arise from all levels of an organization and are both planned and unplanned. Solid planning and managerial involvement helps ensure that these initiatives support broader organizational goals. Information Systems Planning The term information systems planning, refers to the translation of strategic and organizational goals into systems development initiatives. Proper IS planning ensures that specific systems development objectives support organizational goals. Developing a Competitive Advantage In today’s business environment, many companies seek systems development projects that will provide them with a competitive advantage. Thinking competitively usually requires both creative and critical analysis. Creative analysis involves the investigation of new approaches to existing problems. By looking at problems in new or different ways and by introducing innovative methods to solve them, many firms have gained a competitive advantage. Critical analysis requires unbiased and careful questioning of whether system elements are related in the most effective or efficient ways. It involves considering the establishment of new or different relationships among system elements and perhaps introducing new elements into the system. Critical analysis in systems development involves the following actions: 12-4 Principles of Information Systems, Sixth Edition Critical Analysis Actions: Chapter 12 Going beyond automating manual systems. Questioning statements and assumptions. Identifying and resolving objectives and orientations that conflict. Establishing Objectives for Systems Development The overall objective of systems development is to achieve business goals by delivering the right information to the right person, in the right format, at the right time. The impact a particular system has on an organization’s ability to meet its goals determines its true value. Regardless of the particular systems development effort however, the development process should define a system with specific performance and cost objectives. Trends in Systems Development and Enterprise Resource Planning An important trend in systems development and the use of ERP systems is that companies wish to stay with their primary ERP vendor instead of looking elsewhere for answers to their data warehousing and production planning needs, or developing in-house solutions. Thus, they look to their original ERP vendor to provide these solutions. A second trend is that many software vendors are building software that integrates with the ERP vendor’s package. A third interesting trend is the increase in the number of companies that, once they have successfully implemented their own company’s ERP project, are branching out to provide consulting to other companies. Quick Quiz 1. Another name for the individuals who ultimately benefit from systems development projects is _____. ANSWER: stakeholders 2. Who is responsible for modifying or developing programs to satisfy user requirements? ANSWER: The programmer 3. Which systems play a pivotal role in an organization’s continued operations and goal attainment? ANSWER: Mission-critical systems 4. The investigation of new approaches to existing problems is referred to as _____. ANSWER: creative analysis 5. What two sets of objectives are important to a systems development project? ANSWER: Cost and performance 12-5 Principles of Information Systems, Sixth Edition Chapter 12 Systems Development Lifecycles The systems development process is also called a systems development life cycle (SDLC) because the activities associated with it are ongoing. The life of the system continues as it is maintained and reviewed and if it needs significant improvement beyond the scope of maintenance, if it needs to be replaced because of a new generation of technology, or if the IS needs of the organization change significantly, a new project will be initiated and the cycle will start over. Four common systems development life cycles exist: traditional, prototyping, rapid application development (RAD), and end-user development. The traditional systems development life cycle is as follows: Traditional Systems Development Life Cycle Steps: 1. 2. 3. 4. 5. Systems Investigation Systems Analysis Systems Implementation Systems Maintenance System Review The traditional SDLC allows for a large degree of management control. At the end of each phase, a formal review is performed and a decision is made whether to continue with the project, terminate it, or perhaps repeat some of the tasks of the current phase. Use of this life cycle also creates a lot of documentation, which if kept current, can be useful when modifying the system. The traditional SDLC also ensures that every system requirement can be related to a business need. In addition, resulting products can be reviewed to verify that they satisfy the system requirements and conform to organizational standards. A major problem with this life cycle however, is that the user does not have access to the solution until the system is nearly complete. It is also inflexible as changes in user requirements cannot be accommodated during development. Prototyping takes an iterative approach to the systems development process. During each iteration, requirements and alternative solutions to the problem are identified and analyzed, new solutions are designed, and a portion of the system is implemented. Users are then encouraged to try the prototype and provide feedback. One advantage of this approach is that an operational prototype can be constructed in weeks. It also allows for early error and omission detection. Disadvantages include incomplete or absent documentation, the fact that backup and recovery, performance, and security issues may be overlooked, and that lack of reviews may create never-ending projects. Rapid application development (RAD) employs tools, techniques, and methodologies designed to speed application development. It is advantageous because it combines the structure of the traditional SDLC with the speed of prototyping. It also produces good documentation and stimulates teamwork between users and stakeholders. RAD’s disadvantages include: high developer burnout rates and the requirement of a larger percentage of the stakeholder’s and users’ time. The end-user SDLC has both positive and negative aspects. On the positive side, systems are sometimes developed more quickly because end-users believe they have solid knowledge of their own needs. On the negative side, many systems fail due to lack of expertise and may not integrate well with other applications. 12-6 Principles of Information Systems, Sixth Edition Chapter 12 Quick Quiz 1. Which SDLC results in the highest degree of user participation? ANSWER: End-user SDLC 2. What are the primary advantages of the traditional SDLC? ANSWER: Managerial control and structure 3. What is a key aspect of prototyping? ANSWER: Iteration 4. What is the term used to describe a process for data collection and requirements analysis? ANSWER: Join application development (JAD) Factors Affecting Systems Development Success Successful systems development means delivering a system that meets user and organizational needs on time and within budget. Systems development leaders have identified the following factors that can contribute to successful systems development efforts at a reasonable cost: Successful Systems Development Effort 1. 2. 3. 4. 5. Degree of change Quality of standards The capability maturity model (CMM), Use of project management tools Use of computer-aided software engineering (CASE) tools A major factor that affects the quality of systems development is the degree of change associated with the project. The scope can vary from implementing minor enhancements to an existing system to major reengineering. The project team needs to recognize where they are on this spectrum of change. Another key success factor is the quality of project planning as the bigger the project, the more likely it is that poor planning will lead to significant problems. Project management tools are necessary when creating a successful system. Through the use of project schedules that include milestones, critical paths, and deadlines, systems development is tracked and monitored. One way to create a schedule is through program evaluation and review techniques. These techniques use Pert and Gantt charts to plan, monitor, and coordinate projects. Computer-aided software engineering (CASE) tools automate tasks needed in systems development. The following tools are designed to support the entire lifecycle: upper, lower, and integrated CASE tools. Upper CASE focuses on activities that take place during the early stages of systems development while lower CASE targets activities that take place during the later of the project. Integrated packages provide the link between upper and lower CASE. Object-oriented systems development uses the logic of the SDLC but has the power of an object-oriented model or program. The following steps are normally adhered to: 12-7 Principles of Information Systems, Sixth Edition 1. OO Systems Development: 2. 3. 4. 5. 6. Chapter 12 Identify the potential problems and opportunities in the organization that are appropriate for the OO approach. Define what kind of system the users require. Design the system. Program or modify the program modules. Allow the users to test and evaluate and then fix it until the system gains their approval. Set up periodic reviews and modify the system as needed. Quick Quiz 1. What is the term used to describe a detailed description of the tasks that need to be done? ANSWER: Project schedule 2. The critical date for the completion of a major part of the project is referred to as a(n) _____. ANSWER: milestone. 3. What is a formalized approach for developing a project schedule? ANSWER: Program evaluation and review technique (PERT) 12-8 Principles of Information Systems, Sixth Edition Chapter 12 Systems Investigation Systems investigation is the first phase in the traditional SDLC of a new or modified business information system. The purpose is to identify potential problems and opportunities and consider them in light of the goals of the company. In general, systems investigation attempts to uncover answers to the following questions: Systems Investigation 1. What primary problems might a new or enhanced system solve? 2. What opportunities might a new or enhanced system provide? 3. What new hardware, software, databases or procedures will improve an existing system? 4. What are the potential costs (variable and fixed)? 5. What are the associated risks? Once a decision has been made to initiate systems investigation, the first step is to determine what members of the development team should participate in the investigation phase of the project. Ideally, functional managers are heavily involved. Other members could include users or stakeholders outside of management. The members of the development team, who participate in the investigation, are then responsible for gathering and analyzing data, preparing a report justifying systems development, and presenting the results to top-level managers. A key step of the systems investigation phase is feasibility analysis, which assesses technical, economic, legal, operational, and schedule feasibility. Technical feasibility assesses whether the hardware, software, and other systems components can be acquired or developed to solve the problem. Operational feasibility measures if a project has the ability to be put into action. Schedule feasibility determines if a project can be accomplished within a reasonable time period and economic feasibility decides if the project is a financially sound investment. Lastly, legal feasibility determines if there are laws that prevent or limit the project. The primary outcome of systems investigation is a systems investigation report, which summarizes the results of the investigation and the process of feasibility analysis. It also recommends a course of action: continue on into systems analysis, modify the project in some manner, or drop it. The systems investigation report is then reviewed by senior management, often organized as an advisory committee, or steering committee, consisting of senior management and users from the IS department and other functional areas. Quick Quiz 1. What type of feasibility is concerned with whether the project can be completed on time? ANSWER: Schedule 2. What type of feasibility is concerned with whether the project makes financial sense? ANSWER: Economic 3. What type of feasibility is concerned with whether the project violates particular laws or regulations? ANSWER: Legal 12-9 Principles of Information Systems, Sixth Edition Chapter 12 Systems Analysis Systems analysis starts by clarifying the overall goals of the organization and determining how the existing or proposed information system helps meet them. Analysis of a small company’s information system can be fairly straightforward. On the other hand, evaluating an existing information system for a large company can be a long, tedious process. As a result, large organizations evaluating a major information system normally follow a formalized analysis procedure, involving the following steps: Analysis Procedure 1. Assembling the participants for systems analysis 2. Collecting appropriate data and requirements 3. Analyzing the data and requirements 4. Preparing a report on the existing system, new system requirements, and project priorities The first step in formal analysis is to assemble a team to study the existing system. This group includes members of the original development team, from users and stakeholders to IS personnel and management. Once the participants have gathered, a list of specific objectives and activities is developed. The purpose of data collection is to seek additional information about the problems or needs identified in the systems investigation report. During this process, the strengths and weaknesses of the existing system are emphasized and the following techniques are used: interviewing, observation, questionnaire distribution, and sampling. The data collected in its raw form is usually not adequate to determine the effectiveness and efficiency of the existing system or the requirements for the new one. The next step is to manipulate the data collected so that it becomes useful to the members of the development team. This manipulation is called data analysis. Data and activity modeling using data-flow and entity-relationship diagrams, are useful during data analysis to show the relationships among various objects, associations, and activities. Other common tools and techniques include application flowcharts, grid charts, and CASE tools. The overall purpose of requirements analysis is to determine user, stakeholder, and organizational needs. The techniques used include: asking directly, using critical success factors, specifying screen and report layout, and using requirement analysis tools. Systems analysis concludes with a formal systems analysis report, which should cover the following elements: Systems Analysis Report 1. The strengths and weaknesses of the existing system from a stakeholder’s perspective 2. The user/stakeholder requirements for the new system 3. The organizational requirements for the new system 4. A description of what the new information system should do to solve the problem 12-10 Principles of Information Systems, Sixth Edition Chapter 12 Quick Quiz 1. A(n) _____ models objects, associations, and activities by describing how data can flow between and around various objects. ANSWER: data-flow diagram (DFD) 2. _____ flowcharts show the relationships among applications or systems. ANSWER: Application 3. _____ is a technique that allows a designer to quickly and efficiently design the features, layout, and format of a display screen. ANSWER: Screen layout 12-11 Principles of Information Systems, Sixth Edition Chapter 12 Teaching Tips Invite a systems developer to provide a class presentation. Most university computing centers have systems developers on staff. Coordinate with a systems analysis course instructor so that when semester projects are presented, your class can attend. Demonstrate a CASE tool in class. Many demos are available on the Internet. Demonstrate project management software in class. Invite a CASE tool sales representative to do a classroom presentation of his/her software. Use a class session to gather information about a system that is familiar to students (e.g. course registration). Use some questionnaires, some interviews, and even direct observation of users if possible. Have a brainstorming session to determine information systems projects that would help improve the university. Fill out some systems investigation forms to finish up the exercise. Perform an in-class exercise using various life cycles. If possible, compare the results derived using various approaches. Further Readings or Resources Readings Highsmith III, J.A. 1999. Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Dorset House. Weinberg, G.M. 1998. The Psychology of Computer Programming : Silver Anniversary Edition. Dorset House. Zahran, S. 1998. Software Process Improvement : Practical Guidelines for Business Success (Sei Series in Software Engineering). Addison-Wesley. Discussion Questions Some interesting topics of discussion in this chapter include the following: Why are SDLCs important? Discuss feasibility issues relating to systems development projects currently being considered by the university. Projects to Assign 1. 2. 3. Assign Review Questions: 1, 3, 10, 13, and 16. Assign Problem Solving Exercise 3. Assign Team Activity 1 or Web Exercise 2 or Case 2. 12-12 Principles of Information Systems, Sixth Edition Chapter 12 Key Terms Computer-aided software engineering (CASE) - tools that automate many of the tasks required in a systems development effort and enforce adherence to the SDLC. Critical path - activities that, if delayed, would delay the entire project. Data analysis - manipulation of the collected data so that it is usable for the development team members who are participating in systems analysis. Mission-critical systems - systems that play a pivotal role in an organization’s continued operations and goal attainment. Prototyping - an iterative approach to the systems development process. Stakeholders - individuals who, either themselves or through the area of the organization they represent, ultimately benefit from the systems development project. 12-13