You are on page 1of 56

Information System for Managers

Systems Development

Content

Objectives Participants in Development Strategic Plan IS Plan System Development Initiatives System Development Life Cycle Development Methodology / Model Software Engineering and Software Process CMM and ISO 9001 Project Management Quality

Objectives
Important to learn how to:

Initiate systems development process Analyze your needs with help of IS personnel Planned Aligned with corporate goals Rapidly developed

Learn how a project can be:


Avoid costly failures of system development projects by understanding the process

Participants in Systems Development


Stakeholders

People who ultimately are effected from project Determines objectives of the information system Delivers system that meets objectives Project Manager, Analysts, Designers, Programmers, Testers

Development team

Support personnel Users Managers


4

Initiating Systems Development


Systems development initiatives

Arise from all levels of an organization Can be planned or unplanned

Number of reasons for initiating systems development projects

Initiating Systems Development (continued)

Figure 12.2: Typical Reasons to Initiate a Systems Development Project


6

Information Systems Planning and Aligning Corporate and IS Goals

Figure 12.3: Information Systems Planning


7

Information Systems Planning and Aligning Corporate and IS Goals (continued)

Figure 12.4: The Steps of IS Planning


8

Information Systems Planning and Aligning Corporate and IS Goals (continued) Strategic Plan

Open new branches abroad BESEL II compliance Retain profitable customers Increase wallet share Reduce Cost

IS Plan

Total Branch Automation Data Warehouse Data Mining Priority I Total Branch Automation Priority II MDM (Master Data Management) initiative Priority III DWDM
9

System Development Initiatives


Establishing Objectives for Systems Development


Overall objective of systems development: achieve business goals, not technical goals i.e. Average waiting time for getting reservation should be less than 5 minutes, opposed to use state of the art Java Technology

10

Systems Development Life Cycle


SDLC: System or Software? Before project starts System Investigation Feasibility Study. For the outsourced components RFP Proposal Submission Selection of Vendor Contract Once project is awarded Requirements Study System Analysis System Design Programming Implementation

11

Systems Development Life Cycle (Cont)


After project is completed Maintenance Review Umbrella Activities Project Management Quality Audit Review Testing Configuration Management

12

Phases of SDLC
Questions to be asked and answered for each phase Who carries out the activities? What is carried out? How is it carried out? What is the output? What tools are used?

Phases of SDLC (Cont)


Umbrella Activities Processes Project Management Quality Assurance and Quality Control

Audit Reviews SCM Metrics

Systems Investigation
What primary problems might a new or enhanced system solve? What opportunities might a new or enhanced system provide? What new hardware, software, databases, telecommunications, personnel, or procedures will improve an existing system or are required in a new system? What are the potential costs (variable and fixed)? What are the associated risks? 15

Initiating Systems Investigation


Systems request form: submitted by someone who wants IS department to initiate systems investigation

Problems in or opportunities for system Objectives of systems investigation Overview of proposed system Expected costs and benefits of proposed system

16

Participants in Systems Investigation (continued)

Figure 12.12: The Systems Investigation Team


17

Feasibility Analysis

Figure 12.13: Technical, Economic, Legal, Operational, and Schedule Feasibility


18

The Systems Investigation Report


Summarizes results of systems investigation Summarizes the process of feasibility analysis Recommends a course of action

Continue on into systems analysis Modify the project in some manner Drop the project

Reviewed by steering committee

19

The Systems Investigation Report (continued)

Figure 12.15: A Typical Table of Contents for a Systems Investigation Report


20

Systems Development Life Cycle (continued)

Figure 12.5: Relationship Between Timing of Errors and Costs


21

Development Methodology

What?: In what order the SDLC phase activities are to be carried out Objectives: Meet system objectives with Minimizing the Risk Capturing the error at the earliest Types Linear Sequential Model (also called Water Fall Model, Classic Life Cycle) Incremental Process Models Evolutionary Process Models - Spiral Model

Development Methodology (Cont.)


Other Concepts: Prototype End User Involvement Component Based Development Unified Process Agile View of Process / Xtreme Programming Pair Programming Multiple Builds Continuous Testing PSP (Personal Software Process) TSP (Team Software Process)

Prototyping
An iterative approach Operational prototype: functioning prototype

Accesses real data files, edits input data, makes necessary computations and comparisons, and produces real output

Non-operational prototype: a mock-up, or model

Includes output and input specifications and formats

24

Prototyping (continued)

Figure 12.7: Prototyping


25

Agile Development
Agile development: frequent face-to-face meetings with developers and users to refine and test system Extreme programming (XP): pairs of programmers design, test, and code system iteratively

26

The End-User Systems Development Life Cycle


End-user systems development: primary effort is undertaken by a combination of business managers and users Can be structured as complementary to, rather than in conflict with, existing and emerging information systems

27

Outsourcing and On-Demand Computing


Reduces costs Obtains state-of-the-art technology Eliminates staffing and personnel problems Increases technological flexibility

28

Outsourcing and On-Demand Computing (continued)

29

Factors Affecting Systems Development Success


Successful systems development: delivers a system that meets user and organizational needson time and within budget Factors

Involvement of users and stakeholders Top management support Degree of change Quality of project planning Use of project management and CASE tools

30

Degree of Change
Continuous improvement projects

High degree of success Relatively modest benefits High degree of risk High potential for major business benefits Ability to recognize and deal with existing or potential problems

Reengineering projects

Managing change

31

Degree of Change (continued)

Figure 12.10: The degree of change can greatly affect the probability of a projects success
32

Software Engineering & Software Process


