CMT3342 Computing Project Management Week 3 Pirkko Helena Harvey Associate Professor Computer Science School of Science and Technology.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Prescriptive Process models
Computer Science Department
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Unit 2. Software Lifecycle
CSE 470 : Software Engineering The Software Process.
Lecture 3: Project management methods and related software development lifecycle approaches.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Agile development By Sam Chamberlain. First a bit of history..
Software Life Cycles ECE 417/617: Elements of Software Engineering
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
COMP 350: Object Oriented Analysis and Design Lecture 2
CHAPTER 19 Building Software.
Software Development Life Cycle (SDLC)
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
1 CMPT 275 Software Engineering Software life cycle.
CompSci 230 Software Design and Construction
Chapter 1 The Systems Development Environment
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Successful IT Projects By Darren Dalcher & Lindsey Brodie
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
44222: Information Systems Development
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Software Development - Methodologies
Methodologies and Algorithms
The Basics of OOP Design
Lecture 0 Software Engineering Course Introduction
Valuable Project Management Tools and Techniques
Software Development methodologies
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Information Technology Project Management – Fifth Edition
CS 425/625 Software Engineering Software Processes
Chapter 2 SW Process Models
IT Systems Analysis & Design
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Methodologies For Systems Analysis.
Lecture 2 Revision of Models of a Software Process
Chapter 2 – Software Processes
Basic SDLC Models SDLC  System Development Life Cycle.
Gathering Systems Requirements
Software Process Models
Computer Science & Engineering Electrical Engineering
Project Lifecycle and IT Product Life Cycle
Gathering Systems Requirements
Information Systems Development (ISD) Systems Development Life Cycle
Topic 1: Introduction to the Module and an Overview of Agile
System Development Methods
Presentation transcript:

CMT3342 Computing Project Management Week 3 Pirkko Helena Harvey Associate Professor Computer Science School of Science and Technology

Project management methods and related software development lifecycle approaches – Part 2

Project management lifecycle Concept Definition Implementation Handover and closeout (APM BoK 2006)

Project lifecycles Manage the project Project management lifecycle Modify the system Systems development lifecycle System Lifecycle Project Start Project End

Project lifecycles Manage the project Project management lifecycle Modify the system Systems development lifecycle System Lifecycle Project Start Project End

Project lifecycles Manage the project Project management lifecycle Modify the system Systems development lifecycle System Lifecycle Most common product life cycle in IT is SDLC Project Start Project End

Project management lifecycle Select Project Proposal Determine Business Case Commence Project Manage Project Close Project Evaluate Project Adapted from Marchewka 2003

Project management lifecycle Select Project Proposal Determine Business Case Commence Project Manage Project Close Project Evaluate Project Systems Development Lifecycle Adapted from Marchewka 2003

Systems development lifecycle approaches Sequential - introduction last week Incremental - introduction last week Prototyping Iterative / Evolutionary

Sequential Traditional approach based on sequential design Referred to as the waterfall model Fixed requirements Design tasks only begin after requirement are completely defined Limited client involvement Sometimes referred to as command and control approach. Structured, linear approach No / Little feedback Works well if requirements are known upfront Problematic if requirements are unknown upfront and/or are changing.

The Waterfall Model Winston Royce (1970) Royce actually believed in System Requirements Winston Royce (1970) Software Requirements Analysis Royce actually believed in incremental and iterative models. An accident that people picked up on his Page 1 diagram Larman (2004) Program Design Coding Testing Operations

V-Process Model Basically a waterfall model More Detailed Design Increasing Levels of Testing Level of Abstraction Field testing User requirements User acceptance testing System specification System testing System design Function testing Systems architectural design Integration testing Code Unit testing Time

Incremental / Phased Delivery Delivery to Customer of Increment 1 of Increment 2 of Increment 3 of Increment 4 of Increment 5 Waterfall Models

Crashed Increments Use of two teams Delivery to customer on completion of each increment

