System development methodologies

Slides:



Advertisements
Similar presentations
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas The primarily goal of a system is to create value for the organization. Many failed systems were abandoned.
Advertisements

PROJECT SCHEDULE PROJECT SCHEDULE Able to : a)Produce a network diagram based on the activities in a construction work b)Produce a network.
Chapter 3 Managing the Information Systems Project
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Systems Analysis and Design 9th Edition
Alternate Software Development Methodologies
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Project Management.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
System Analysis and Design (SAD )
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Modern Systems Analysis and Design Third Edition
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Chapter 4: Project Management Objectives Define the terms project and project management, and differentiate between project and process management. Describe.
Object-oriented Analysis and Design
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
What is a project? Project Management Institute definition
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 4.
CHAPTER 9: LEARNING OUTCOMES
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
An Agile View of Process
Project Management and Scheduling
What is Business Analysis Planning & Monitoring?
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Project Management An overview. What is a Project A temporary job to accomplish a specific task A temporary job to accomplish a specific task Attributes.
Toolkit 4.
Computer System Analysis
SA Capstone Requirements and Design Week 10 SYST Winter 2013 Instructors: Jerry Kotuba & Joe Varrasso.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Chapter 2 The process Process, Methods, and Tools
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
BIS 360 – Lecture Two Ch. 3: Managing the IS Project.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Introduction to Systems Analysis and Design
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Large Scale Systems Design G52LSS
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Information System Project Management.  Some problems that org faced with IS dev efforts include schedule delays, cost overrun, less functionality than.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Project Time Management
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 2 Managing the Information Systems Project 2.1.
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. INTRODUCTION.
SOFTWARE PROJECT MANAGEMENT
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter 2: System Development Methodologies & Automated Systems 1.
PROJECT MANAGEMENT TOOLS AND TECHNIQUES SEMINAR December 2003.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
PERTEMUAN-2 Chapter 2. Project Selection and Management
Methodologies and Algorithms
Project Management Systems
Fundamentals of Information Systems, Sixth Edition
Martha Grabowski LeMoyne College
Modern Systems Analysis and Design Third Edition
Teaching slides Chapter 13
Time Scheduling and Project management
Modern Systems Analysis and Design Third Edition
Presentation transcript:

System development methodologies Structured design Waterfall development Parallel development Rapid Application development Phased development Prototyping Throwaway prototyping Agile Development Extreme Programming (XP)

Waterfall Development PLANNING ANALYSIS DESIGN IMPLEMENTATION SYSTEM

Waterfall Development Advantages: System requirements identified long before programming begins Large degree of management control promotes documentation and ensures ability to trace user requirements thus minimizing changes to requirements Disadvantages: Design must be completely specified on paper before programming begins Use of paper specifications can result in misunderstanding of user requirements Complex and lengthy – large amount of time elapses between analysis and delivery of the system – user needs may change

Parallel Development SYSTEM PLANNING ANALYSIS SUBDESIGN OVERALL DESIGN IMPLEMENTATION SYSTEM SUBDESIGN SUBIMPLEMENT

Parallel Development Advantages Same as for waterfall development plus: Time is reduced compared to the waterfall method which decreases the chances that user needs will change before the system is implemented Disadvantages Same as for waterfall plus: Subsystems are not usually independent so changes in one subsystem can affect others Additional work to coordinate and integrate subsystems

Phased Development SYSTEM VERSION 1 VERSION 2 VERSION 3 PLANNING OVERALL ANALYSIS SYSTEM VERSION 1 V1 DESIGN V1 IMPLEMENT V1 ANALYSIS VERSION 2 V2 DESIGN V2 IMPLEMENT V2 ANALYSIS VERSION 3 V3 DESIGN V3 IMPLEMENT V3 ANALYSIS

Phased Development Advantages Quickly gets a useful version into the hands of the users System provides business value sooner compared to structured methodologies Users able to provide feedback and discover important new requirements sooner Disadvantages User begins to work on a system that is intentionally incomplete Problems with success and acceptance of the system can occur if the essential features are not identified for the first version. Must manage user expectations in terms of having to wait for features that will be implemented in subsequent versions

Prototyping PLANNING SYSTEM PROTOTYPE IMPLEMENTATION DESIGN ANALYSIS

Prototyping Advantages Provides users with a system to interact with very quickly Reassures users that the project is indeed progressing towards a finished system Helps to refine requirements more quickly – users can interact with the prototype and better understand what it can and cannot do easier than if the system were on paper. Disadvantages Fast pace makes it more difficult to conduct a thorough analysis Initial prototype could lead you down an ineffective path and once started, it is difficult to go back to the beginning

Throwaway Prototyping PLANNING DESIGN PROTOTYPE IMPLEMENTATION SYSTEM ANALYSIS

Throwaway Prototyping Advantages Combines complete analysis and design with advantages of prototyping to refine key issues before that system is built Tends to produce more stable and reliable systems than prototyping. Disadvantages Slower than prototyping since the design prototypes are thrown away and do not become part of the final system

Extreme Programming (XP) A team of users and developers document “user stories” Users describe user acceptance tests which will demonstrate that the system provides the required functionality once it is completed Developers then plan a series of releases – no release to take more than a couple of months to complete General principles: Superficial planning process Continuous, automated testing (every day) Continuous integration Heavy user involvement Pair programming Specific attention to human interactions and limitations

Extreme Programming PLANNING ANALYSIS SYSTEM DESIGN IMPLEMENTATION

Extreme Programming Advantages Fast delivery of results Works well in projects with undefined or changing requirements Disadvantages Requires discipline Works best in small projects Requires much user input

Selecting a Methodology Depends on: Clarity of user requirements Familiarity with technology System complexity System reliability requirements Time available Visibility of risk factors

