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