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