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 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 3 INTRODUCTION • Information systems are the support structure for meeting the company’s strategies and goals • Information systems help knowledge workers perform their jobs 4 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems 5 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE 6 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 7 INSOURCING AND THE SYSTEMS DEVELOPMENT LIFE CYCLE 8 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 9 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 10 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 11 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 12 Phase 1: Planning • Keys to Success – Manage your project plan – Project milestones - represent key dates for which you need a certain group of activities performed – Scope creep - occurs when the scope of the project increases – Feature creep - occurs when developers add extra features that were not part of the initial requirements 13 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 14 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 15 Phase 2: Analysis • Your role during analysis – Perform detailed review of business requirements • Keys to success – Find errors early – The later in the SDLC you find errors, the more expensive they are to fix 16 Phase 2: Analysis 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 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 19 Phase 3: Design • Your role during design – Decreases as business process expert – Increases as quality control analyst • Keys to success – Determine future requirements 20 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 21 Phase 4: Development • Your role during development – Confirm changes to business requirements – Track task progress • Keys to success – Take advantage of changing technologies 22 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 23 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 24 Phase 5: Testing • Your role during testing – Quality assurance expert • Keys to success – Always complete the testing phase 25 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 26 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 27 Phase 6: Implementation • Your role during implementation – Attend training – Perform training 28 Phase 6: Implementation • Keys to success – Choose the right implementation method • Parallel implementation – use both the old and new system simultaneously • Plunge implementation – discard the old system completely and use the new • Pilot implementation – start with small groups of people on the new system and gradually add more users • Phased implementation – implement the new system in phases 29 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 30 Phase 7: Maintenance • Your role during maintenance – Ensure all knowledge workers have the support they require to use the system • Keys to success – All knowledge workers and IT specialists must work together 31 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 32 The Selfsourcing Process 33 The Selfsourcing Process • The advantages of selfsourcing – Improves requirements determination – Increases knowledge worker participation and sense of ownership – Increases speed of systems development 34 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 35