Systems Development Planning Lifecycle Systems Development: Some Key Questions • How does an organization ensure that its IT resources support its business plan? • How do.

Download Report

Transcript Systems Development Planning Lifecycle Systems Development: Some Key Questions • How does an organization ensure that its IT resources support its business plan? • How do.

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

Strategic Plan

Steps in IS Planning

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 Qtrly $

Engineering Automation 1H 2002

225 225

True South Flexible E-selling 2H 2002

400 125

1H 2003

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 poorly maintainable 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