MANAGEMENT INFORMATION SYSTEMS CHAPTER METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT • Large firms purchase software packages whenever feasible, but development of custom software still highly important • Custom methodology also used by software companies who develop products for many different buyers • Approaches for developing custom applications: - Traditional Systems Development Life Cycle (SDLC) - Prototyping - Rapid Application Development (RAD) - Agile Development Copyright © 2011 Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE • Systems development life cycle (SDLC) - Highly structured process for developing customized applications - Requires a lot of documentation and formal reviews at end of each major step - Output from one step = input to next step (Waterfall model) SDLC Waterfall Copyright © 2011 Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE SDLC Waterfall: Steps in phases Figure 9.1 Copyright © 2011 Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE Typical SDLC project costs by Steps in Phases Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC DEFINITION PHASE Definition Phase Feasibility Analysis (3 types) Technical Operational Economic Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC DEFINITION PHASE Technical Feasibility • Primary responsibility of the IS analyst • Based on: - Knowledge of current and emerging technological solutions - IT expertise of in-house personnel - Anticipated infrastructure needed to both develop and support the proposed system Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC DEFINITION PHASE Operational Feasibility • Primary responsibility of the business manager • Entails assessing the degree to which a proposed system addresses the business issues that gave rise to the idea for a new information system Economic Feasibility • • Business managers and IS analysts work together to prepare a cost/benefit analysis IS analyst responsible for establishing the developmental costs for the project Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC DEFINITION PHASE Feasibility analysis • Typical Deliverable:10-20 page document: - Executive overview and recommendations - Description of what system would and how it would operate - Analysis of costs and benefits - Development plan Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC DEFINITION PHASE Requirements Definition • Focuses on processes, data flows, and data interrelationships rather than a specific physical implementation • Requirements are gathered by: - Interviewing individuals or work groups - Reviewing documents - Observing employees doing their jobs Copyright © 2011 Pearson Education, Inc publishing as Prentice AGILE DEVELOPMENT Scrum • Well-orchestrated movement of project updates between team members - Similar to the coordination in a rugby scrum - Emphasizes: - Independent project teams - Coordination and communication between and within teams - Iterative and continuous monitoring of work - Highly efficient work methods • Approach utilizes: - Daily Scrum meeting - Scrum of Scrum meeting - Sprint planning meeting - Sprint review meeting Rugby Scrum Copyright © 2011 Pearson Education, Inc publishing as Prentice SOURCING SOFTWARE PROJECTS • Outsourcing is an alternative for: Computer and Network Operations Application Development (and Maintenance) • Onshore outsourcing: contracting with companies within the same country or region • Offshore outsourcing: contracting with companies not within the same country or region - Special risks include: language and cultural barriers, risk of piracy of intellectual property - Best alternative for application development outsourcing when system requirements are well defined and remain stable Copyright © 2011 Pearson Education, Inc publishing as Prentice SOURCING SOFTWARE PROJECTS Potential Advantages of Application Outsourcing in General - Makes use of technical expertise not available in-house - Temporarily expands capacity of IS workforce to complete projects more quickly - Frees up internal IS resources to work on strategic or proprietary projects Potential Advantages of Offshore Outsourcing in General - Lower labor costs and 24/7 availability Copyright © 2011 Pearson Education, Inc publishing as Prentice SOURCING SOFTWARE PROJECTS • Outsourcing Applications: some best practices - Manage expectations, not staff - Take explicit actions to integrate the offsite workers - Communicate frequently - Use a project management office - Begin small - Use secure and redundant communication links - Hire legal expertise for offshore contracts Copyright © 2011 Pearson Education, Inc publishing as Prentice USER APPLICATION DEVELOPMENT (UAD) • Application development by non-IS professionals has grown rapidly with the introduction of user tools (hardware and software) • During the 1970s most IS managers did not expect PCs to be used in a corporate setting - Many PCs were purchased by business managers without the IS organization’s involvement - The primary motivator was a new type of PC application: spreadsheet programs • Over time, small applications using database software (such as Microsoft Access) also were commonly developed by end users Copyright © 2011 Pearson Education, Inc publishing as Prentice USER APPLICATION DEVELOPMENT (UAD) • Advantages of UAD - Users not have to explain their information requirements to an analyst from an IS unit who is not familiar with the business context - Users not have to wait for IS resources to be assigned to work on their application project - Business managers have more control over the development costs and timelines Copyright © 2011 Pearson Education, Inc publishing as Prentice USER APPLICATION DEVELOPMENT (UAD) • Disadvantages of UAD - Less attention typically given by user developer to application controls (security, data quality) - Loss of opportunities for application integration - User developed applications are more likely to “reinvent” functionality found in other applications and opportunities to share data across applications are missed - Increased operational risks due to a job change of the user developer Copyright © 2011 Pearson Education, Inc publishing as Prentice COMMON DATA QUALITY PROBLEMS IN SPREADSHEETS Copyright © 2011 Pearson Education, Inc publishing as Prentice MAGNITUDE OF SPREADSHEET ERRORS • Fidelity's Magellan Fund example Copyright © 2011 Pearson Education, Inc publishing as Prentice USER APPLICATON DEVELOPMENT (UAD) • The Sarbanes-Oxley Act (SOX) has created additional quality concerns and organizational risks: • Spreadsheets and applications that use financial information are subject to audit and must be protected by the proper controls Copyright © 2011 Pearson Education, Inc publishing as Prentice PRE-ASSESING THE POTENTIAL UAD RISKS Three types of risk factors should be considered when deciding whether an application should be user-developed or developed by an IS professional: Copyright © 2011 Pearson Education, Inc publishing as Prentice GUIDELINES FOR USER DEVELOPERS • Use a development methodology appropriate to the application, based on three application characteristics: Scope ( personal, work unit) Size Complexity of the business problem Copyright © 2011 Pearson Education, Inc publishing as Prentice GUIDELINES FOR USER DEVELOPERS • Ask important questions during the Definition and Construction phases, such as these: Copyright © 2011 Pearson Education, Inc publishing as Prentice GUIDELINES FOR USER DEVELOPERS • Avoid two common problems: Not doing enough testing - Thorough testing should take extensive time and effort Not providing sufficient documentation - Multi-user applications especially need relatively detailed documentation Copyright © 2011 Pearson Education, Inc publishing as Prentice GUIDELINES FOR USER DEVELOPERS • Some lessons from other user developers: - Stay in touch with end users throughout the project - The prototyping methodology is useful but development is still time consuming - Intricate, hard-to-find bugs often show up at end of development - Managing user expectations is crucial Copyright © 2011 Pearson Education, Inc publishing as Prentice [...]... Maintenance • In the past, maintenance step has incurred about 80% of total costs over a system’s life • In the 1990s, systems development resources heavily devoted to system maintenance versus new system development: - 75% to run and maintain existing systems - 35% to build/buy new systems Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC IMPLEMENTATION PHASE Maintenance • Common... IMPLEMENTATION PHASE Installation • Includes: - Building files and databases - Converting relevant data from one or more old systems to the new system - Training system users Installations that involve converting data from an old system to a new one can be as difficult to implement as systems to automate totally new functions or processes Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC... Inc publishing as Prentice SDLC CONSTRUCTION PHASE System Testing – by IS specialists • Time-intensive step (if executed well) - Each module of code is tested - Modules are assembled into subsystems and tested - Subsystems are combined and entire system is integration tested Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC CONSTRUCTION PHASE System Testing – by Users User Acceptance... Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE Three project characteristics associated with successful outcomes: 1 Manageable project size 2 Accurate requirements definition • Cost of corrections increases as development life cycle advances 3 Executive sponsorship Copyright © 2011 Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE Advantages and... METHODOLOGY Project Team: • IS team members who can quickly build systems using advanced tools • Business users committed to working closely with IS developers to try out and refine prototype Copyright © 2011 Pearson Education, Inc publishing as Prentice PROTOTYPING METHODOLOGY Advantages: • Only basic requirements needed at front end • Used to develop systems that radically change how work is done, so users... there may be long delays before a requested system change is worked on, creating gaps in system performance and the needs of an organization Copyright © 2011 Pearson Education, Inc publishing as Prentice SYSTEMS DEVELOPMENT LIFE CYCLE The SDLC project team • Usually a temporary team for specific project • Includes appropriate representatives from business units, as well as IS personnel • Led by project... remainder of project Approved by business managers before next phase begins Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC CONSTRUCTION PHASE Construction Phase • Begins only after the systems requirements document from the Definition phase is approved • Three steps: - System design - System building - System testing Copyright © 2011 Pearson Education, Inc publishing as Prentice SDLC... creation of system (or part of system) quickly, then system is revised after initial trial(s) by user(s) • Takes advantage of fourth generation procedural languages and relational database management systems • Can be used as a complete alternative to the SDLC or within an SDLC process Copyright © 2011 Pearson Education, Inc publishing as Prentice PROTOTYPING METHODOLOGY • Examples of Prototyping goals:...SDLC DEFINITION PHASE Requirements Definition • Deliverable = systems 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