CHAPTER 9 DEVELOPING IT SY STEM S Bringing IT System s to Life
9-2 Introduction Every Organization Is Using Information Technology But IT systems don t magically appear. Organizations spend billions of dollars every year developing systems. Organizations also spend billion of dollars buying systems that have already been developed. The latest trend is to let knowledge workers take over much of the development process.
9-3 Introduction YOUR FOCUS IN THIS CHAPTER The Who, How, and Why of Software Development Insourcing and the Traditional SDLC How to Develop Systems for Yourself Through Selfsourcing Letting Other Organizations Develop Your Systems (Outsourcing) CASE Tools and Joint Application Development
9-4 Systems Development SYSTEMS DEVELOPMENT IS A QUESTION-AND-ANSWER SESSION What systems should we develop? When should we develop those systems? Who should develop systems? How should we go about developing systems? Why is my participation important during the systems development process? In this chapter, we focus on who, how, and why.
9-5 Systems Development WHY IS YOUR PARTICIPATION IMPORTANT? 1.You are a business process expert 2.You are a liaison to the customer 3.You are a quality control analyst 4.You are (or will be) a manager of other people
9-6 Systems Development WHO SHOULD DEVELOP SYSTEMS? You have three choices. 1.Insourcing - IT specialists within your organization. 2.Selfsourcing - Knowledge workers such as yourself. 3.Outsourcing - Another organization.
9-7 Systems Development HOW SHOULD YOU GO ABOUT DEVELOPING SYSTEMS? We will look at five choices. 1.Traditional systems development life cycle 2.Prototyping 3.Application software packages 4.Computer-aided software engineering 5.Joint application development
9-8 Insourcing & SDLC INSOURCING AND THE TRADITIONAL SYSTEMS DEVELOPMENT LIFE CYCLE INSOURCING involves choosing IT specialists within your organization to develop the system. TRADITIONAL SYSTEMS DEVELOPMENT LIFE CYCLE (TRADITIONAL SDLC) - a structured step-by-step approach to developing systems that creates a separation of duties among IT specialists and knowledge workers.
9-9 Insourcing & SDLC Knowledge workers are the business process experts and the quality control analysts. IT specialists are responsible for design, implementation, and support of the system. The 6 steps of the traditional SDLC: 1.Planning (Ch. 8) 4.Design 2.Scoping 5.Implementation 3.Analysis 6.Support See Figure 9.2, page 366
9-10 Insourcing & SDLC SCOPING - STEP #2 Lay the foundation for the systems development process of a specific system. Key Tasks During Scoping: Determine which business units will be affected Gather the project team Review existing applications for needed interfaces Perform an initial feasibility review Develop a plan for proceeding
9-11 Insourcing & SDLC YOUR ROLE DURING SCOPING Define the exact problem or opportunity Participate in developing a plan for proceeding
9-12 Insourcing & SDLC ANALYSIS - STEP #3 Determine the logical requirements for the proposed system. The key in this step is logical, not physical. Focus only on your information and processes from a logical point of view. Key Tasks During Analysis: Model, study, and analyze the current system Define new information and processing requirements Model the new system (logical only) Update the project plan and scope
9-13 Insourcing & SDLC YOUR ROLE DURING ANALYSIS Provide information concerning how the system currently works. Provide information concerning new information and processing requirements. Monitor and justify the new feasibility review.
9-14 Insourcing & SDLC DESIGN - STEP #4 Build a technical blueprint of how the proposed system will work. IT specialists complete most of the tasks here. Your role becomes that of quality assurance. Key Tasks During Design: Identify alternative technical solutions Analyze alternative solutions and choose the best Update the project plan and scope
9-15 Insourcing & SDLC YOUR ROLE DURING DESIGN Assure that the recommended technical solution meets the logical requirements. Monitor and justify the project plan.
9-16 Insourcing & SDLC IMPLEMENTATION - STEP #5 Bring the proposed system to life and place it in the organization. Key Tasks During Implementation: Programming, testing, and training Hardware acquisition and installation Conversion: PARALLEL - using the old and new simultaneously PLUNGE - immediately using the new PILOT - converting only a group of people first PIECEMEAL - converting only a portion of the system first
9-17 Insourcing & SDLC YOUR ROLE DURING IMPLEMENTATION Determine the best training method. Determine the best conversion method. Provide complete testing of the new system. Monitor the budget and schedule and look for runaway projects.
9-18 Insourcing & SDLC SUPPORT - STEP #6 Final sequential step of any systems development process. Ensure that the system continues to meet stated goals. You may need to make minor modifications or completely overhaul the system at some point.
9-19 Insourcing & SDLC KEY TASKS AND YOUR ROLE KEY TASKS: DURING SUPPORT React to changes in information and processing needs. Assess the worth of the system in terms of the strategic plan of the organization. YOUR ROLE: Provide a mechanism for people to request changes. Assess the worth of proposed changes before passing them to the IT specialists.
9-20 Insourcing & SDLC ADVANTAGES OF INSOURCING AND THE SDLC Allows your organization to tailor a system to your exact needs. Uses a structured step-by-step approach. Creates a separation of duties between IT specialists and knowledge workers. Requires key deliverables before proceeding to the next step.
9-21 Insourcing & SDLC DISADVANTAGES OF INSOURCING AND THE SDLC It takes time to get exactly what you want. Some smaller projects suffer from a structured approach. IT specialists and knowledge workers speak different languages, creating communications gaps. If you omit a requirement early, it can be costly to correct that mistake later.
9-22 Selfsourcing SELFSOURCING the development and support of IT systems by knowledge workers with little or no help from IT specialists. Selfsourcing is an important part of knowledge worker computing in which you develop your own systems. Selfsourcing is an option for who. When selfsourcing, you almost always employ prototyping as a how.
9-23 Prototyping PROTOTYPING - BUILDING MODELS PROTOTYPING is the process of building a model that demonstrates the features of a proposed product, service, or system. A PROTOTYPE is a model of a proposed product, service, or system. Most industries prototype all the time (think about the automobile industry). Prototyping can also be a valuable tool in systems development.
9-24 Prototyping Prototyping Can Aid in... Gathering requirements - because prototyping is iterative. Helping determine requirements - especially if people don t know what they want. Proving that a system is technically feasible - these prototypes are called PROOF-OF- CONCEPT PROTOTYPES. Selling the idea of a proposed system - these prototypes are called SELLING PROTOTYPES.
9-25 Prototyping THE PROTOTYPING PROCESS 1.Identify Basic Requirements 2.Develop Initial Prototype 3.Knowledge Worker Reviewing 4.Revise and Enhance the Prototype Continue the iterative process between steps 3 and 4 until everyone is happy with the prototype. See Figure 9.7, page 381
9-26 Prototyping PROTOTYPING ADVANTAGES 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.
9-27 Prototyping PROTOTYPING DISADVANTAGES 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.
9-28 Selfsourcing SELFSOURCING PROCESS STEPS 1. SCOPING Define the goals of the new system Create a project plan Identify any systems that require an interface Determine needed external support 2. ANALYSIS Study and model current system Understand interfaces in detail Define and prioritize your requirements See Figure 9.8 and the box on page 383
9-29 Selfsourcing SELFSOURCING PROCESS STEPS 3. DESIGN Select a design target Acquire the necessary hardware and software Develop an initial prototype 4. IMPLEMENTATION Fully develop prototype into a complete system Test the new system Train Convert to the new system Completely document the new system 5. SUPPORT Provide ongoing maintenance
9-30 Selfsourcing SELFSOURCING ADVANTAGES Improves requirements determination. Increases knowledge worker participation and sense of ownership. Increases speed of systems development.
9-31 Selfsourcing SELFSOURCING PITFALLS 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 lead to short-lived systems.
9-32 OUTSOURCING Outsourcing is 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. FORMS OF SYSTEMS DEVELOPMENT OUTSOURCING (See Figure 9.9, page 386): 1.Purchase existing application software package. 2.Purchase existing application software package and request modifications. 3.Outsource development of a system for which no application software package exists.
9-33 Outsourcing REQUEST FOR PROPOSAL (RFP) An RFP is a formal document that outlines your logical requirements of the proposed system and invites outsourcing organizations to submit bids for its development. An RFP is the most important document in the outsourcing process. It includes your logical system requirements, needed development time frame, how RFP returns will be scored and evaluated, and a host of other valuable information.
9-34 Outsourcing THE OUTSOURCING PROCESS Select a Target System Establish Logical Requirements Develop a Request for Proposal (RFP) Evaluate RFP Returns and Choose a Vendor Test and Accept the Solution Monitor and Reevaluate
9-35 Outsourcing OUTSOURCING ADVANTAGES Allows your organization to... Focus on Unique Core Competencies Exploit the Intellect of Another Organization Better Predict Future Costs Acquire Leading-Edge Technology Reduce Costs Improve Performance Accountability
9-36 Outsourcing OUTSOURCING DISADVANTAGES Your organization may suffer because it... Reduces Technical Know-How for Future Innovation Reduces Degree of Control Increases Vulnerability of Strategic Information Increases Dependency on Other Organizations
9-37 Other Tools SOME OTHER TOOLS AND METHODS - MORE HOWS Computer-Aided Software Engineering Tools - that are mostly used by IT specialists to automate the systems development process. Joint Application Development Workshops - that bring together management, IT specialists, and knowledge workers to define system requirements as a group.
9-38 CASE Tools CASE TOOLS COMPUTER-AIDED SOFTWARE ENGINEERING (CASE) TOOLS automate some or all steps in the SDLC. CASE tools help (1) model and store specific system information and (2) convert information to a new form. CATEGORIES OF CASE TOOLS: INTEGRATED CASE TOOLS for the entire SDLC. UPPER CASE TOOLS for planning, scoping, analysis, and design. LOWER CASE TOOLS for design, implementation, and support.
9-39 CASE Tools KEY FEATURES OF CASE TOOLS PROJECT REPOSITORY - a database that contains information pertaining to all the systems development projects that your organization has undertaken using the CASE tool. REVERSE ENGINEERING - the ability of a CASE tool to analyze existing software and create design documents from it.
9-40 CASE Tools ADVANTAGES OF CASE TOOLS Increased speed and efficiency of SDLC. Repository of project information. Valuable control checking. Deployment of systems across multiple platforms.
9-41 CASE Tools REALITY OF CASE TOOLS You must still have a solid background in analysis and design. CASE tools are not for knowledge workers. You must spend more time in front-end processes. Integrated CASE tools require a detailed organizational understanding.
9-42 JOINT APPLICATION JAD DEVELOPMENT (JAD) a workshop that unites management, IT specialists, and knowledge workers to define and specify the logical requirements and technical alternatives for a proposed system. The goal is to eliminate the communications gap between participants. Participants include: - JAD facilitator - Scribe - Executive sponsor - Knowledge workers - Project manager - IT specialists
9-43 THE JAD PROCESS 1.Establish the JAD Project 2.Introduce Participants to the Project and JAD Workshop 3.Prepare JAD Workshop Materials 4.Perform the JAD Workshop JAD JAD workshops usually meet 4 to 8 hours for 3 to 5 days. The result of a JAD workshop is a document that describes the logical requirements for the proposed system and suggests several alternative technical solutions.
9-44 JAD JAD ADVANTAGES Improved Systems Design that Better Meets the Needs of Knowledge Workers. Reduced Delivery Time for the New System. Improved Relations Among Management, IT Specialists, and Knowledge Workers. Increased Sense of Ownership by Management and Knowledge Workers.
9-45 TO SUMMARIZE Systems development is an important undertaking for each and every organization. Your participation during systems development is important because you are a: business process expert liaison to the customer quality control analyst manager of other people
9-46 TO SUMMARIZE The Who s of systems development: Insourcing or IT specialists within your organization Selfsourcing or knowledge workers such as yourself Outsourcing or another organization The How s of systems development: The traditional SDLC Prototyping CASE tools Joint application development