260 likes | 601 Views
Using MIS 2e Chapter 10: Managing Development David Kroenke. This presentation has been modified from the original and should be downloaded from the Course Documents area in Blackboard. Study Questions. Q1 – What is systems development? Q2 – Why is systems development difficult and risky?
E N D
Using MIS 2e Chapter 10: Managing Development David Kroenke This presentation has been modified from the original and should be downloaded from the Course Documents area in Blackboard
Study Questions • Q1 – What is systems development? • Q2 – Why is systems development difficult and risky? • Q3 – How do businesses use the systems development life cycle (SDLC) process? • Q4 – How do businesses use the rapid application development (RAD) process? • Q5 – What are the trade-offs among requirements, schedule, and cost? Chapter 10: Managing Development
Q1 – What is System Development? Systems development is a process for creating and maintaining information systems. Developing an information system involves all five components: hardware, software, data, procedures, and people. It requires business knowledge and management skill in addition to technical knowledge. Information systems are never off the shelf due to the involvement of a company’s people and procedures Chapter 10: Managing Development
Q2 – Why is systems development difficult and risky? • Many projects are never finished; others finish 200 percent over budget. • Some projects finish on schedule and within budget but do not meet their goals. Chapter 10: Managing Development
Q2 – Why is systems development difficult and risky? • Determine Requirements • What features do you really want? Do you really need them? • What controls do you need? • What data do you have? What information do you want provided? • Changes in Requirements • Development aims at moving target; Bigger the system and longer the project, the more requirements change • When requirements change, what should the development team do? Stop work and rebuild system in accordance with new requirements? If they do that, system will develop in fits and starts and might never be completed. Or, should the team finish the system, knowing that it will be unsatisfactory the day it is implemented and will therefore need immediate maintenance? Chapter 10: Managing Development
Q2 – Why is systems development difficult and risky? • Scheduling and Budgeting • How long to build? How long to test? • How long for training? How much will it cost for labor? • What are the costs and benefits? What’s the rate of return? • Changing Technology • Do you want to stop your development to switch to the new technology? Would it be better to finish developing according to the existing plan? • Diseconomies of Scale • As people are added, the average contribution per worker decreases (“The Mythical Man Month” by Fred Brooks) • When new staff are brought in, they must be trained by productive members who lose productivity while they’re training new members. • Some tasks simply can’t be speeded up. Chapter 10: Managing Development
Q2 – Why is systems development difficult and risky (Methodologies)? • Is systems development really so bleak? The answer is yes and no. These are two system development processes that help make projects more likely to succeed. • Systems development life cycle (SDLC) – Traditional method for system development but replaced by newer techniques • Rapid application development (RAD) – Makes extensive use of Joint Application Development, Prototyping, CASE tools, and object-oriented programming • Each development method offers advantages based on the scope and complexity of the system being built. No single process works for all projects. Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? The number and names of the phases in the SDLC may vary from one organization to the next Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? Information systems exist to achieve competitive advantage, to solve a problem, or to assist in decision making. Feasibility studies determine if the project “makes sense”; cost and schedule feasibility are at best estimates. Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? The user must review and approve the requirements before the project continues Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? Each component is designed separately; the design team develops alternatives for each component and evaluates the alternatives against the requirements Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? Testing requires large amounts of time and labor; beta testing allows future users to try the system on their own Chapter 10: Managing Development
b) Plunge Q3 – How do businesses use the systems development life cycle (SDLC) process? There are four ways to implement a new system Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? Maintenance pertains to one of two functions: either fixing a system to make it do what is expected or adapting the system to a changing requirement. Chapter 10: Managing Development
Q3 – How do businesses use the systems development life cycle (SDLC) process? • The SDLC is not without its problems: • Systems development seldom goes so smoothly. • There is sometimes a need to crawl back up the waterfall. • It is difficult to document the requirements in a usable way. • Scheduling and budgeting is difficult especially for large projects • Rapid Application Development (RAD) is an alternate methodology Chapter 10: Managing Development
Q4 – How do businesses use the rapid application development (RAD) process? • The basic idea is to break up the design and implementation phases of the SDLC into smaller and more manageable pieces. The requirements phase is less detailed because users are actively involved in the entire process The RAD methodology stresses continuous user involvement, extensive use of prototypes, object oriented programming, Joint Application Design (JAD), and CASE Tools Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Prototyping)? A prototype is a mock-up of an aspect of the new system; each successive version (prototype) provides additional functionality as the system is tested Version 0 (Technical Design) Identify entities and relationships Identify fields and properties Relationship Diagram Version 1 (Visual Design) Confirmation of Technical Design Approval of Visual Design One-level Switchboard Version 2 (Navigation) Two-level switchboard shows complete navigation via Prototype macro Working form (from template) Working report (from template) Version 2.5 . . (Intermediate versions) Version 3 (Implementation) Finished system is developed in stages by substituting completed forms and reports for the various prototype entries Version 4 (Maintenance/Enhancement) Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Prototyping)? • The use of prototyping enables continual testing and avoids the “last minute” panic in traditional systems. • You would do well to apply this approach to your group project; i.e., do not wait until the last minute! Traditional Testing Pattern Continual Testing with Prototypes V0 V1 V2 V2.1 . . . . . V3 Only 28 days remain Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Joint Application Design)? • Joint Application Design (JAD )is key element of RAD to help teams of users and developers conduct design activities. • JAD came about because development wanted to incorporate feedback and testing earlier in the development process. • A JAD session is a design meeting of short duration, perhaps an afternoon or a day or two at most. • The goal is to keep the scope of the component small enough that the design can be completed in a short period. Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Joint Application Design)? Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (CASE tools)? • CASE and visual development tools may also be used in the RAD process. The term CASE has two different meanings: Computer-assisted software engineering focuses on program development. Computer-assisted systems engineering focuses on developing a system that has all five components. Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Object Oriented Programming)? • Object-Oriented Programming (OOP) is a discipline for designing and writing programs. • Programmer defines the data and the operations (functions or methods) that can be applied to the data; thus the data structure is an object that includes both data and functions. • Programmers can create relationships between objects so that one object inherits characteristics from other objects. • A traditional program is executed sequentially, beginning with the first line of code and continuing through the program; it is the program and not the user that drives the system • An object oriented program is driven by the user; i.e., he or she determines the events that take place which in turn trigger system actions Chapter 10: Managing Development
Q4 – How do businesses use the RAD process (Object Oriented Programming)? An Access form is an object, which in turn is comprised of other objects such as bound controls that inherit their properties from other objects (the fields in a table) Command buttons are also objects which in turn recognize events that trigger further actions Chapter 10: Managing Development
Q5: What are trade-offs between requirements, schedule and cost? • There is a constant trade-off between requirements, cost, and time; i.e., more elaborate requirements increase cost and/or time, or conversely a shorter schedule requires lesser requirements and/or more cost Good, Quick, and Cheap – you can have two, but not all three Chapter 10: Managing Development
Summary • Systems development is the process of creating and maintaining information systems and are tailor-made. • Major challenges of systems development include: • Determining requirements • Changes in requirements • Difficulties in scheduling and budgeting • Changing technology • Diseconomies of scale (Mythical Man Month) • Two systems development methodologies are: • Systems Development Life Cycle (SDLC); traditional development methodology • Rapid Application Development (RAD) – uses prototyping, joint application development, and object-oriented programming Chapter 10: Managing Development
Review: Select the appropriate term for each item Prototype – CASE tool – Beta testing – Rapid Application Development – System Development Life Cycle – Mythical Man Month – Joint Application Design • A mockup of one aspect of a new system Prototype • Methodology that uses prototyping and object oriented programmingRapid Application Development • The classical process that is used to develop information systems System Development Life Cycle • Classic book that described diseconomies of scale in a large project Mythical Man Month • Allows future users of the system to try out the new system on their own Beta testing • Users and developers working in conjunction with each other to develop a system Joint Application Design • A object oriented tool to facilitate development of computer programs or systems CASE tool Chapter 10: Managing Development