Selecting a Methodology Agile Methods Structured Methodologies RAD Methodologies Ability to Develop Systems Waterfall Parallel Phased Prototyping Throwaway XP With unclear user requirements Poor Poor Good Excellent Excellent Excellent With unfamiliar technologies Poor Poor Good Poor Excellent Poor That are complex Good Good Good Poor Excellent Poor That are reliable Good Good Good Poor Excellent Good With a short time schedule Poor Good Excellent Excellent Good Excellent With schedule visibility Poor Poor Excellent Excellent Good Good

Selecting a Methodology Use a little ‘common sense’ What is critical? Enron Arthur Andersen & Co., LLP WorldCom Nortel

Selecting a Methodology Requirements Clarity Technology Familiarity System Complexity Reliability Concerns Time Schedules Schedule Visibility (Murphy’s Law)

Project Management A ‘hot’ skill Project Management Tasks: identifying project size create and manage work plan staff the project control and direct the project

Managing a Info. Sys. Project Business Administration 362 1999-3 Lecture 1 Notes Four Phases: Initiating Planning Executing Closing Drew Parker September 1999 2

Three Attributes of an IT Project System Quality and Functionality Development Speed Development Cost The contemporary thinking is that the Project Sponsor gets to pick two, the Project Manager controls the third

Some typical causes of project failure Not enough commitment from senior management Not enough commitment to following an appropriate system development methodology - taking shortcuts Not managing expectations well enough scope creep feature creep

More causes of project failure Poor estimating techniques Over optimism Mythical man-month Inadequate people management skills A weak or problematic project team Insufficient or inappropriate resources Failure to adapt to business change Failure to stick with the plan Failure to monitor the plan

Creating a Work Plan Identify Tasks Estimate Completion Times Create Deliverable Timetable Suggest Milestones

Project Parameters From clear objectives, identify high level tasks Milestones MUST be identified in advance Recognize that historical time estimates have been poor (222%)

Negotiating scope Scope: Deliverable – a statement of work Defined in terms of features (size), quality, time, cost, and resources Also defined in terms of processes, data and stakeholders Deliverable – a statement of work May be much more than a section of the system proposal, particularly if it forms the basis for a contract with a consultant

Statement of Work I. Purpose II. Background III. Scope A. Problem, opportunity, or directive statement B. History leading to project request C. Project goal and objectives D. Product description III. Scope A. Stakeholders B. Data C. Processes D. Locations IV. Project Approach A. Route B. Deliverables V. Managerial Approach A. Team building considerations B. Manager and experience C. Training requirements (continued)

Statement of Work (concluded) V. Managerial Approach (continued) D. Meeting schedules E. Reporting methods and frequency F. Conflict management G. Scope management VI. Constraints A. Start date B. Deadlines C. Budget D. Technology VII. Ballpark Estimates A. Schedule B. Budget VIII. Conditions of Satisfaction A. Success criteria B. Assumptions C. Risks IX. Appendices

Estimating Project Size Business Administration 362 1999-3 Lecture 1 Notes Estimating Project Size Expert Opinion goes a long way Consultants tend to have a proprietary application for this a significant expertise to bring to a project Can use historical data (if it exists) Algorithmic Models Exist (COCOMO) Drew Parker September 1999

Estimating Project Size An example: IBM’s Function Point Approach Calculate inputs, outputs, queries, files and interfaces determine complexity of each, and factor it to determine overall project size convert to lines of code (based on a standard)

Estimating Time and Effort Business Administration 362 1999-3 Lecture 1 Notes Estimating Time and Effort Effort: convert from lines of code to person-months (i.e. COCOMO estimates) Time: schedule time converted from person-months Drew Parker September 1999

A Notable Technique: ‘Timeboxing’ Business Administration 362 1999-3 Lecture 1 Notes A Notable Technique: ‘Timeboxing’ Develop a ‘hard’ end date System delivered on time in whatever state can be achieved Popular with software production Something is delivered in the ‘timebox’ Drew Parker September 1999

Business Administration 362 1999-3 Lecture 1 Notes Executing the Project executing the baseline plan by: selecting/training/managing the people on the project getting resources e.g. space, computers monitoring progress and adjusting the plan manage changes to the statement of work maintain project workbook communicate the project status Drew Parker September 1999 6

Techniques: Representing and Scheduling Projects Business Administration 362 1999-3 Lecture 1 Notes Techniques: Representing and Scheduling Projects Several Methods pen and paper GANTT chart PERT charts: arrows and nodes, critical path in all cases determine tasks determine times determine sequence Drew Parker September 1999 8

Business Administration 362 1999-3 Lecture 1 Notes Gantt Chart Graphical representation of project showing each task activity as a horizontal bar length of horizontal bar represents time to completion visual display of the duration of activities in the project estimated and actual times can be displayed most useful for small projects or sub projects (due to number of activities) Drew Parker September 1999

A Gantt Chart

Gantt Chart showing Progress on Activities versus Planned Durations

Business Administration 362 1999-3 Lecture 1 Notes PERT Chart PERT (Program Evaluation and Review) graphic representation of task activities and their inter-relationship the ordering of the activities is shown by connecting activities with arrows the arrows indicate the sequence of activities two arrows emerging from one activity indicate the new activities can be accomplished in parallel ( at the same time) Drew Parker September 1999

A PERT Chart

Useful risk reduction practices Prepare 3 estimates – worst, best and estimated, and compare to actuals Use standard notations and methodologies Use CASE and other automated project management and control tools Practice iterative development and “time boxing” Use a formal change-request process Create “Centers of Excellence” or specific expertise Re-use components Define and use metrics Institute version control