Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques OPENING CASE STUDY • Developing Enter the Matrix • It took over four years to develop Enter the Matrix videogame based on the movie The Matrix • New technological features include motion capture, virtual modeling, action, and zoom • The movie industry is releasing video games on the same date as movies 6-2 OPENING CASE STUDY • Building new systems, such as Enter the Matrix, is the focus of this chapter • Information systems are developed using the systems development life cycle • Information systems are developed through either insourcing, selfsourcing, or outsourcing 6-3 STUDENT LEARNING OUTCOMES 1. List the seven steps in the systems development life cycle and an associated activity for each step 2. Describe three keys to success you can use to help ensure a successful systems development effort 3. Define the three different ways you can staff a systems development project 6-4 STUDENT LEARNING OUTCOMES 4. List the three advantages of selfsourcing 5. Describe prototyping and profile an example of a prototype 6. Describe the five advantages of prototyping 7. Describe the outsourcing process and the current trend toward offshore outsourcing 6-5 INTRODUCTION • Information systems are the support structure for meeting the company’s strategies and goals • Information systems help knowledge workers perform their jobs 6-6 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems 6-7 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE 6-8 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE • Three choices for building a system include: – IT specialists within your organization insourcing – Knowledge workers such as yourself – selfsourcing – Another organization – outsourcing 6-9 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE 6-10 Phase 1: Planning • • Planning phase - involves determining a solid plan for developing your information system Three primary planning activities: 1. Define the system to be developed • Critical success factor (CSF) - a factor simply critical to your organization’s success 6-11 Phase 1: Planning 2. Set the project scope • • Project scope - clearly defines the high-level system requirements Project scope document - a written definition of the project scope and is usually no longer than a paragraph 6-12 Phase 1: Planning 3. Develop the project plan including tasks, resources, and timeframes • Project plan - defines the what, when, and who questions of system development 6-13 Phase 1: Planning • Your role during planning – Defining which systems to develop – Developing the project plan • Project manager - an individual who is an expert in project planning and management, defines and develops the project plan and tracks the plan to ensure all key project milestones are completed on time 6-14 Phase 2: Analysis • • Analysis phase - involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system The primary analysis activity: 1. Gather the business requirements • Business requirements - the detailed set of knowledge worker requests that the system must meet in order to be successful 6-15 Phase 2: Analysis • Joint application development (JAD) - knowledge workers and IT specialists meet, sometimes for several days, to define or review the business requirements for the system • Requirements definition document – prioritizes the business requirements and places them in a formal comprehensive document • Sign-off - the knowledge workers’ actual signatures indicating they approve all of the business requirements 6-16 Phase 2: Analysis 6-17 Phase 3: Design • • Design phase - build a technical blueprint of how the proposed system will work Two primary design activities: 1. Design the technical architecture required to support the system • Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system 6-18 Phase 3: Design 2. Design system models • • • Modeling - the activity of drawing a graphical representation of a design Graphical user interface (GUI) - the interface to an information system GUI screen design - the ability to model the information system screens for an entire system 6-19 Phase 4: Development • • Development phase - take all of your detailed design documents from the design phase and transform them into an actual system Two primary development activities: 1. Build the technical architecture 2. Build the database and programs 6-20 Phase 5: Testing • • Testing phase - verifies that the system works and meets all of the business requirements defined in the analysis phase Two primary testing activities: 1. Write the test conditions • Test conditions - the detailed steps the system must perform along with the expected results of each step 6-21 Phase 5: Testing 2. Perform the testing of the system • • • • Unit testing – tests individual units of code System testing – verifies that the units of code function correctly when integrated Integration testing – verifies that separate systems work together User acceptance testing (UAT) – determines if the system satisfies the business requirements 6-22 Phase 6: Implementation • • Implementation phase - distribute the system to all of the knowledge workers and they begin using the system to perform their everyday jobs Two primary implementation activities 1. Write detailed user documentation • User documentation - highlights how to use the system 6-23 Phase 6: Implementation 2. Provide training for the system users • • Online training - runs over the Internet or off a CD-ROM Workshop training - is held in a classroom environment and lead by an instructor 6-24 Phase 7: Maintenance • • Maintenance phase - monitor and support the new system to ensure it continues to meet the business goals Two primary maintenance activities: 1. Build a help desk to support the system users • Help desk - a group of people who responds to knowledge workers’ questions 2. Provide an environment to support system changes 6-25 SELFSOURCING AND PROTOTYPING • Selfsourcing (also called knowledge worker development or end user development) - the development and support of IT systems by knowledge workers with little or no help from IT specialists 6-26 The Selfsourcing Process • The advantages of selfsourcing – Improves requirements determination – Increases knowledge worker participation and sense of ownership – Increases speed of systems development 6-27 The Selfsourcing Process • Potential pitfalls and risks of selfsourcing – Inadequate knowledge worker expertise leads to inadequately developed systems – Lack of organizational focus creates “privatized” IT systems – Insufficient analysis of design alternatives leads to subpar IT systems – Lack of documentation and external support leads to short-lived systems 6-28 PROTOTYPING • Prototyping - the process of building a model that demonstrates the features of a proposed product, service, or system • Prototype - a model of a proposed product, service, or system • Proof-of-concept prototype - used to prove the technical feasibility of a proposed system • Selling prototype - used to convince people of the worth of a proposed system 6-29 OUTSOURCING • Developing strategic partnerships • Outsourcing - the delegation of specific work to a third party for a specified length of time, at a specified cost, and at a specified level of service 6-30 The Outsourcing Process 6-31 The Outsourcing Process – an RFP 6-32 Offshore Outsourcing Offshore outsourcing - using organizations from other countries to write code and develop systems 6-33 The Advantages of Outsourcing • • • • • • Focus on unique core competencies Exploit the intellect of another organization Better predict future costs Acquire leading-edge technology Reduce costs Improve performance accountability 6-34 The Disadvantages of Outsourcing • Reduces technical know-how for future innovation • Reduces degree of control • Increases vulnerability of strategic information • Increases dependency on other organizations 6-35 CAN YOU… 1. List the seven steps in the systems development life cycle and an associated activity for each step 2. Describe three keys to success you can use to help ensure a successful systems development effort 3. Define the three different ways you can staff a systems development project 6-36 CAN YOU… 4. List the three advantages of selfsourcing 5. Describe prototyping and profile an example of a prototype 6. Describe the five advantages of prototyping 7. Describe the outsourcing process and the current trend toward offshore outsourcing 6-37 CHAPTER 6 End of Chapter 6