Systems Development Process Principles and phases of system

  • Slides: 34
Download presentation
Systems Development Process Principles and phases of system development Karolina Muszyńska Based on http:

Systems Development Process Principles and phases of system development Karolina Muszyńska Based on http: //www. csun. edu/~dn 58412/IS 431_SP 13. html

System Development Process � Where do systems development projects come from? � System Development

System Development Process � Where do systems development projects come from? � System Development Process and the CMM � System life cycle vs. System development methodology � Principles of systems development � Systems development phases: purpose and outputs 2

Where Do Systems Development Projects Come From? � Problem – an actual undesirable situation

Where Do Systems Development Projects Come From? � Problem – an actual undesirable situation that prevents the organization from fully achieving its purpose, goals, and/or objectives. � Opportunity – a chance to improve the organization even in the absence of an identified problem. � Directive - a new requirement that is imposed by management, government, or some external influence/parties. 3

Where Do Systems Development Projects Come From? � Planned Projects ◦ An information systems

Where Do Systems Development Projects Come From? � Planned Projects ◦ An information systems strategy plan has examined the business as a whole to identify those system development projects that will return the greatest strategic (long-term) value to the business ◦ A business process redesign has thoroughly analyzed a series of business processes to eliminate redundancy and bureaucracy and to improve efficiency and value added. Now it is time to design/redesign the supporting information system for those redesigned business processes. 4

Where Do Systems Development Projects Come From? � Unplanned projects ◦ Triggered by a

Where Do Systems Development Projects Come From? � Unplanned projects ◦ Triggered by a specific problem, opportunity, or directive that occurs in the course of doing business. ◦ Approved by Steering Committee – an administrative body of system owners and information technology executives that prioritizes and approves candidate system development projects. 5

System Development Process System development process – a set of activities, methods, best practices,

System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders use to develop and continuously improve information systems and software � CMM Requirement � A consistent process for system development assures ◦ Efficiencies to allow management to shift resources between projects ◦ Consistent documentation to reduce lifetime costs to maintain the systems (by other developers/teams) ◦ Consistent quality across projects � 6

CMM Process Management Model Capability Maturity Model (CMM) – a standardized framework for assessing

CMM Process Management Model Capability Maturity Model (CMM) – a standardized framework for assessing the maturity level of an organization’s information system development and management processes and products. It consists of five levels of maturity: ◦ Level 1—Initial: System development projects follow no prescribed process. ◦ Level 2—Repeatable: Project management processes and practices are established to track project costs, schedules, and functionality. ◦ Level 3—Defined: A standard system development process (a “methodology”) is purchased or developed. All projects use a version of this process to develop and maintain information systems and software. ◦ Level 4—Managed: Measurable goals for quality and productivity are established. ◦ Level 5—Optimizing: The standardized system development process is continuously monitored and improved based on measures and data analysis established in Level 4. 7

Life Cycle vs. Methodology � System life cycle – the lifetime of an information

Life Cycle vs. Methodology � System life cycle – the lifetime of an information system can be divided into two stages, (1) system development and (2) system operation and maintenance. � System development methodology – a standardized development process that defines a set of activities, methods, best practices, deliverables, and automated tools that system developers and project managers are supposed to use to develop and continuously improve information systems and software. 8

A System Life Cycle 9

A System Life Cycle 9

System Development Methodologies � Architected Rapid Application Development (Architected RAD) � Dynamic Systems Development

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 � e. Xtreme Programming (XP) 10

Principles of System Development � Get the system users involved. � Use a problem-solving

Principles of System Development � Get the system users involved. � Use a problem-solving approach. � Establish phases and activities. � Document � Establish � Manage � Justify � Don’t throughout the development. standards. the process and projects. systems as capital investments. be afraid to cancel or revise scope. � Divide and conquer. � Design systems for growth and change. 11

Principles of System Development … � Principle 1: Get the owners and users involved

Principles of System Development … � Principle 1: Get the owners and users involved in all system development phases. � User Participation/Involvement creates “System Ownership” and leads to User Acceptance and User Satisfaction. � Bottom line: owners and users will live with the system !!! � “OUR system [owners + users + developers] will be effective, efficient, competitive, user friendly” 12

Principles of System Development … � Principle 2: Use a problem solving approach ◦

Principles of System Development … � Principle 2: Use a problem solving approach ◦ Study and understand the problem in its context ◦ Define the requirements of a suitable solution ◦ Identify candidate solutions and select the best available ◦ Design and/or implement the solution ◦ Observe and evaluate the solution impact, and refine the solution accordingly 13

