You are on page 1of 34

Karolina Muszyńska

Based on
 Where do systems development projects
come from?
 System Development Process and the CMM
 System life cycle vs. System development
 Principles of systems development
 Systems development phases: purpose and

 Problem – an actual undesirable situation
that prevents the organization from fully
achieving its purpose, goals, and/or
 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.

 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.

 Unplanned projects
◦ Triggered by a specific problem, opportunity, or
directive that occurs in the course of doing
◦ Approved by Steering Committee – an
administrative body of system owners and
information technology executives that prioritizes
and approves candidate system development

 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

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
◦ 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
◦ Level 4—Managed: Measurable goals for quality and productivity are
◦ Level 5—Optimizing: The standardized system development process is
continuously monitored and improved based on measures and data
analysis established in Level 4.

 System life cycle – the lifetime of an information
system can be divided into two stages, (1) system
development and (2) system operation and

 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.

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)

Principles of System Development

 Get the system users involved.

 Use a problem-solving approach.
 Establish phases and activities.
 Document throughout the development.
 Establish standards.
 Manage the process and projects.
 Justify systems as capital investments.
 Don’t be afraid to cancel or revise scope.
 Divide and conquer.
 Design systems for growth and change.

 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

 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
◦ Design and/or implement the solution
◦ Observe and evaluate the solution impact, and
refine the solution accordingly

 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)
 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.

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

 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.

Principles of System Development …

 Principle 7: Justify Systems as Capital

◦ 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

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

 Principle 9: Divide and Conquer
◦ Divide a complex system into simpler
◦ Problem solving process could be simplified for
smaller problems
◦ Different subsystems for different stakeholders

 Principle 10: Design Systems for Growth and
◦ Changes of technology, user requirements
◦ Flexibility and adaptability should be built into
the system

System Building Blocks

 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

 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

 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

 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
 Deliverable: Logical Systems Models (DFD, ERD,
Use Case Diagrams, Class Diagrams, etc.)

 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

 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
◦ 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
◦ 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

 Purpose: to transform business requirements
into technical design specifications for
 Issue: HOW technology will be used to build the
system in terms of Data, Processes, and
 Design by Specifications vs. Design by
 Deliverable: System design specifications
 Feasibility check: Continue/ Reduce or expanse
the scope with budget and schedule modification

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

 Purpose: deliver the production system into
 Issue: Train users, write manuals, load files,
populate database, final test
 Conversion plan: parallel systems, switch point
 Deliverable: system up and running

 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

 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

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
◦ 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