CHAPTER 10 Developing Information Systems Opening Case: Canadian Youth Design Their Own Youth Portal McGraw-Hill-Ryerson ©2011 The McGraw-Hill Companies, All Rights Reserved 10-2 Chapter Ten Overview • SECTION 10.1 – SYSTEMS DEVELOPMENT – – – – – Information Systems Development Global Information Systems Development The Systems Development Lifecycle (SDLC) Software Development Methodologies Developing Successful Systems • SECTION 10.2 – PROJECT MANAGEMENT – – – – – Managing Software Development Projects Project Management Fundamentals Understanding Project Planning Managing Projects Outsourcing Projects Copyright © 2011 McGraw-Hill Ryerson Limited 10-3 LEARNING OUTCOMES 1. Identify the business benefits associated with successful software development and how the issues and challenges developing domestic information systems amplify with global systems development. 2. Describe and understand the relationships between each of the seven phases of the systems development life cycle. 3. Summarize and compare different software development methodologies. Copyright © 2011 McGraw-Hill Ryerson Limited 10-4 LEARNING OUTCOMES 4. Realize the importance of good project management practice. 5. Describe the benefits and challenges of outsourcing systems development projects. Copyright © 2011 McGraw-Hill Ryerson Limited SECTION 10.1 SYSTEMS DEVELOPMENT McGraw-Hill-Ryerson ©2011 The McGraw-Hill Companies, All Rights Reserved 10-6 DEVLOPING INFORMATION SYSTEMS • Information systems that are built correctly can transform as the organization and its business transform • Information systems that effectively meet employee needs will help an organization become more productive and enhance decision making • Information systems that do not meet employee needs may have a damaging effect on productivity and can even cause a business to fail Copyright © 2011 McGraw-Hill Ryerson Limited 10-7 DEVELOPING SOFTWARE • As organizations’ reliance on information systems grows, so do the businessrelated consequences of software successes and failures including: – Increase or decrease revenue – Repair or damage to brand reputation – Prevent or incur liabilities – Increase or decrease productivity Copyright © 2011 McGraw-Hill Ryerson Limited 10-8 SYSTEM DEVELOPMENT LIFECYCLE (SDLC) Systems development lifecycle – the overall process for developing information systems from planning and analysis through implementation and maintenance Copyright © 2011 McGraw-Hill Ryerson Limited 10-9 SYSTEM DEVELOPMENT LIFECYCLE (SDLC) Copyright © 2011 McGraw-Hill Ryerson Limited 10-10 PHASE 1: PLANNING • Planning phase – involves establishing a high-level plan of the intended project and determining project goals Copyright © 2011 McGraw-Hill Ryerson Limited 10-11 PHASE 2: ANALYSIS • Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system Copyright © 2011 McGraw-Hill Ryerson Limited 10-12 PHASE 3: DESIGN • Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation Copyright © 2011 McGraw-Hill Ryerson Limited 10-13 PHASE 4: DEVELOPMENT • Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system Copyright © 2011 McGraw-Hill Ryerson Limited 10-14 PHASE 5: TESTING • Testing phase – involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability, in order to verify that the system meets all the business requirements defined in the analysis phase Copyright © 2011 McGraw-Hill Ryerson Limited 10-15 PHASE 6: IMPLEMENTATION • Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system Copyright © 2011 McGraw-Hill Ryerson Limited 10-16 PHASE 7: MAINTENANCE • Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals Copyright © 2011 McGraw-Hill Ryerson Limited 10-17 SYSTEM DEVELOPMENT METHODOLOGIES • A methodology is a set of policies, procedures, standards, processes, practices, tools, techniques and tasks that people apply to technical and management challenges. Copyright © 2011 McGraw-Hill Ryerson Limited 10-18 SYSTEM DEVELOPMENT METHODOLOGIES • There are a number of different software development methodologies including: – Waterfall – Agile • • • • Rapid application development (RAD) Extreme programming methodology Rational unified process (RUP) methodology Scrum methodology – Participatory design methodology Copyright © 2011 McGraw-Hill Ryerson Limited 10-19 Waterfall Methodology Waterfall methodology – a sequential, activitybased process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance Copyright © 2011 McGraw-Hill Ryerson Limited 10-20 Waterfall Methodology Copyright © 2011 McGraw-Hill Ryerson Limited 10-21 Agile Software Development Methodologies • Iterative development – consists of a series of tiny projects Copyright © 2011 McGraw-Hill Ryerson Limited 10-22 Rapid Application Development Methodology (RAD) • • Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process The prototype is an essential part of the analysis phase when using a RAD methodology – Prototype – a smaller-scale representation or working model of the users’ requirements or a proposed design for an information system Copyright © 2011 McGraw-Hill Ryerson Limited 10-23 Rapid Application Development Methodology (RAD) Copyright © 2011 McGraw-Hill Ryerson Limited 10-24 Participatory Design • Participatory design (PD) methodology promotes the active involvement of users in the information systems development process • The people destined to use the system play a critical role in designing it • PD Basic Tenets: – The design process makes a difference for participants – Implementation of the results from the design process is likely – It is fun to participate Copyright © 2011 McGraw-Hill Ryerson Limited 10-25 Participatory Design • Participatory Design recommendations: – Create opportunities for mutual learning – Utilize design tools familiar to users – Use language familiar to users – Start the design with current practice – Encourage users to envision future situations of working with the final system Copyright © 2011 McGraw-Hill Ryerson Limited 10-26 DEVELOPING SUCCESSFUL SOFTWARE • Primary principles for successful agile software development include: – – – – – Slash the budget If it doesn’t work, kill it Keep requirements to a minimum Test and deliver frequently Assign non-IT executives to software projects Copyright © 2011 McGraw-Hill Ryerson Limited 10-27 OPENING CASE QUESTIONS Canadian Youth Design Their Own Youth Portal 1. What challenges did the Youth Portal avoid by being a nation-wide project as opposed to a global systems development one? 2. If the Youth Portal is any indication, which of the seven phases of the SDLC is most important to the Government of Canada? The least important? 3. In what ways did the development and design of Youth.gc.ca follow participatory design principles? 4. What challenges do you think an organization would face if it followed a PD approach to information systems design? 5. The Youth.gc.ca example illustrated the various steps and energy taken to ensure that a wide and representative set of end-users were involved in the design process. Should the same philosophy be followed by all organizations in general? Why or why not? Copyright © 2011 McGraw-Hill Ryerson Limited SECTION 10.2 PROJECT MANAGEMENT McGraw-Hill-Ryerson ©2011 The McGraw-Hill Companies, All Rights Reserved 10-29 MANAGING SOFTWARE DEVELOPMENT PROJECTS • Project management interdependent variables Copyright © 2011 McGraw-Hill Ryerson Limited 10-30 PROJECT MANAGEMENT • Common reasons why IT projects fall behind schedule or fail Copyright © 2011 McGraw-Hill Ryerson Limited 10-31 PROJECT MANAGEMENT FUNDAMENTALS • Project – a temporary endeavor undertaken to create a unique product or service • Project management – the application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed stakeholder needs and expectations Copyright © 2011 McGraw-Hill Ryerson Limited 10-32 PROJECT MANAGEMENT FUNDAMENTALS • Project deliverable – any measurable, tangible, verifiable outcome, result, or item that is produced to complete a project or part of a project • Project milestone – represents key dates when a certain group of activities must be performed • 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 Copyright © 2011 McGraw-Hill Ryerson Limited 10-33 PROJECT MANAGEMENT FUNDAMENTALS • Project management role Copyright © 2011 McGraw-Hill Ryerson Limited 10-34 CHOOSING STRATEGIC PROJECTS • Organizations must determine which projects to pursue • Three common techniques for selecting projects 1. Focus on organizational goals 2. Categorize projects 3. Perform a financial analysis Copyright © 2011 McGraw-Hill Ryerson Limited 10-35 Project Charter • Project charter – is a document issued by the project initiator or sponsor that formally authorizes the existence of a project and typically includes: – Project scope – Project objectives – Project constraints – Project assumptions Copyright © 2011 McGraw-Hill Ryerson Limited 10-36 Setting The Project Scope Project scope – defines the work that must be completed to deliver a product with the specified features and functions, and typically includes: SMART criteria are useful reminders on how to ensure that the project has created understandable and measurable objectives Copyright © 2011 McGraw-Hill Ryerson Limited 10-37 Project Plan • Project plan – a formal, approved document that manages and controls project execution • A well-defined project plan should be: – – – – Easy to understand and read Communicated to all key participants Appropriate to the project’s size, complexity, and criticality Prepared by the team, rather than by the individual project manager Copyright © 2011 McGraw-Hill Ryerson Limited 10-38 Project Plan • Two primary diagrams used in project planning include PERT and Gantt charts – PERT (Program Evaluation and Review Technique) chart – is a graphical network model that depicts a project’s tasks and the relationships between those tasks (Dependencies and Critical paths are found in PERT charts) – Gantt chart – a simple bar chart that depicts project tasks against a calendar Copyright © 2011 McGraw-Hill Ryerson Limited 10-39 Project Plan • PERT Chart EXPERT – PERT Chart Example Copyright © 2011 McGraw-Hill Ryerson Limited 10-40 Project Plan • MS Project – Gantt Chart Example Copyright © 2011 McGraw-Hill Ryerson Limited 10-41 MANAGING PROJECTS • A project manager must focus on managing three primary areas to ensure success: 1. People 2. Communications 3. Change Copyright © 2011 McGraw-Hill Ryerson Limited 10-42 OUTSOURCING • Insourcing (in-house-development) – a common approach using the professional expertise within an organization to develop and maintain the organization's information technology systems • Outsourcing - is an arrangement by which one organization provides a service or services for another organization that chooses not to perform them in-house. Copyright © 2011 McGraw-Hill Ryerson Limited 10-43 OUTSOURCING Copyright © 2011 McGraw-Hill Ryerson Limited 10-44 OUTSOURCING • Reasons companies outsource Copyright © 2011 McGraw-Hill Ryerson Limited 10-45 OUTSOURCING • Factors driving outsourcing growth include: – Core competencies – Financial savings – Rapid growth – Industry changes – The Internet – Globalization Copyright © 2011 McGraw-Hill Ryerson Limited 10-46 OUTSOURCING • Outsourcing opportunities: Copyright © 2011 McGraw-Hill Ryerson Limited 10-47 Outsourcing Benefits • Outsourcing benefits include: – – – – – – – – – – – Increased quality and efficiency Reduced operating expenses Focusing on core profit-generating competencies Reduced exposure to risk Service providers economies of scale, expertise, and best practices Access to advanced technologies Increased flexibility Avoid costly outlay of capital funds Reduced headcount and associated overhead expense Reduced frustrations and expense related to hiring/retaining employees Reduced time to market for products or services Copyright © 2011 McGraw-Hill Ryerson Limited 10-48 OUTSOURCING OPTIONS • Onshore outsourcing – engaging another company within the same country for services • Nearshore outsourcing – contracting an outsourcing arrangement with a company in a nearby country • Offshore outsourcing – using organizations from developing countries to write code and develop systems Copyright © 2011 McGraw-Hill Ryerson Limited 10-49 THE CHALLENGES OF OUTSOURCING • Outsourcing challenges include – Contract length 1. Difficulties in getting out of a contract 2. Problems in foreseeing future needs 3. Problems in reforming an internal IS department after the contract is finished – Competitive edge – Confidentiality – Scope definition Copyright © 2011 McGraw-Hill Ryerson Limited 10-50 OPENING CASE QUESTIONS Canadian Youth Design Their Own Youth Portal 6. To what extent could PD design projects, like Youth.gc.ca, benefit from project management principles and techniques? To what extent could all software development methodologies benefit from project management principles and techniques? 7. Would project planning be necessary in a PD design project like Youth.gc.ca? why or why not? 8. To what extent would PD projects, like Youth.gc.ca benefit from a change management system? Would a change management system be more beneficial to a different type of systems design methodology? Explain. 9. To what extent would outsourcing be useful of appropriate in PD design projects like Youth.gc.ca? Would outsourcing be more suitable to another systems development methodology? If so, which one(s)? Copyright © 2011 McGraw-Hill Ryerson Limited 10-51 CLOSING CASE ONE HP’s Software Problems 1. Which one of the seven phases of the systems development life cycle is least important to HP? The most important? Why? 2. Which of the different software development methodologies should HP use to implement successful systems? Why? 3. Identify the primary reasons for systems project failure and explain which ones HP experienced on its ERP build. 4. Review the buy versus build decision and explain why HP chose to buy its ERP system. 5. Review the project charter and explain how HP could benefit by using one. 6. Review the three outsourcing options and identify the pros and cons HP should consider if it chooses to outsource its system development effort. Copyright © 2011 McGraw-Hill Ryerson Limited 10-52 CLOSING CASE TWO Reducing Ambiguity in Business Requirements 1. Why are ambiguous business requirements the leading cause of systems development failures? 2. Why do the words and and or tend to lead to ambiguous requirements? 3. Research the Web and determine other reasons for “bad” business requirements. 4. What is wrong with the following business requirement: “The system must support employee birthdays since every employee always has a birthday every year”? Copyright © 2011 McGraw-Hill Ryerson Limited 10-53 CLOSING CASE THREE Staying on Track – Toronto Transit 1. How is project management software being used by the TTC for better project management? 2. Describe Gantt charts and explain how the TTC could use one to communicate project status. 3. Describe PERT charts and explain how the TTC could use one to communicate project status. 4. Using this case study of the TTC as a guide, under what circumstances should organizations utilize project management software to help manage projects? Copyright © 2011 McGraw-Hill Ryerson Limited