30
Systems Development Planning Lifecycle

Sysdev

Embed Size (px)

Citation preview

Page 1: Sysdev

Systems Development

Planning

Lifecycle

Page 2: Sysdev

2

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?

Page 3: Sysdev

3

Systems Lifecycle

• Investigation• Design• Construction• Testing• Implementation

• Maintenance• Enhancement• Retirement

All of these activitiescomprise system developmentand form a lifecycle

Page 4: Sysdev

4

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

Page 5: Sysdev

5

Steps in IS Planning

Strategic PlanIdentify Projects

Prioritize and Select

Determine resources required (people, $, time)

Create planning document

Page 6: Sysdev

6

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

Page 7: Sysdev

7

Example

The objectives of this plan must be time sequenced and budgeted

Engineering AutomationTrue South

Flexible E-selling

Qtrly $ 225 225 400 125 150 150 200 1501H 2002 2H 2002 1H 2003 2H 2003

Page 8: Sysdev

8

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

Page 9: Sysdev

9

Discussion: The benefits of an architecture

• Situation

Page 10: Sysdev

10

Systems Development Model

• Traditional• Alternatives

– Prototyping– Rapid Application Development– CASE-based

– Time-boxing

Page 11: Sysdev

11

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

Page 12: Sysdev

12

Traditional Software Development Lifecycle (SDLC)

• Often called Waterfall Model

Investigation

Design

Construction

Implement

Page 13: Sysdev

13

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

Page 14: Sysdev

14

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

Page 15: Sysdev

15

Example of SDLCPhase 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

Page 16: Sysdev

16

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

Page 17: Sysdev

17

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

Page 18: Sysdev

18

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

Page 19: Sysdev

19

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?

Page 20: Sysdev

20

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

Page 21: Sysdev

21

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

Page 22: Sysdev

22

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

Page 23: Sysdev

23

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

Page 24: Sysdev

24

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

Page 25: Sysdev

25

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

Page 26: Sysdev

26

Rapid Application Development

• Trendy term for many of these alternative methods used is some combination– CASE

– JAD– Prototyping– Time Boxing

Page 27: Sysdev

27

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

Page 28: Sysdev

28

Risk Assessment

• Many projects predictably fail do to risk profile• Major risk factors

– Scope– Timeline– Experience of team

– Organizational change– Geographic scope

Page 29: Sysdev

29

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

Page 30: Sysdev

30

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