Systems Development Planning Lifecycle

Systems Development
Planning
Lifecycle
Systems Development: Some Key
Questions
• How does an organization ensure that its IT resources
support its business plan?
• How do we ensure compatibility and interoperability
across different system development efforts?
• How does a systems project get authorized?
• How is a project controlled and reviewed?
2
Systems Lifecycle
•
•
•
•
•
•
•
•
Investigation
Design
Construction
Testing
Implementation
Maintenance
Enhancement
Retirement
All of these activities
comprise system
development
and form a lifecycle
3
Strategic Planning
• Based upon businesses multiyear strategic plan
• Identify IT components or requirements within
the business plan
– Include IT inhibitors as well as IT-based
breakthroughs
• Create rough plan of major IT initiatives
• This should form a baseline IT plan as well as
human resources plan
4
Steps in IS Planning
Strategic Plan
Identify
Projects
Prioritize and
Select
Determine resources
required (people, $, time)
Create planning
document
5
Example
3-Year Business Plan
1. Accelerate product intro
process to 4 months
2. Move manufacture of
mature products to
Mexico
3. Expand e-commerce
capabilities to direct
online selling and
custom catalogs
3-Year IS Plan
1. Engineering automation:
implement e-only design
process
2. Extend corporate
network to offshore
manufacturing partners
3. Create internet sales site
and custom catalog
framework
6
Example
The objectives of this plan must be time sequenced and
budgeted
Engineering Automation
True South
Qtrly $
Flexible E-selling
1H 2002
2H 2002
1H 2003
225 225 400 125 150 150
2H 2003
200 150
7
Architecture
• Many firms have developed “systems
architectures”
– A high-level roadmap which maps business
functions to present and future systems
– And shows relationships between systems
– Does not specific timeframe
– Must be updated regularlyl
• Specific investment decisions and priorities can
be made within this framework
8
Discussion: The benefits of an
architecture
• Situation
9
Systems Development Model
• Traditional
• Alternatives
– Prototyping
– Rapid Application Development
– CASE-based
– Time-boxing
10
Benefits of Methodology
• Various models are often called “methodology”
– A system of methods
• Provide common language and expectation
• Allow for standard management reviews
• Create standards for documentation and testing
• Almost impossible to be credible without one
11
Traditional Software Development
Lifecycle (SDLC)
• Often called Waterfall Model
Investigation
Design
Construction
Implement
12
Traditional SDLC
• From four to 12 phases
• One phase completed before beginning next
phase
• Emphasis on documentation and checkpoints
• Detailed planning and budgeting at each phase
13
Example of SDLC
Phase and Deliverable
• Pre-investigation
– Project proposal and recommendation
• Investigation
– Investigation Report
– Analysis of alternatives
– Cost and benefit analysis
– Schedule
– Recommendation
• Requirements Analysis
– Detailed system requirements
– Revised cost and benefits analysis
– Revised schedule
14
Example of SDLC
Phase and Deliverable
• Design
– Logical design
– Technical design
– Test plans
– Revised cost and benefits analysis
– Revised schedule
• Construction & Testing
– System elements
– Implementation plans
– Contingency plans
– End user training materials
– Maintenance plan
– Operations plans
• Implementation
– Cutover / Phase in
15
Pros and Cons of SDLC
• Advantages
– Lends itself to good control
– Phase deliverables well defined
• Facilitates contracting
– Clear checkpoints makes reviews easy
– Creates detailed documentation which is
valuable for maintenance
16
Pros and Cons of SDLC
• Disadvantages
– Time and cost estimation difficult
– Can be very slow
– Requires that requirements are defined
abstractly, without interaction with “system”
– Overall ownership usually on “systems”
people
17
Improvements to Traditional SDLC
• Dedicated project teams
– Full time end-user designers
• JAD workshops
– Joint Application Design
– Facilitated workshops
• 1 to 5 days
• Scribes
• Perhaps prototype tools
– Requirements definition or design
18
Time Box Approach
•
•
•
•
Identify objectives
Create project team
Set time period (6 weeks)
Team cycles through all phases of lifecycle very quickly,
sometimes in parallel
• Fast development tools very useful
• Review takes place at end of time period
– Continue project for another period?
– Cancel all-together?
– Implement current system?
19
Advantages of Time Box Approach
• Advantages
– Eliminates gap between system on paper and
“real” system
– Immediate demonstration of technical
feasibility
– Limits investment risks
– Developers prefer it
20
Disadvantages of Time Box
Approach
• Disadvantages
– Longer commitment may be needed to get
results
– Danger of implementing unstable or poorlymaintainable product
– Without discipline to focus on objectives, can
be wasteful
21
Prototyping
• Aim: Quickly create something that shows how
the system (or a portion of it) will work
• Allow hands out interaction with system to test
requirements and key design features
• Problem: How do you build something quickly?
– Use 4GL (fast development, poor
performance), recode later
– Reduce feature set (no editing of data)
– Create key modules only
22
Prototyping
• Nonoperational prototypes
– Mockups that don’t really work
– Limited to input and output (reports, screens)
• Operational prototypes
– Working systems or portions of systems
– Possibly 4GL based
23
CASE Tools
• Computer Aided Software Engineering
– Toolsets to speed software development and
improve quality
• Upper CASE
– Focus on investigation, analysis and design
• Lower CASE
– Design, code generation and testing
• Integrated CASE include both
24
CASE Tools
• Repository
– Database containing all development objectives
• Data elements and definitions
• Requirements
• Code modules
– Enables a team to work on the CASE project
• Data model
– Dictionary and schema
• Code generation
– Product 3GL or 4GL code
25
Rapid Application Development
• Trendy term for many of these alternative
methods used is some combination
– CASE
– JAD
– Prototyping
– Time Boxing
26
Project Management
• Project Management
– Identification of tasks to be completed
– Understanding of relationship between tasks
– Tracking of task ownership and status
– Adjustment of resources and plans in reaction
to events
– Task tracking and accountability
– Management reporting and escalation
27
Risk Assessment
• Many projects predictably fail do to risk profile
• Major risk factors
– Scope
– Timeline
– Experience of team
– Organizational change
– Geographic scope
28
End User Development
• Easy-to-use tools encourage end-user
development
• So does IT department resource constraints
• Advantages
– Good knowledge of business needs
– Control of resources and priorities
• Disadvantages
– Lack of technical expertise
– Lack of planning
29
IT Organization vs. End-User
Development
• Source of tension
• Users: “It is too slow and don’t know our
business”
• IT: “Users produce poor systems and leave us
with maintenance”
• How should IT respond to this?
– Ignore
– Outlaw and drive underground
– Offer assistance and consultation
30