Chapter 6 Systems Development Steps, Tools, and Techniques 1 Introduction Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems. 2 Seven Phases in the SDLC Phase 1: Plan 3 Define the system to be developed. Set the project scope. Develop the project plan including tasks, resources, and timeframes. Seven Phases in the SDLC Phase 2: Analysis 4 Gather the business requirements for the system. Seven Phases in the SDLC Phase 3: Design 5 Design the technical architecture required to support the system. Design system models. Seven Phases in the SDLC Phase 3: Design 6 Seven Phases in the SDLC Phase 4: Development 7 Build the technical architecture. Build the database and programs. Seven Phases in the SDLC Phase 5: Test Write the test conditions. Perform 8 the testing of the system. Seven Phases in the SDLC Phase 6: Implement Write detailed user documentation. Provide users. 9 training for the system Seven Phases in the SDLC Phase 7: Maintain Build a help desk to support the system users. Provide an environment to support system changes. 10 Knowledge Workers and Their Roles in the SDLC Your participation in the systems development process is vitally important because you are (or will be) a: 1. 2. 3. 4. 11 Business process expert Liaison to the customer Quality control analyst Manager of other people Knowledge Workers and Their Roles in the SDLC 12 Why Systems Fail 20% of systems are successful, 80% of systems fail. 13 Five primary reasons why systems fail include: 1. Unclear or missing requirements 2. Skipping SDLC phases 3. Failure to manage project scope 4. Failure to manage project plan 5. Changing technology Sourcing Three choices for building a system include: 14 1. IT specialists within your organization – Insourcing 2. Knowledge workers such as yourself – Selfsourcing 3. Another organization – Outsourcing Selfsourcing The Selfsourcing Process 15 Selfsourcing The Advantages & Disadvantages of Selfsourcing Advantages Improves requirements determination. Increases knowledge worker participation and sense of ownership. Increases speed of systems development. Disadvantages 16 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. 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. 17 Outsourcing The Outsourcing Process 18 Outsourcing The Advantages and Disadvantages of Outsourcing Advantages of outsourcing include: – – – – – – 19 Focus on unique core competencies. Exploit the intellect of another organization. Better predict future costs. Acquire leading-edge technology. Reduce costs. Improve performance accountability. Outsourcing The Advantages and Disadvantages of Outsourcing Disadvantages of outsourcing include: – – – – 20 Reduces technical know-how for future innovation. Reduces degree of control. Increases vulnerability of strategic information. Increases dependency on other organizations. Prototyping 21 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. Prototyping The Prototyping Process 22 Prototyping The Advantages of Prototyping 23 – Encourages active knowledge worker participation. – Helps resolve discrepancies among knowledge workers. – Gives knowledge workers a feel for the final system. – Helps determine technical feasibility. – Helps sell the idea of a proposed system. Prototyping The Disadvantages of Prototyping 24 – Leads people to believe the final system will follow shortly. – Gives no indication of performance under operational conditions. – Leads the project team to forgo proper testing and documentation.