Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Software Development Life-Cycle Models
Ch 3: Unified Process CSCI 4320: Software Engineering.
CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
CS487 Software Engineering Omar Aldawud
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Life Cycles ECE 417/617: Elements of Software Engineering
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Project Closeout and Termination Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 14 Learning Objectives After completing.
Software Development Life Cycle (SDLC)
Tsvetelina Kovacheva, Quality Manager Musala Soft June 19, 2007 Implementing Models and Standards for Software Development Benefits and Risks.
Before we start construction, let’s lay the groundwork.
S/W Project Management
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
IT Systems Analysis & Design
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
CS3300 Fall 2015 Software Development Lifecycles.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Developing Software MGMT Summer 2012 Night #8.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Common Activities Activities and Tasks in the WBS.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Georgia Institute of Technology CS 4320 Fall 2003.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
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,
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software Project Management Lecture # 2 Originally shared for: mashhoood.webs.com.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Development Life Cycle (SDLC)
Definitions of GIS Works with geographic information Performs data input, management, manipulation/analysis, and output functions Composed of hardware,
Dr. Rob Hasker. Avoiding failure  Standish Report, 2014 Standish Report 31% projects cancelled before completion 53% projects ~190% of original estimate.
Project Close-Out and Termination Chapter 14 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall14-1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Development Life Cycle (SDLC)
Life Cycles. Waterfall Advantages? Disadvantages? Well suited for what type of projects? Requirements Specification Design Coding Unit Testing Installation.
Software Project Management
Project Close-Out and Termination Chapter 14 © 2007 Pearson Education.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
What are the common reasons software development projects fail?
Software Development Life Cycle (SDLC)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
SDLC Model A framework that describes the activities performed at each stage of a software development project.
SE 3800 Note 10 Project Management
Software Engineering I
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Project Close-Out and Termination
Project Close-Out and Termination
Project Close-Out and Termination
Presentation transcript:

Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management

Starter Question In terms of a software development project, define "success" and "failure".

 Standish Group :  90 percent of software projects are completed late  66 percent are deemed failures  30 percent are abandoned  That figure is probably falsely too high.  probably 70% are late  probably 30% are significantly late  probably over 80% do not fulfill 100% of requirements  Everyone agrees the failure rate is too high. Software Project Failure

10 signs of IS project failure: 1.Project managers don’t understand users’ needs. 2.The project’s scope is ill-defined. 3.Project changes are managed poorly. 4.The chosen technology changes. 5.Business needs change. 6.Deadlines are unrealistic. 7.Users are resistant. 8.Sponsorship is lost. 9.The project lacks people with appropriate skills. 10.Managers ignore best practices and lessons learned. Causes of Failure Source: “Critical Success Factors in Software Projects” by John Reel, IEEE Software, June – 7 occur before even the design starts

 Stable Requirements  Accurate Estimations  Teamwork and Unified Vision  Attention to Risks Critical Success Factors Source: lots of reading by Dannelly So how do we get these on a regular basis?

Process Models Process Models Night Two, Part Two CSCI 521 Software Project Management

Why Establish a Process? It is nearly impossible to consistently develop high quality products without a high quality process.

Benefits of Establishing a Standard Development Process  Less likely to miss something  Less likely to repeat a past failure  Establishes Organizational Responsibilities  Improves ability to train people for their tasks  Allows collection of meaningful Process Metrics better estimation of time and $ more accurate tracking of progress

Process Management 1.formal process definition 2.process measurement 3.feedback 4.improvement 5.optimization

IEEE 1074 Software Life Cycle Model Process  selecting the project model Project Management Processes  plan the project management  analyze risks  retain records  problem reporting process  define metrics  manage product quality Predevelopment Processes  feasibility studies  identify the customer's needs Development Processes  define software requirements  design  architectural  detailed  create test data  integration testing Post-Development Processes  installation  training Integral Processes  configuration management  documentation  training on the plan this standard describes a process for developing a process

Process Models  Waterfall  Spiral incremental development, prototyping, etc  Rapid Application Development  and many, many, many more

Waterfall Model strengths  big errors found early  provides requirements stability weaknesses  impossible if customer doesn't know what they want  document-driven (lots of paperwork)

Waterfall with SQA Activities Requirements Specification Design Coding Unit Testing Installation & Training Integration Testing Maintenance Review the SRS Design Reviews Coding Standards Validation Configuration Control Test Procedures and Tolerances Documentation Defect Tracking

Spiral Model strengths well suited to ill- defined problems and new domains weaknesses little requirements stability

Rapid Application Development 1.Business Modeling 2.Data Modeling 3.Process Modeling 4.Application Generation  probably mostly reuse of existing modules 5.Testing  concentrating on interfaces

Extreme Programming a flavor of Agile Development  Kent Beck  5 Values  Communication between customer and developers, between developers, developers and management,...  Simplicity the simplest idea is usually the best  Feedback "Optimism is an occupational hazard of programming. Feedback is the treatment."  Courage  Respect

So which model is best? 1) when problem is really big 2) when requirements are only partially known 3) when problem is similar to other past projects 4) when the several aspects of the problem are very common problems 5) when the project will require a proof-of-concept 6) when the team has little expertise in this area 7) when the team is composed of excellent designers and analyzers 8) there is little available interaction with the customer 9) a system integration project