Software Engineering=S/W Process + Technology (Technical Method, Tool) Establishment and use of sound engineering principles to obtain software Study and Application of systematic, disciplined, quantifiable approach to develop, operate and maintain software Software Process: Framework of tasks required to build software. Who writes Software Process? SEPG Framework = Activities for each Phase / Sub-Phase + Umbrella Activities

Software Process (Cont)

Umbrella Activities occur throughout the process (PM, SQA, SCM, Measurement) Why good process? Good Process --> Good product (hopefully!) Hence process customized to type of product How to find that project will be successful After project is complete (too late) Success of earlier project Good Processes (How do you know? Third party certified)

Software Process (Cont)


ISO 9001 and SEI CMM

Specify what (not how) part of process Both are process related (not Product) Third party assesses the process ISO has only one level (Yes / No), Periodic Reassessment, For all activities, International Standard CMM has five levels, Assessed only once, Only for software, Standard by SEI

Software Process (Cont)


SEI CMM (Software Engineering Institute Capability Maturity Model)

Five Levels (Initial, Repeatable, Defined, Managed, Optimizing) By default, one is at level 1 Each level (>1) has number of KPA, e.g. level 2 has Requirements Management, Software Project Planning, .. For level n certification, should demonstrate all KPA of level 2,..n

Software Process:SEI CMM (Cont)


Each KPA has: Goals : Overall Objectives of KPA Commitments: to be met by mgmt to fulfill the requirements Abilities: Prerequisites to meet commitments (Technical,Organizational) Activities: Specific tasks to be done Methods for Monitoring Implementation Methods for verifying Implementation

Software Process:SEI CMM (Cont)


Getting CMM level n implies: Better process --> Cost Saving Better Process --> Better product --> Customer satisfaction Marketability Caution
Following process in letter, but not in spirit-> Frustrated Project Team Increased Cost, Same Quality Product

Project, Operations, Program


Project: Temporary endeavor to create unique services / product) (e.g Payroll application for GVFL) Progressive elaboration is project characteristics Operations: On-going and Repetitive (e.g Network administration for computer center) Program: Large, long-range objective (e.g. Man on Moon, Indian Space Program, Oracle RDBMS). Broken into number of projects

Typical Software Project


More than 50% of all software systems had significant cost overruns 60% had serious schedule slippage A carelessly planned project will take three times longer to complete than projected; a carefully planned project will take only twice as long. Projects advance quickly till they become 90% complete; then they remain at 90% forever

Project Management
Software doesnt just happen, We need to manage it Successful project is one that is completed in time, within budget (cost) and performs the required function (scope) meeting quality requirements Project Management: Application of knowledge, skills, tools and techniques to project activities to meet project requirement

Type of Projects
Development Project

Maintenance Project
Project with some cycles Testing Project On-site vs. Offshore Product

End User Functional Organization


CEO

Func. Head Staff Staff

Func. Head Staff Staff

Func. Head Staff Staff

Staff

Staff

Staff

Grayed boxes show staff involved in projects

End User Project based Organization


CEO

Proj. Mgr. Staff Staff

Proj. Mgr. Staff Staff

Proj. Mgr. Staff Staff

Staff

Staff

Staff

End User Matrix Organization


CEO

Func. Head. Staff Staff

Func. Head Staff Staff

Chief Proj. Mgr. PM PM

Staff

Staff

PM

Developer Project Organization


SQA Delivery Head
Project Manager I Project Manager II Quality Adm Module Leader Prog

Project / Team Leader


Module Leader Prog Module Leader Prog

DB, System Adm

Client & Developer: On-site & Offshore Organization

Delivery Head Offshore

Client Sponsor

Account Manager

Project Manager Offshore Team


On-site Coordinator

Client Project Manager

Client Team

Project Life Cycle


Initiation

Planning
(Execution)

Tracking (Monitoring and Controlling)


Closure

Knowledge Areas
Scope Management Time Management Cost Management Quality Management Human Resource Management Communications Management Risk Management Procurement Management Integration Management

Success Factors for Software Project

User Involvement Executive Mgmt Support Clear Requirement statement Proper Planning Realistic Expectations Smaller Project milestones Competent Staff Ownership Clear Vision & Objectives Hard-working, Focused staff Total

19 16 15 11 10 9 8 6 3 3 100

Why projects fail?


Technical Reasons Project Management User Participation Changes to requirement Employee Turnover Competition Management support

Software Quality Fundamentals


Quality Conformance to Requirements (Stated Needs Manufacturer view) Fitness for use (Implied Needs - User View) (We will concentrate on first definition) Software Quality Define features for this application S/W Functionality Performance Usability, etc.. etc..

Software Quality Fundamentals (cont)


Software Quality Activities: Development Activities: Technical team Quality Assurance Activities: SQA Group SQA group objective: To assist development team in achieving high quality product To provide management with data necessary to be informed about product quality

Software Quality Fundamentals (cont)


Quality Control (QC) Activities: Reviews / Inspections / Tests to ensure that work product meet requirements (Quality) Feedback Loop to Process

Carried out by developer / independent


Ensured by SQA Group Wrongly considered to be part of SQA

SQA Group does not create process, but ensures it is followed SQA Group does not do QC, but ensures it is carried out

Software Quality Fundamentals (cont)


SQA Activities Reviews project plan to ensure that process defined is in compliance with organization policy, internal standard, etc. Reviews S/W Engineering activities to verify compliance with the defined software process Ensures that review / tests are carried out as per SQA plan, deviations noted and dealt according to documented procedure Audits designated software work products to verify compliance with (project) process

Software Quality Fundamentals (cont)


SQA Activities (cont)

Records noncompliance and reports to mgmt. Tracks noncompliance till resolution Coordinates control and management of change

(Configuration Management)
Helps to collect metrics and analyzes

You might also like