390 likes | 523 Views
CSUN Information Systems. IS Theories & Practices. System Development Process & Project Management. IS 655: Supplementary Note 2. Process vs. Project Management.
E N D
CSUN Information Systems IS Theories & Practices System Development Process & Project Management IS 655: Supplementary Note 2
Process vs. Project Management Process Management is an ongoing activity that documents, manages the use of, and improves an organization’s chosen methodology (the “process”) for system development. Process management is concerned with the activities, deliverables, and quality standards to be applied to all projects. Project Management is the process of scoping, planning, staffing, organizing, directing, and controlling the development of an acceptable system at a minimum cost within a specified time frame.
System Development Methodologies • Architected Rapid Application Development (Architected RAD) • Dynamic Systems Development Methodology (DSDM) • Joint Application Development (JAD) • Information Engineering (IE) • Rapid Application Development (RAD) • Rational Unified Process (RUP) • Structured Analysis and Design • eXtreme Programming (XP)
1. Scope Definition • Purpose: define perceived problems, opportunities, and directives (POD); assess the risk of project; establish scope, preliminary requirements and constraints, participants, budget and schedule (preliminary study) • Issues: Is the project worthwhile? (using PIECES framework) Define the scope of project • Deliverable: Project charter/plan • Feasibility check: Cancel project / Approve to continue / Reduce or expanse the scope with budget and schedule modification
PIECES Framework for Systems Improvement P the need to improve performance I the need to improve information(and data) E the need to improve economics, control costs, or increase profits C the need to improve control or security E the need to improve efficiency of people and processes S the need to improve service to customers, suppliers, partners, employees, etc.
2. Problem Analysis • Purpose: to study and analyze the existing system from the users’ perspectives as they see Data, Processes, and Interfaces • Issue: Cost/benefits of building new system to solve these problems • Deliverable: system improvement objectives (business criteria to evaluate the new system) • Feasibility check: Cancel project / Approve to continue / Reduce or expanse the scope with budget and schedule modification
3. Requirement Analysis • Purpose: discover users’ needs or expectations out of the new system in terms of Data, Processes, and Interfaces • Issue: Specify requirements for the new system (WHAT TO BE DONE) without prematurely expressing technical details (HOW) • Errors and omissions in requirement analysis result in user dissatisfaction of final system and costly modifications • Deliverable: business requirements statement
4. Logical Design • Purpose:translating business user requirements into a system model that depicts only WHAT TO DO without specifying any possible technical design or implementation of those requirements (conceptual design). • Issue: usinggraphical model of a system to represent user requirements in terms of Data, Processes and Interfaces, and to facilitate improved communication between system stakeholders. • Caution: Analysis paralysis – excessive system modeling dramatically slows progress toward implementation of the intended system solution. • Deliverable: Logical Systems Models (DFD, ERD etc)
5. Decision Analysis • Purpose: identify all candidate solutions, analyze the feasibility of each candidate, recommend a candidate system as the target solution • Issue: Feasibility analysis in terms of technical, operational, economic, schedule (TOES), and risk • Deliverable: approved system proposal • Feasibility check: Cancel project / Approve system proposal with budget and schedule modification / Reduce the scope of proposed solution with budget and schedule modification
Decision Analysis • Candidate solutions evaluated in terms of TOES and Risks: • Technical feasibility – Is the solution technically practical? Does our staff have the technical expertise to design and build this solution? • Operational feasibility – Will the solution fulfill the users’ requirements? To what degree? How will the solution change the users’ work environment? How do users feel about such a solution? • Economic feasibility – Is the solution cost-effective? • Schedule feasibility – Can the solution be designed and implemented within an acceptable time? • Risk feasibility – What is the probability of a successful implementation using the technology and approach? (Risk Management)
6. Physical Design • Purpose: to transform business requirements into technical design specifications for construction • Issue: HOW technology will be used to build the system in terms of Data, Processes,and Interfaces • Design by Specifications vs. Design by Prototyping • Deliverable: System design specifications (blueprints) • Feasibility check: Continue/ Reduce or expanse the scope with budget and schedule modification
7. Construction Phase • Purpose: to build and test a system that fulfill business requirements and design specs; implement interfaces between new and existing systems • Issue: Construct database, application programs, user/system interfaces, implement purchased or leased software • Deliverable: proposed system within budget and schedule
8. Implementation Phase • Purpose: deliver the production system into operation • Issue: Train users, write manuals, load files, populate database, final test • Conversion plan: parallel systems, switch point • Deliverable: system up and running
Installation/Conversion Strategies New System • Abrupt cutover • Parallel conversion • Location (Pilot) conversion • Staged (Phased) conversion Old System Old system New System New System Old System New System Old System
Installation/Conversion Strategies … Abrupt Cutover Risk Location Conversion Staged Conversion Parallel Conversion Cost
Operation and Support • Ongoing system support would be provided until the system becomes obsolete and is replaced by a new one • Issues: technical support for user, fixing bugs, recovering plan, adapt to emerging requirements • When a system has reached entropy, new project for new system should be initiated
Summary: Systems Development Process • Scope Definition Phase: What Business Problem • Problem Analysis Phase: What System Issues (Info/Data, Processes, Communications/Interfaces) • Requirement Analysis Phase: What User Needs • Logical Design: Conceptual Model – What to Do • Decision Analysis Phase: What Solution • Design Phase: Physical Model: How to Do • Construction Phase: Do It • Implementation Phase: Use It
Model-Driven Development • Model-drivendevelopment – a system development strategy that emphasizes the drawing of system models to help visualize and analyze problems, define business requirements, and design information systems. • Process Modeling – a process-centered technique popularized by the structured analysis and design methodology used models of business process requirements to derive effective software designs for a system. • Data Modeling – a data-centered technique to model business data requirements and design appropriate database systems. • Object Modeling – a technique to merge the data and process concerns into singular constructs called objects. Object models are diagrams that document a system in terms of its objects and their interactions.
Model-Driven Development … • Advantages: • Planning ahead • Extensive modeling current system and requirement analysis • Analyze many alternative technical solutions • Suitable for well understood systems • Disadvantages: • Long duration • Passive participation of user as they don’t see the product • Requirements in each phase should be fully addressed: impractical and/or inflexible
Rapid Application Development • Rapid application development (RAD) techniques emphasize extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the system development process.RAD is based on building prototypes that evolve into finished systems (often using time boxing) • A prototype is a smaller-scale, representative or working model of the users’ requirements or a proposed design for an information system. • A time box is a non-extendable period of time, usually 60-120 days, by which a candidate system must be placed into operation. Improvements will be released in later versions
Rapid Application Development … • Advantages: • Handle uncertain or imprecise user requirements • Active user participation in building physical product: increase enthusiasm, support • Early detection of errors and omissions: with testing and modifying prototype • Reduce risk with iterative prototyping • Disadvantages: • Increase lifetime costs to operate, support, and maintain the system (constantly doing and fixing) • Short problem analysis may result in solving wrong problems • Discourage an analyst from considering other technical alternatives than the one being used in prototyping
Measures of Project Success • The resulting information system is acceptable to the customer. • The system was delivered “on time.” • The system was delivered “within budget.” • The system development process had a minimal impact on ongoing business operations.
Poor Expectations Management Scope Creep – the unexpected and gradual growth of requirements during an information systems project. Feature Creep– the uncontrolled addition of technical features to a system.
Causes of Project Failure • Failure to establish upper-management commitment to the project • Lack of organization’s commitment to the system development methodology • Taking shortcuts through or around the system development methodology • Poor expectations management • Premature commitment to a fixed budget and schedule • Poor estimating techniques • Overoptimism • The mythical man-month (Brooks, 1975) • Inadequate people management skills • Failure to adapt to business change • Insufficient resources • Failure to “manage to the plan”
Inter-task Dependencies • Finish-to-start (FS)—The finish of one task triggers the start of another task. • Start-to-start (SS)—The start of one task triggers the start of another task. • Finish-to-finish (FF)—Two tasks must finish at the same time. • Start-to-finish (SF)—The start of one task signifies the finish of another task.
Task Splitting & Delaying • Critical Path – the sequence of dependent tasks that determines the earliest possible completion date of the project. • Tasks that are on the critical path cannot be delayed without delaying the entire project schedule. To achieve resource leveling, critical tasks can only be split. • Slack Time – the amount of delay that can be tolerated between the starting time and completion time of a task without causing a delay in the completion date of the entire project. • Tasks that have slack time can be delayed to achieve resource leveling
PERT Chart Project Initiation Legend 5-3-2001 N/A Task Task 5-3-2001 N/A Scheduled Scheduled Scheduled Scheduled intertask Start Finish Start Finish dependency Actual Actual Actual Start Actual Start Finish Finish Preliminary Investigation 5-3-2001 5-12-2001 5-3-2001 5-11-2001 Problem Analysis Requirements Analysis Decision Analysis 5-28-2001 7-15-2001 6-13-2001 7-30-2001 5-12-2001 6-12-2001 5-30-2001 7-18-2001 6-13-2001 8-3-2001 5-12-2001 6-14-2001 Design Construction 7-3-2001 9-25-2001 7-19-2001 11-13-2001 7-5-2001 10-9-2001 7-20-2001 In Progress Implementation 9-10-2001 12-14-2001 TBD TBD
TASK D Duration Tue 2/20/01 7 days Tue 2/20/01 0 days TASK A TASK B TASK C TASK E TASK I Mon 2/5/01 3 days Wed 2/7/01 2 days Fri 2/9/01 2 days Mon 2/19/01 6 days Tue 2/27/01 5 days Mon 2/5/01 0 days Wed 2/7/01 0 days Fri 2/9/01 0 days Tue 2/20/01 1 day Tue 2/27/01 0 days TASK F TASK G Wed 2/14/01 3 days Fri 2/16/01 2 days The critical path is highlighted in red Fri 2/16/01 2 days Tue 2/20/01 2 days Slack Time TASK H Thu 2/15/01 1 day Tue 2/20/01 3 days Critical Path
2001 ID Task Name May Jun Jul Aug Sep Oct Nov Dec 1 Preliminary investigation 2 Problem analysis 3 Requirements analysis 4 Decision analysis 5 Design 6 Construction 7 Implementation Today Complete Task Legend Incomplete Task Gantt Chart
Scheduling Strategies Forward Scheduling – a project scheduling approach that establishes a project start date and then schedules forward from that date. Reverse Scheduling – a project scheduling strategy that establishes a project deadline and then schedules backward from that date.