Principles of System Development … � Principle 3: Establish phases and activities (define a

Principles of System Development … � Principle 3: Establish phases and activities (define a process to follow) ◦ ◦ ◦ ◦ Scope definition Problem Analysis Requirement Analysis Logical Design Decision Analysis Physical Design and Integration Construction and Testing Implementation and Delivery � These phases identify problems, evaluate, design, and implement solution (Systems Development Process) 14

Principles of System Development … � Principle 4: Document throughout the system development process

Principles of System Development … � Principle 4: Document throughout the system development process ◦ Ongoing activity to reveal strength and weakness of the system during the development process ◦ Enhance communication and acceptance among stakeholders ◦ Agreements and Contracts between Owner/User and Analyst/Designer on the Scope, Requirements, Resources of the project. 15

Principles of System Development … � Principle 5: Establish standards for consistency ◦ System

Principles of System Development … � Principle 5: Establish standards for consistency ◦ System development standards: documentation, methodology ◦ Business standards: business rules and practices ◦ IT standards : common architecture and configuration for a consistent system development 16

Principles of System Development … � Principle 6: Manage the process and projects ◦

Principles of System Development … � Principle 6: Manage the process and projects ◦ Process management : ongoing activity that documents, manages, oversees the use of, and improves an organization’s chosen methodology (the “process”) for system development. Process management is concerned with phases, activities, deliverables, and quality standards should be consistently applied to all projects. ◦ Project management : the process of scoping, planning, staffing, organizing, directing, and controlling a project to develop an information system at a minimum cost, within a specified time frame, and with acceptable quality. 17

Principles of System Development … � Principle 7: Justify Systems as Capital Investments ◦

Principles of System Development … � Principle 7: Justify Systems as Capital Investments ◦ Strategic Information System Plan fits in and supports Strategic Enterprise Plan ◦ There are several possible solutions, the first one is not necessary the best ◦ Feasibility of each solution in terms of �Cost Effectiveness: Cost/benefit analysis �Risk management: Identification, evaluation, and control of potential threat to the completion of a system 18

Principles of System Development … � Principle 8: Don’t be Afraid to Cancel and

Principles of System Development … � Principle 8: Don’t be Afraid to Cancel and Revise Scope: Creeping Commitment ◦ Expectation and scope of a project may be growing up ◦ Development process has checkpoints for its phases: all costs committed so far are sunk costs. �Cancel the project if it is no longer feasible (ORGANIZATION) �Reevaluate/adjust cost/schedule if the scope is expanding (ANALYST) �Reduce the scope if budget/schedule is shrinking (ANALYST) 19

Principles of System Development … � Principle 9: Divide and Conquer ◦ Divide a

Principles of System Development … � Principle 9: Divide and Conquer ◦ Divide a complex system into simpler subsystems/components ◦ Problem solving process could be simplified for smaller problems ◦ Different subsystems for different stakeholders 20

Principles of System Development … � Principle Change 10: Design Systems for Growth and

Principles of System Development … � Principle Change 10: Design Systems for Growth and ◦ Changes of technology, user requirements ◦ Flexibility and adaptability should be built into the system 21

System Building Blocks 22

System Building Blocks 22

Scope Definition � Purpose: define perceived problems, opportunities, and directives; assess the risk of

Scope Definition � Purpose: define perceived problems, opportunities, and directives; assess the risk of project; establish scope, preliminary requirements and constraints, participants, budget and schedule (preliminary study) � Issues: Is the project worthwhile? 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 23

Problem Analysis � Purpose: to study and analyze the existing system from the users’

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 24

Requirement Analysis � Purpose: discover users’ needs or expectations out of the new system

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 IS 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 25

Logical Design � Purpose: translating business user requirements into a system model that depicts

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: using graphical model of a system to represent user requirements in terms of Data, Processes and Interfaces, and to facilitate improved communication between system stakeholders. � Deliverable: Logical Systems Models (DFD, ERD, Use Case Diagrams, Class Diagrams, etc. ) 26

Decision Analysis � Purpose: identify all candidate solutions, analyze the feasibility of each candidate,

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 27

Decision Analysis Preview � Candidate and Risks: solutions evaluated in terms of TOES ◦

Decision Analysis Preview � Candidate and Risks: solutions evaluated in terms of TOES ◦ 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) 28

Physical Design � Purpose: to transform business requirements into technical design specifications for construction

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 � Feasibility check: Continue/ Reduce or expanse the scope with budget and schedule modification 29

Construction Phase � Purpose: to build and test a system that fulfills business requirements

Construction Phase � Purpose: to build and test a system that fulfills business requirements and design specs; implement interfaces between new and existing systems � Issue: Construct database, application programs, user/system interfaces, implement software � Deliverable: proposed system within budget and schedule 30

Implementation Phase � Purpose: deliver the production system into operation � Issue: Train users,

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 31

Operation and Support � Ongoing system support would be provided until the system becomes

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 32

Summary: Systems Development Process � Scope Definition Phase: What Business Problem � Problem Analysis

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 33

Cross Life-Cycle Activities Cross life-cycle activity – any activity that overlaps many or all

Cross Life-Cycle Activities Cross life-cycle activity – any activity that overlaps many or all phases of the systems development process. ◦ Fact-finding - the formal process of using research, interviews, meetings, questionnaires, sampling, and other techniques to collect information about system problems, requirements and preferences. ◦ Documentation and presentation �Documentation – the ongoing activity of recording facts and specifications for a systems for current and future reference. �Presentation – the ongoing activity of communicating findings, recommendations, and documentation for review by interested users and mangers. �Repository – a database and/or file directory where system developers store all documentation, knowledge, and artifacts for one or more information systems or projects. ◦ Feasibility analysis ◦ Process and project management 34