Chapter 6 Systems Development Steps, Tools, and Techniques
Presentation Overview • Seven Phases In The Systems Development Life Cycle • Knowledge Workers and Their Roles In The Systems Development Life Cycle • Why Systems Fail • Selfsourcing • Outsourcing • Prototyping
Introduction • Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems. • Lets bake a cake
Seven Phases in the SDLCPhase 1: Plan • Planning phase - involves determining a solid plan for developing your information system. • Critical success factor (CSF) - a factor simply critical to your organization’s success.
Seven Phases in the SDLCPhase 1: Plan • Project scope – high-level system requirements. • Projectscope document – written project scope definition. • Project plan – defines the what, when, and who questions. • Project milestones - key dates for deliverables. • Project manager - an expert in project planning.
Seven Phases in the SDLCPhase 2: Analysis • Analysis phase - involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system. • Business requirements - the detailed set of knowledge worker requests that the system must meet in order to be successful.
Seven Phases in the SDLCPhase 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.
Seven Phases in the SDLCPhase 3: Design • Design phase - build a technical blueprint of how the proposed system will work. • Technical architecture - defines the hardware, software, and telecommunications equipment required to run the system.
Seven Phases in the SDLCPhase 3: Design • 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.
Seven Phases in the SDLCPhase 4: Development • Development phase - take all of your detailed design documents from the design phase and transform them into an actual system.
Seven Phases in the SDLCPhase 5: Test • Testing phase - verifies that the system works and meets all of the business requirements defined in the analysis phase. • Test conditions - the detailed steps the system must perform along with the expected results of each step.
Seven Phases in the SDLCPhase 6: Implement • Implementation phase - distribute the system to all of the knowledge workers for use. • User documentation - how to use the system. • Online training - runs over the Internet or off a CD-ROM. • Workshop training - is held in a classroom environment and lead by an instructor.
Seven Phases in the SDLCPhase 7: Maintain • Maintenance phase - monitor and support the new system to ensure it continues to meet the business goals. • Help desk - a group of people who responds to knowledge workers’ questions.
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: • Business process expert • Liaison to the customer • Quality control analyst • Manager of other people • User acceptance testing (UAT) – determines if the system satisfies the business requirements.
Why Systems Fail • 20% of systems are successful, 80% of systems fail. • Five primary reasons why systems fail include: • Unclear or missing requirements • Skipping SDLC phases • Failure to manage project scope • Scope creep – project scope increases • Feature creep – developers add extra features • Failure to manage project plan • Changing technology
Insourcing • Three choices for building a system include: • IT specialists within your organization - Insourcing • Knowledge workers such as yourself – Selfsourcing • Another organization – Outsourcing • Insourcing - IT specialists within your organization will develop the system.
On Your Own How Have You Selfsourced? (p. 303) Selfsourcing • 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.
Selfsourcing • Advantages: • Improves requirements determination. • Increases knowledge worker participation and ownership. • Increases speed of systems development. • Disadvantages: • 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.
OutsourcingDeveloping 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.
OutsourcingThe Outsourcing Process • Request for proposal (RFP) - a formal document that describes in detail your logical requirements for a proposed system and invites outsourcing organizations to submit bids for its development.
Outsourcing • Advantages: • Focus on unique core competencies. • Exploit the intellect of another organization. • Better predict future costs. • Acquire leading-edge technology. • Reduce costs. • Improve performance accountability. • Disadvantages: • Reduces technical know-how for future innovation. • Reduces degree of control. • Increases vulnerability of strategic information. • Increases dependency on other organizations.
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.
Prototyping • Advantages: • Encourages participation. • Resolves discrepancies • Gives a feel for the final system. • Helps determine technical feasibility. • Helps sell the idea of a proposed system. • Disadvantages: • Leads to the belief that the final system will follow shortly. • Gives no performance indication. • Leads the team to skip testing and documentation.