1 / 35

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT. S YSTEMS D EVELOPMENT L IFE C YCLE M ETHODOLOGY. Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications. Page 385.

kaiya
Download Presentation

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

  2. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications Page 385

  3. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps Key characteristic is extensive formal reviews required at end of each major step Figure 10.1 The Systems Development Life Cycle Page 386

  4. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps Hallmark of SDLC approach: extensive upfront time spent determining requirements to avoid expensive changes later Figure 10.2 Cost Breakdown for $1 Million SDLC Project Page 386

  5. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps SDLC: • Most often requires a lot of documentation • Outputs from one step inputs to next • Often referred to as the “waterfall” model Page 386

  6. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Definition Phase – Feasibility Analysis • Types of feasibility – economic, operational, and technical • Deliverable – 10-20 page document: • Executive overview and recommendations • Description of what system would do and how it would operate • Analysis of costs and benefits • Development plan Page 387-388

  7. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Definition Phase – Requirements Definition • Focuses on logical design: processes, data flows, and data interrelationships – not specific physical implementation • Deliverable – system requirements document: • Detailed descriptions of inputs and outputs, processes used to convert input data to outputs • Formal diagrams and output layouts • Revised cost/benefit analysis • Revised plan for remainder of project Page 388

  8. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Construction Phase • System Design • System Building • System Testing Documentation is a major mechanism of communication during development process Figure 10.3 Characteristics of High Quality Systems Page 389

  9. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Implementation Phase • Installation • Operations • Maintenance Page 390

  10. Implementation Phase – Installation Parallel Strategy Parallel Strategy Parallel Strategy Parallel Strategy Page 391 Figure 10.4 Implementation Strategies

  11. Implementation Phase – Maintenance Figure 10.5 Percent of Development Resources Devoted to Maintenance Page 392

  12. Implementation Phase – Maintenance Figure 10.6 The Widening Gap Between Organization’s Needs and System’s Performance Page 392

  13. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Project Team • Usually temporary • Includes personnel from IS and business units • Has a project manager • Traditionally from IS • Can be from business unit • May be one from each • Responsible for success of project – delivering quality system on time and within budget Page 393

  14. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Project Team • Includes systems analysts • Have critical roles • Work closely with business managers and end users • Have problem-solving skills, knowledge of IT capabilities, strong business understanding • Has a business sponsor and a champion Page 394

  15. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Managing an SDLC Project • Characteristics critical for success: • Manageable project size • Accurate requirements definition • Executive sponsorship Page 394

  16. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Managing an SDLC Project (Adapted from Boehm, 1976) Figure 10.7 Costs of Error Correction by SDLC Step Page 395

  17. SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY SDLC Advantages and Disadvantages Figure 10.8 Advantages and Disadvantages of Traditional SDLC Approach Page 395

  18. PROTOTYPING METHODOLOGY • Prototyping approach: • Takes advantage of availability of fourth generation procedural languages and relational database management systems • Enables creation of system (or part of system) more quickly, then revise after users have tried it • Is a type of evolutionary development process Page 396

  19. PROTOTYPING METHODOLOGY • Prototyping examples: • Input and output screens developed for users to test as part of requirements definition • “first-of-a-series” – a completely operational prototype used as a pilot • “selected features” – only some essential features included in prototype, more added later • Prototyping used as a complete alternative to traditional SDLC methodology Page 396

  20. PROTOTYPING METHODOLOGY • Prototyping used as a complete alternative to traditional SDLC methodology: • Good when requirements hard to define • Good when system needed quickly • Impractical for large, complex applications Page 396

  21. The Prototyping Steps Page 397 Figure 10.9 The Prototyping Life Cycle

  22. PROTOTYPING METHODOLOGY The Prototyping Project Team • Representatives from IS and user management necessary • Need team members who can quickly build systems using advanced tools • Requires dedicated business user roles Page 398

  23. PROTOTYPING METHODOLOGY Prototyping Advantages and Disadvantages • Advantages: • Only basic requirements needed at front end • Used to develop systems that radically change how work is done, so users can evaluate • Allows firms to explore use of new technology • Working system available for testing more quickly • Less strong top-down commitment needed at front end • Costs and benefits can be derived after experience with initial prototype • Initial user acceptance likely higher Page 398-399

  24. PROTOTYPING METHODOLOGY Prototyping Advantages and Disadvantages • Disadvantages: • End prototype often lacks security and control features • May not undergo as rigorous testing • Final documentation may be less complete • More difficult to manage user expectations Page 399

  25. PROTOTYPING METHODOLOGY Prototyping Within an SDLC Process Figure 10.10 SDLC with Prototyping to Define Requirements Page 399

  26. PROTOTYPING METHODOLOGY Prototyping Within an SDLC Process Figure 10.11 Prototyping/Piloting Replaces SDLC Definition Phase Page 399

  27. NEWER APPROACHES Rapid Application Development (RAD) • Hybrid methodology – aspects of SDLC and prototyping • Goal is to produce a system in less than a year Page 400 Figure 10.12 Four-Step RAD Cycle

  28. NEWER APPROACHES Rapid Application Development (RAD) Joint application design (JAD) – a technique in which a team of users and IS specialists engage in an intense and structured process in order to minimize the total time required for gathering information from multiple participants Page 400-401

  29. NEWER APPROACHES Rapid Application Development (RAD) Joint application design (JAD) – a technique in which a team of users and IS specialists engage in an intense and structured process in order to minimize the total time required for gathering information from multiple participants Computer-aided software engineering (CASE) – any software tool used to automate one or more steps of a software development methodology Page 400-401

  30. NEWER APPROACHES Rapid Application Development (RAD) (Adapted from Valacich, George, and Hoffer, 2001) Page 401 Figure 10.13 Types of CASE Tools

  31. NEWER APPROACHES Rapid Application Development (RAD) Figure 10.14 RAD Advantages and Disadvantages Page 402

  32. NEWER APPROACHES Agile Software Development Discipline • Alternative methodology for smaller projects • Based on four key values: • Simplicity • Communication • Feedback • Courage • One type: Extreme Programming (XP) • Programmers write code in pairs • Use simple design and frequent testing Page 402

  33. MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF • Advantages: • Helps keep software development costs down • Uses technical expertise not available in-house • Can often complete projects more quickly • Off-site outsourcing: • Onshore – within same country or region • Offshore – not within same country or region Page 402

  34. MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF • Offshore alternative good option when: • System requirements well-defined and remain stable • Time is of essence and 7x24 hour availability of resources a good idea • Cost of project important Page 402

  35. MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF • Guidelines for managing offsite outsourcer: • Manage expectations, not staff • Take explicit actions to integrate the offsite workers • Communicate frequently • Abandoning informal ways may result in increased rigor Page 402-403

More Related