Prototyping Take care over the term ‘prototype’ Can be used in different context Design prototypes: engineering, construction etc. Physical models, architectural blueprints, engineering drawings Can be a sample or model of a product built to test a concept or process Can be something to be replicated or learned from Can provide specifications for a real, working system rather than a theoretical one

Prototyping Prototyping has several benefits Can be a throw-away version of some aspect of the system for demonstration to the stakeholders Testing out some ideas or aspect of risk: for example the user interface or maybe technical feasibility Aim to get rapid feedback before committing too much effort/resources Evolutionary prototypes have an advantage over throwaway prototypes - they are functional systems

Prototyping Prototyping has several benefits Can be a throw-away version of some aspect of the system for demonstration to the stakeholders Testing out some ideas or aspect of risk: for example the user interface or maybe technical feasibility Aim to get rapid feedback before committing too much effort/resources Evolutionary prototypes have an advantage over throwaway prototypes - they are functional systems Read more on different types of prototypes

Systems development lifecycle models Sequential: waterfall model Incremental: multiple waterfall models Incremental phased delivery Prototyping Iterative / Evolutionary: Evolutionary delivery (Evo) Spiral model RUP (Rational Unified Process) DSDM (Dynamic Systems Development Method) XP (Extreme Programming) Scrum Lean

Systems development lifecycle models Sequential: waterfall model Incremental: multiple waterfall models Incremental phased delivery Prototyping Iterative / Evolutionary: Evolutionary delivery (Evo) Spiral model RUP (Rational Unified Process) DSDM (Dynamic Systems Development Method) XP (Extreme Programming) Scrum Lean Later – Agile Lectures

Some Timelines Waterfall 1970 SSADM Early 1980s RAD Prototyping Early 1980s DSDM 1994 Iterative 1970 IBM FSD Harlan Mills Gilb’s Evo 1976 Boehm’s Spiral mid 1980s Unified Process (UP) mid 1990s Agile Manifesto 2001 1970 1980 1990 2000 2010

‘Iterative’ / Evolutionary Terminology Issues: Larman (2004) sometimes uses “Incremental and Iterative”, sometimes shorter “Iterative” Gilb (1988) uses “Evolutionary” ‘Incremental’ means building in steps ‘Iterative’ means repeating/going round again But there is also learning from feedback ‘Evolutionary’ not in the biological sense of small random mutations or survival of the fittest

‘Iterative’ / Evolutionary Based on the Shewhart Cycle from 1930s. Also known as the Deming Cycle (Deming worked with Shewhart). Involves increments/iterations Time-boxing (varying durations) Delivery to market or client Incorporates feedback (learning) Being prepared to retreat Not ‘freezing’ the requirements Decide what to do in the next increment/iteration using the feedback from the last increment/iteration and the current set of requirements

The Shewhart Cycle or Deming Cycle Decide Actions Needed Plan Actions Act Plan Study* Do Study Results of Actions Taken Execute Plans * Deming finally decided to use ‘Study’ instead of ‘Check’ (Gilb 2005)

Iterative Result Cycle Based on the Shewhart Cycle For each Iteration: Requirements Act Actual Results Feedback Study Deliver Increment Designs Stakeholder Value Plan Do Plan Increment Sequence for delivery Estimated value known Slightly modified from (Brodie and Woodman 2008)

Evolutionary Project Management (Evo) Developed by Tom Gilb (2005) in the 1960s (published from 1976) Principles Small Steps (2%-5% of project time and money budget) Early High Value Actual Benefits Evaluation of High Risk Frequent Delivery Use Feedback Allow Requirements to change

Evo Result Cycle Strategic Management Cycle Development Cycle Feedback ‘Go’ Strategic Management Cycle ‘The Head’ Development Cycle Backroom ‘The Body’ Production Cycle Backroom Delivery Cycle Frontroom (Gilb 2005) Result Cycle

Evo Step Development and Delivery Backroom ‘KITCHEN’ Frontroom ‘RESTAURANT’ A A Potential Next Step (Step 4) D B B C H Step 3 D C E G Development & Production Cycles Delivery Cycle F F Implementation Cycle for F Step 2 G E H Step 1 Step 1 Step 2 Step 3 Step 1 Step 2 Step 3 Time From (Gilb 2005)

