Software development processes: from the waterfall to the Unified Process

Similar documents
Software development processes: from the waterfall to the Unified Process

Development Process Bennett, McRobb and Farmer 1

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

The Unified Software Development Process

Rational Unified Process

An Overview of Software Process

Development Methodologies

Chapter 3 Prescriptive Process Models

The Top Thrill Dragster

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Software Processes. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

03. Perspective Process Models

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Processes and Life- Cycles. Kristian Sandahl

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Chapter 3 Software Process Model

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Processes and Life- Cycles. Kristian Sandahl

Ingegneria del Software Corso di Laurea in Informatica per il Management

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Software Development Methodologies. CSC 440: Software Engineering Slide #1

The Systems Development Lifecycle

The software process

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Sistemi ICT per il Business Networking

Other Agile Approaches & Methodologies

What You Didn t Know About RUP

Object-Oriented and Classical Software Engineering

Software development activities

ignoring agile, size and frequency, sales, , 280

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Introduction of RUP - The Rational Unified Process

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

MTAT Software Engineering Management

Software Development Methodologies

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

Software Development Methodologies

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

Software Development: Theory and Exercises

Note 10: Software Process

Chapter 14 Current trends in system development

Rational Unified Process (RUP) in e-business Development

Software Engineering and Software Engineers

Object-Oriented Modeling: A Roadmap

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

IBM Rational Software Development Conference A long time ago in a place far, far away.

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models

Software Life Cycles and Configuration Management

Coverage Analysis and Improvement of the Role Definitions of the Bombardier Software Engineering Process

Nitty Gritty of QA Project Management. 11-Feb-09 Carol Perletz

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

Software Processes 1

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

What Is the Rational Unified Process?

The Software Life Cycle

Analyze, Design, and Develop Applications

Insurance Innovation Challenge. Systemize IT Submission: Product Modelling Workbench

SDLC Models- A Survey

UNISYS BUSINESS BLUEPRINTS.

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

understand, in outline, the activities involved in software requirements engineering, software development, testing and evolution;

Integrating Lightweight Systems Analysis into the United Process by Using Service Responsibility Tables

Software Processes. Chapter 2. CMPT 276 Dr. B. Fraser Based on slides from Software Engineering 9 th ed, Sommerville.

Business Modeling with UML: The Light at the End of the Tunnel

The Product Creation Process

Extreme Programming, an agile software development process

Software Engineering Modern Approaches

Installation and Maintenance of Health IT Systems

Agile Thinking. Petri Heiramo. Agile Coach, CST

APG. Armstrong Process Group, Inc. OpenUP. Features & Benefits. Overview. Description. About Armstrong Process Group.

Agile/Lean & Safety: Perfect Match or Impossible Combination?

RUP and XP Part II: Valuing Differences

software development lifecycle (sdlc) models & agile methods

Tuesday, October 25. Announcements

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Design approaches the Waterfall Model. COSC345 Software Engineering

Risk Management and the Minimum Viable Product

INDEX. Numerics 1970s - iterative practice s - iterative practice 85

Software Engineering. 2.1 Introduction

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Agile Software Architecture how much is enough?

CMPT 275 Software Engineering

Scaling Up & Scaling Down

Rational Software White Paper TP 174

Agile Project Management. Finding the Optimal Approach

Waterfall model is the earliest SDLC approach that was used for software development.

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Transcription:

Software development processes: from the waterfall to the Unified Process Perdita Stevens School of Informatics University of Edinburgh

The Waterfall Model Image from Wikipedia

Pros, cons and history of the waterfall + better than no process at all makes clear that requirements must be analysed, software must be tested, etc. inflexible and unrealistic in practice, you cannot follow it: e.g., verification will show up problems with requirements capture. slow and expensive in an attempt to avoid problems later, end up gold plating early phases, e.g., designing something elaborate enough to support the requirements you suspect you ve missed, so that functionality for them can be added in coding without revisiting Requirements. Introduced by Winston W. Royce in a 1970 paper

Pros, cons and history of the waterfall + better than no process at all makes clear that requirements must be analysed, software must be tested, etc. inflexible and unrealistic in practice, you cannot follow it: e.g., verification will show up problems with requirements capture. slow and expensive in an attempt to avoid problems later, end up gold plating early phases, e.g., designing something elaborate enough to support the requirements you suspect you ve missed, so that functionality for them can be added in coding without revisiting Requirements. Introduced by Winston W. Royce in a 1970 paper as an obviously flawed idea!

Spiral models Split project into controlled iteration: each iteration is a mini-waterfall. + Mitigate risk. E.g. check user requirements, try out technology, practice new techniques in an early iteration to catch errors before main cost of project starts. Cost: e.g., repeated testing and documentation. A few projects are so low risk that iteration isn t cost-effective. In practice, need for rework: essential to allow time for refactoring. Big projects need different approaches to different iterations.

Steps towards the Unified Process 1960s - 1987: Ivar Jacobson at Ericsson: early component-based development, architectural block diagrams. 1987-1995: Jacobson founded Objectory (contraction of Object factory ), added use cases 1995: Grady Booch, Jim Rumbaugh and Ivar Jacobson together at Rational, which bought Objectory. The methods war is over we won. First version of Unified Method produced. Controversial: quickly overshadowed by UML. 1995-1997: Rational Objectory: added controlled iteration 1998: (Rational) Unified Process Unified process: the public domain, generic ideas Rational unified process: more detailed, commercial. Now IBM. Lots of variants, e.g. OpenUP, EnterpriseUP...

Characteristics of UP Mitigate major risks early Get early feedback Business needs drive application requirements Early user access Controlled iterative Use Case Driven Understand user requirements Increase reuse Architecture Centric Tailorable Improve quality Extensibility Tailor the process (adapted from Rational slide)

The four Ps People Project Product Process

Workflows (one variant) Engineering workflows: Business modelling Requirements Analysis and design Implementation Test Deployment Supporting workflows: Configuration and change management Project management Environment (e.g. process and tools)

UP phases (iterative: end with review) Inception ends with commitment from the project sponsor to go ahead: business case for the project and its basic feasibility and scope known. Elaboration ends with basic architecture of the system in place, a plan for construction agreed, all significant risks identified, major risks understood enough not to be too worried. Construction (definitely iterative) ends with a beta-release system. Transition is the process of introducing the system to its users.

Workflows against phases (adapted from Rational slide)