Information Technology Software

Download Report

Transcript Information Technology Software

Solving Problems in IS: Systems
Approaches
•
•
Logical framework in which to work.
Serves as a reminder. Did I forget
anything?
The Systems Development Life Cycle, “SDLC”
Planning
Analysis
Design
Implementation
The Systems Development Life Cycle, “SDLC”
Planning
Analysis
Design
Implementation
Maintenance!
The Systems Development Life Cycle
Understand the
Business
Problem or
Opportunity
Develop an
Information
System
Solution
Systems Investigation
Product:
Feasibility Study
Systems Analysis
Product:
Functional Requirements
Systems Design
Product:
System Specifications
Implement
the
System
Solution
Systems Implementation
Product:
Operational System
Systems Maintenance
Product:
Improved System
(Dennis text:
4 phases, with
“Investigation”
named “Planning”)
SDLC
Planning
Analysis
Construction (programming)
Testing
Documentation
Conversion
Change Management
Support
Installation
Design
Implementation
Identify Problem/Value.
Feasibility Analysis.
Project Management.
Understand as-is system.
Identify Improvements.
Develop concept for
the to-be system.
Use Cases.
DFDs.
ERDs.
Develop technical
specifics for to-be
system.
Design Strategies.
Physical DFD.
Physical ERD.
Infrastructure Plan.
Interface Structure.
Interface Standards.
Interface Template.
Interface.
Evaluate.
Watch out for “runaway
computer systems”!
•
•
•
•
•
•
2-4 times over budget.
2-3 times behind schedule.
Not performing as expected.
Complicated to use.
Requires more and more users to operate.
Loses or destroys data.
30-35% of
computer projects
are runaways!
(Dennis text: 42% of all corporate
Projects are abandoned)
Where can we spot one?
Planning
Analysis
Design
Implementation
Maintenance
Where can we spot one?
Planning
Analysis
Design
On time?
Budget?
Implementation
Maintenance
Where can we spot one?
Planning
Analysis
Design
On time?
Budget?
Performing as
expected?
What do the
users think?
Implementation
Maintenance
How can we prevent runaways?
Planning
Analysis
Design
Implementation
Maintenance
How can we prevent runaways?
Planning
Analysis
Design
Implementation
Maintenance
“The number
one cause of
runaways is
the installation
or expansion
of a computer
system when
management
does not know
what the
automation is
meant to
accomplish.”
How can we prevent runaways?
Involve both
management
and users in
specifying what
the system needs
to accomplish.
Planning
Analysis
Design
Continuously talk
to and monitor the
design team. BUT,
don’t use them as
your only source of
information!
Implementation
Maintenance
“The number
one cause of
runaways is
the installation
or expansion
of a computer
system when
management
does not know
what the
automation is
meant to
accomplish.”
How can we prevent runaways?
Involve both
management
and users in
specifying what
the system needs
to accomplish.
Planning
Analysis
Design
Continuously talk
to and monitor the
design team. BUT,
don’t use them as
your only source of
information!
Test early and
often!
Implementation
Maintenance
Watch to make
sure things are
going smoothly.
CONFIRM: A classic runaway
example.
•
•
•
AMR partnered with Budget, Hilton, and Marriott
to leverage the success of SABRE, American’s
reservation system.
SABRE auditors, two months before the project
was supposed to go on-line, concluded that the
project was at least 18 months from completion.
Budgeted at around $125 Million... around $225
Million shelled out with no result.
Where did CONFIRM go wrong?
AMR’s answer:
Planning
Analysis
Design
Implementation
Maintenance
Where did CONFIRM go wrong?
AMR’s answer:
Planning
Analysis
Design
Implementation
Maintenance
Budget, Hilton,
and Marriott
assigned
individuals who
“lacked
knowledge of
the industry”.
Where did CONFIRM go wrong?
AMR’s answer:
Planning
Analysis
These individuals
failed to specify
what they wanted
from the system.
Design
Implementation
Maintenance
Budget, Hilton,
and Marriott
assigned
individuals who
“lacked
knowledge of
the industry”.
Where did CONFIRM go wrong?
Budget, Hilton, and Marriott’s answer:
Planning
Analysis
Design
Implementation
Maintenance
Where did CONFIRM go wrong?
Budget, Hilton, and Marriott’s answer:
Planning
Analysis
“You said SABRE
experts would
be assigned to this
project... where are
they?!”
Schedules overly
optimistic.
Design
Implementation
Maintenance
TECHNICAL
PROBLEMS!!
The two 3090s
didn’t connect
well.
Where did CONFIRM go wrong?
Budget, Hilton, and Marriott’s answer:
Planning
Analysis
“You said SABRE
experts would
be assigned to this
project... where are
they?!”
Design
Implementation
Maintenance
Schedules overly
optimistic.
“We GAVE you
specs... 6 feet
high!”
Endless delays.
Cost overruns.
PROBLEMS
CONCEALED!
Software Development...
•
•
... is hard!
Windows 95:
•
•
–
–
–
400 people
4 years
$100,000,000
10,000,000 lines of code
1 “person meeting” per line of code
•
•
•
•
Studies have indicated that an experienced
programmer can produce 30 lines of code per day
on average.
A new billing system can easily require 1 million
lines of code.
That’s 33,000 days, or 133 years, for one
programmer! Coordinating multiple programmers
makes the job more complex.
Annual software productivity increases - about 4%
per year (vs. 30% in hardware).
The IS Project “Logjam”
•
•
Two years planned to put “water” and
“electricity” on the same bill. 40 man-years
and $2 million later, no results!
Why is software development so difficult?
The IS Project “Logjam”
•
•
•
Government study: two-thirds of software
projects had no formal procedure for estimating
the amount of labor or code required, and nearly
half had no standard way to predict the cost of a
program.
Late additions and maintenance - 80% of software
budgets.
Twice the time expected, twice the money “runaway”. As noted, 30-35% of companies fall
victim to them.
•
•
•
•
•
•
Breaking the IS Project Logjam “Solution”
Give data-processing departments the same
clout as everybody else.
Keep both managers and ultimate users
involved in every step of software
development.
Make data-processing managers periodically
work side by side with software users.
Break up big projects to keep programming
teams small.
Give programmers elbowroom.
Make existing software easier to maintain.
Have competent Project
Managers and Analysts!!!!
Development Methodologies
•
Traditional (structured):
• Waterfall - sequential through steps.
• Parallel - sequential through steps, with “Design” often
being done in multiple simultaneous subprojects.
•
Rapid Application Development (RAD):
• Phased - system broken into “versions”, steps are
completed for each version and repeated for next
version.
• Prototyping - “quick and dirty” through Analysis,
Design, and Implementation in iterative fashion.
• Throwaway Prototyping - same as above except
prototypes are “pretend”.
Waterfall Development Method
Pros and Cons of the Waterfall
Method
Pros
Identifies systems
requirements long
before programming
begins
Cons
Design must be
specified on paper
before programming
begins
Long time between
system proposal and
delivery of new
system
Parallel Development Method
Pros and Cons of Parallel
Development
Pros
Cons
Reduces Scheduled
Time
Still Uses Paper
Documents
Less Chance of
Rework
Sub-projects May Be
Difficult to Integrate
How Prototyping Works
Throwaway Prototyping
Pros and Cons of Prototyping
Pros
Very quickly
produces a system
Increased and
Quicker user
interaction
Cons
Less disciplined Often sloppy
Initially intelligent
design features
Become problems
Picking the right methodology
Ability to Develop Systems
With unclear user requirements
With unfamiliar technology
That are complex
That are reliable
With a short time schedule
With schedule visibility
Structured Methodologies
RAD Methodologies
Waterfall
Parallel
Phased Prototyping Throwaway
Poor
Poor
Good
Excellent Excellent
Poor
Poor
Good
Poor
Excellent
Good
Good
Good
Poor
Excellent
Good
Good
Good
Poor
Excellent
Poor
Good
Excellent Excellent
Good
Poor
Poor
Excellent Excellent
Good