Evo Step Development and Delivery Think how a restaurant prepares food in the kitchen and then delivers it to the table. Total preparation can take weeks, but courses delivered as customers want them! You don’t have to build everything only in the duration of one increment. But focus must be on early delivery and early feedback! Backroom ‘KITCHEN’ Frontroom ‘RESTAURANT’ A A Potential Next Step (Step 4) D B C B H Step 3 D C E G Development & Production Cycles Delivery Cycle F F Implementation Cycle for F Step 2 G E H Step 1 Step 1 Step 2 Step 3 Step 1 Step 2 Step 3 (Gilb 2005) Time

Recap: Systems development lifecycle approaches Waterfall Sequential Incremental Prototyping Iterative / Evolutionary Linear – one pass / one delivery Build and deliver the system, increment by increment Increment 1 Increment n ... Throwaway version of some system aspect Prior to building the real system Test ideas Get feedback Act Plan Use feedback Study Do

Which of these lifecycles need to be considered e. g Which of these lifecycles need to be considered e.g. in a student project? What activities do they involve? DISCUSS Project management lifecycle Systems development lifecycle System Lifecycle Project Start Project End

Factors influencing project failure Yardley (2002) Technical Failure Human Failure Process Failure Lure of the leading edge Lack of executive support Absence of any project management methodology Poor technical design Lack of leadership Absence of any systems development methodology Technical solution to a non-technical problem Uncommitted project team Absence of any benefits management methodology Dependence on software packages to satisfy requirements Dysfunctional project team Failure to identify and mitigate project risks Lack of tools throughout development lifecycle Failure to manage third parties Failure to manage requirements Technology-led development Lack of a project ‘champion’ Lengthy project timescales Lack of project ownership Insufficient testing Stakeholder conflict ‘Big-bang’ approach to computerization Resistance to change Hostile organizational culture Inexperienced project managers Lack of business justification Unclear or ambiguous business priorities Lack of user training Misaligned stakeholder motivation

Summary Project management lifecycle Systems development lifecycle approaches Systems development lifecycle models http://www.projectsmart.co.uk/ Provides many easy to read articles of various project management topics, whitepapers etc.

IMPORTANT - next week Assessment Preparation Week Week 4: NO lecture and NO labs Week 4: Complete searches for publications for the Essay Further guidance online: “Information; Resources and Relevance of Publications” Handout “The Rise and Fall of the Chaos Report Figures” by J. Laurenz Eveleens and Chris Verhoef Week 5 labs (w/c 3 November) : Group Project team formation Formative feedback on the Essay ‘Overview’ Section. You must bring a draft into labs

References Yardley, D. (2002), Successful IT Project Delivery, Addison-Wesley, ISBN 0201756064. Association for Project Management (2006), Project Management Body of Knowledge (5th Edition) (APM BoK 2006), ISBN 1903494133. www.apm.org.uk Project Management Institute (2008), A Guide to the Project Management Body of Knowledge (4th Edition) (PMBOK Guide), ISBN 193069945X. www.pmi.org Marchewka, J. T. (2003), Information Technology Project Management: Providing Measurable Organizational Value, Wiley, ISBN 0471392030. Royce, W. (1970). Managing the Development of Large Software Systems: Concepts and Techniques. Proceedings of IEEE WESCON. August 1970. Originally published by TRW. Larman, C. (2004), Agile and iterative Development: A Manager’s Guide, Addison-Wesley, ISBN 0131111558. Gilb, T. (2005), Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage, Butterworth-Heinemann. ISBN 0750665076. Dalcher, D. & Brodie, L. (2007), Successful IT Projects, Thomson, ISBN 1844806995. Brodie, L. & Woodman, M. (2009), Using Metrics to Express Quality, Proceedings of the Seventeenth International Conference on Software Quality Management (SQM 2009), The British Computer Society, ISBN 9781906124229, pp 93-104.