440 likes | 1.34k Views
BUSINESS DRIVEN TECHNOLOGY Business Plug-In B9 Systems Development. Introduction. Large, complex IT systems take teams of architects, analysts, developers, testers, and users many years to create
E N D
BUSINESS DRIVEN TECHNOLOGY Business Plug-In B9 Systems Development
Introduction • Large, complex IT systems take teams of architects, analysts, developers, testers, and users many years to create • The systems development life cycle is the foundation for many systems development methodologies such as RAD and agile • Systems development life cycle – the overall process for developing information systems from planning and analysis through implementation and maintenance
Introduction 9-5
Systems Development Life Cycle - PHASE 1: PLANNING • Planning phase – involves establishing a high-level plan of the intended project and determining project goals • Primary planning activities include • Identify and select the system for development • Assess project feasibility • Develop the project plan
PLANNING 1: Identify and Select the System for Development • Organizations use different forms of evaluation criteria to determine which systems to develop • Critical success factor (CSF) – a factor that is critical to an organization’s success
PLANNING 2: Assess Project Feasibility • Feasibility study – determines if the proposed solution is feasible and achievable from a financial, technical, and organizational standpoint • Different types of feasibility studies • Economic feasibility study • Operational feasibility study • Technical feasibility study • Schedule feasibility study • Legal and contractual feasibility study
PLANNING 3: Develop the Project Plan • Developing the project plan is a difficult and important activity • The project plan is the guiding force behind on-time delivery of a complete and successful system • Continuous updating of the project plan must be performed during every subsequent phase during the SDLC
Systems Development Life Cycle – PHASE 2: ANALYSIS • Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system • Primary analysis activities include • Gather business requirements • Create process diagrams • Perform a buy vs. build analysis
ANALYSIS 1: Gather Business Requirements • Business requirements – the detailed set of business requests that the system must meet in order to be successful • Different ways to gather business requirements • Joint application development (JAD) session – where employees meet to define or review the business requirements for the system • Interviews • Questionnaires • Observations • Review business documents
ANALYSIS 1: Gather Business Requirements • The system users review the requirements definition document and determine if they will sign-off on the business requirements • Requirements definition document – contains the final set of business requirements, prioritized in order of business importance • Sign-off – the system users’ actual signatures indicating they approve all of the business requirements
ANALYSIS 2: Create Process Diagrams • Process modeling – graphically representing the processes that capture, manipulate, store, and distribute information between a system and its environment • Common process modeling diagrams include • Data flow diagram (DFD) – illustrates the movement of information between external entities and the processes and data stores within the system • Computer-aided software engineering (CASE) tools –automate systems analysis, design, and development
ANALYSIS 2: Create Process Diagrams • Sample data flow diagram
ANALYSIS 3: Perform a Buy vs. Build Analysis • An organization faces two primary choices when deciding to develop an information system • Buy the information system from a vendor • Commercial off-the shelf (COTS) – software package or solution that is purchased to support one or more business functions and information systems • SCM, CRM, and ERP solutions are typically COTS • Build the information system itself
ANALYSIS 3: Perform a Buy vs. Build Analysis • Organizations must consider the following when making a buy vs. build decision: • Are there any currently available products that fit the organization’s needs? • Are there features that are not available and important enough to warrant the expense of in-house development? • Can the organization customize or modify an existing COTS to fit its needs? • Is there a justification to purchase or develop based on the cost of acquisition?
ANALYSIS 3: Perform a Buy vs. Build Analysis • Three key factors an organization should also consider when contemplating the buy vs. build decision: • Time to market • Availability of corporate resources • Corporate core competencies
Systems Development Life Cycle – 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 • Primary design activities include: • Design the IT infrastructure • Design system models
DESIGN 1: Design the IT Infrastructure • Organizations need a solid IT infrastructure to support their IT systems • IT infrastructure must meet the organization’s needs in terms of time, cost, technical feasibility, and flexibility
DESIGN 1: Design the IT Infrastructure • Sample IT infrastructure
DESIGN 2: Design System Models • Modeling – the activity of drawing a graphical representation of a design • Different modeling types include: • Graphical user interface (GUI) – the interface to an information system • GUI screen design – the ability to model the information system screens using icons, buttons, menus, and submenus • Data models – a formal way to express data relationships to a database management system (DBMS) • Entity relationship diagram (ERD) – a technique for documenting the relationships between entities in a database
DESIGN 2: Design System Models • Sample entity relationship diagram (ERD)
Systems Development Life Cycle – PHASE 4: DEVELOPMENT • Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system • Primary development activities include: • Develop the IT infrastructure • Develop the database and programs
DEVELOPMENT 1: Develop the IT Infrastructure • The platform upon which the system will operate must be built prior to building the actual system • In the development phase, the organization purchases and implements the required equipment to support the IT infrastructure
DEVELOPMENT 2: Develop the Database and Programs • Once the IT infrastructure is built, the organization can begin to create the database and write the programs required for the system • IT specialists perform the majority of the tasks associated with the development phase
Systems Development Life Cycle – 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 • Primary testing activities include: • Write the test conditions • Perform the system testing
TESTING 1: Write the Test Conditions • Test condition – the detailed steps the system must perform along with the expected results of each step
TESTING 2: Perform the System Testing • Different types of testing: • Unit testing – tests each unit of code upon completion • Application (or system) testing – verifies that all units of code work together • Integration testing – exposes faults in the integration of software components or units • Backup and recovery testing – tests the ability of an application to be restarted after failure • Documentation testing – verifies instruction guides are helpful and accurate • User acceptance testing (UAT) – tests if a system satisfies its acceptance criteria
Systems Development Life Cycle – PHASE 6: IMPLEMENTATION • Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system • Primary implementation activities include: • Write detailed user documentation • Determine implementation method • Provide training for the system users
IMPLEMENTATION 1: Write Detailed User Documentation • System users require user documentation that highlights how to use the system • User documentation – highlights how to use the system
IMPLEMENTATION 2: Determine Implementation Method • Four primary implementation methods • Parallel implementation • Plunge implementation • Pilot implementation • Phased implementation
IMPLEMENTATION 3: Provide Training for the System Users • Organizations must provide training for system users • Two most popular types of training include: • Online training – runs over the Internet or off a CD-ROM • Workshop training – set in a classroom-type environment and led by an instructor
Systems Development Life Cycle – PHASE 7: MAINTENANCE • Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals • Primary maintenance activities include: • Build a help desk to support the system users • Perform system maintenance • Provide an environment to support system changes
MAINTENANCE 1: Build a Help Desk to Support the System Users • Internal system users have a phone number for the help desk they call whenever they have issues or questions about the system • Help desk – a group of people who respond to internal system user questions • Providing a help desk is an excellent way to provide comprehensive support for new system users
MAINTENANCE 2: Perform System Maintenance • Maintenance – fixing or enhancing an information system • Different types of maintenance include • Adaptive maintenance • Corrective maintenance • Perfective maintenance • Preventative maintenance
MAINTENANCE 3: PROVIDE AN ENVIRONMENT TO SUPPORT SYSTEM CHANGES • An organization must modify its systems to support the business environment • It typically accomplishes this through change management systems and change control boards • Change management system – a collection of procedures to document a change request and define the steps necessary to consider the change based on the expected impact of the change • Change control board (CCB) – responsible for approving or rejecting all change requests
Software Problems Are Business Problems • Primary reasons for project failure include • Unclear or missing business requirements • Skipping SDLC phases • Failure to manage project scope • Scope creep – occurs when the scope increases • Feature creep – occurs when extra features are added • Failure to manage project plan • Changing technology
Software Problems Are Business Problems • Find errors early: the later in the SDLC an error is found - the more expensive it is to fix
Closing Case OneDisaster at Denver International Airport • DIAs baggage system relied on 300 computers to route bags and 4,000 telecars to carry luggage across 21 miles of track • Due to baggage system failures, DIA delayed its opening for 16 months, costing taxpayers roughly $1 million per day, which totaled around $500 million
Closing Case One Questions • One of the problems with DIA’s baggage system was inadequate testing. Describe the different types of tests DIA could have used to help ensure its baggage system’s success • Evaluate the different implementation approaches and choose the one that would have most significantly increased the chances of the project’s success • Explain the cost of finding errors and how more time spent in the analysis and design phase could have saved Colorado taxpayers hundreds of millions of dollars • Explain why BAE could not take an existing IT infrastructure and simply increase its scale and expect it to work
Closing Case TwoReducing Ambiguity in Business Requirements • The number one reason projects fail is bad business requirements • Business requirements are considered “bad” because of ambiguity or insufficient involvement of end users during analysis and design • A requirement is unambiguous if it has the same interpretation for all parties
Closing Case Two Questions • Why are ambiguous business requirements the leading cause of system development failures? • Explain why the words “and” and “or” tend to lead to ambiguous requirements • Research the Web and determine other reasons for “bad” business requirements • What is wrong with the following business requirement: “The system must support employee birthdays since every employee always has a birthday every year”