Plan-Driven Methodologies



Similar documents
Software Process and Models

A Survey of Plan-Driven Development Methodologies

The Rap on RUP : An Introduction to the Rational Unified Process

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

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

The Unified Software Development Process

Basic Unified Process: A Process for Small and Agile Projects

3C05: Unified Software Development Process

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Using Rational Software Solutions to Achieve CMMI Level 2

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Supporting Workflow Overview. CSC532 Fall06

SOFTWARE PROCESS MODELS

RUP for Software Development Projects

What CMMI Cannot Give You: Good Software

Software Development Life Cycle (SDLC)

To introduce software process models To describe three generic process models and when they may be used

Software Project Management using an Iterative Lifecycle Model

Time Monitoring Tool Software Development Plan. Version <1.1>

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Iterative Software Development -

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

CS4507 Advanced Software Engineering

Developing CMMI in IT Projects with Considering other Development Models

JOURNAL OF OBJECT TECHNOLOGY

Chap 1. Introduction to Software Architecture

Classical Software Life Cycle Models

Software Development Methodologies

Introduction to Agile Software Development

Unit 1 Learning Objectives

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

How To Adopt Rup In Your Project

The most suitable system methodology for the proposed system is drawn out.

Software Process and Project Plan

Requirements Management Practice Description

CHAPTER. Software Process Models

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

International standards, approaches and frameworks relevant to Software Quality Management and Software Process Improvement

Elite: A New Component-Based Software Development Model

ISO 9001:2000 Its Impact on Software

What is a life cycle model?

A Comparison of SOA Methodologies Analysis & Design Phases

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Chapter 3 The Integrated Requirements Management Framework (IREQM)

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Software Engineering Reference Framework

Redesigned Framework and Approach for IT Project Management

Chapter 3. Technology review Introduction

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Introduction to OpenUP (Open Unified Process)

Planning a Project with the Rational Unified Process Author: David West

I219 Software Design Methodology

Leveraging CMMI framework for Engineering Services

Development Methodologies

A Capability Maturity Model (CMM)

Life Cycle Activity Areas for Component-Based Software Engineering Processes

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Agile Development: How to Define a Lean, Mean Software Process. Phil Robinson Lonsdale Systems lonsdale@iinet.net.au

Software Engineering

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

What do you think? Definitions of Quality

MKS Integrity & CMMI. July, 2007

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

IT3205: Fundamentals of Software Engineering (Compulsory)

Process Improvement. From the Software Engineering Institute:

Appendix 2-A. Application and System Development Requirements

IV. Software Lifecycles

What Is the Rational Unified Process?

VAIL-Plant Asset Integrity Management System. Software Development Process

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

Iterative Project Management 1

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition

The Software Life Cycle. CSE 308: Software Engineering

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

The role of integrated requirements management in software delivery.

Software Engineering: Analysis and Design - CSE3308

RUP Deployment. RUP Deployment Workflow RUP Deployment Artifacts & Deliverables

Software Engineering Question Bank

A Rational Development Process

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Kanban vs Scrum Making the most of both

Requirements Definition and Management Processes

Title: Topic 3 Software process models (Topic03 Slide 1).

Open Group SOA Governance. San Diego 2009

Analysis of the Specifics for a Business Rules Engine Based Projects

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Transcription:

Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a systems approach Values well defined work products 1 Plan Driven Characteristics Focus on repeatability and predictability Defined, standardized, and incrementally improving processes Thorough documentation A software system architecture defined up-front Detailed plans, workflow, roles, responsibilities, and work product descriptions Process group containing resources for specialists: process monitoring, controlling, and educating On-going risk management Focus on verification and validation 2 1

Plan-Driven Methodologies Personal Software Process (PSP) Team Software Process (TSP, TSPi) Rational Unified Process (RUP) 3 PSP / TSP Watts Humphrey SEI Software Engineering Institute, Carnegie Mellon University Also instrumental in the development of the CMM (Capability Maturity Model) Overview of PSP/TSP http://www.sei.cmu.edu/tsp/ Video: Competing in the Software Age http://www.sei.cmu.edu/videos/watts/dpwatts.mov http://www.sei.cmu.edu/staff/watts/ 4 2

PSP PSP is an individual process methodology PSP is a structured framework of forms, guidelines, and procedures intended to guide an engineer in using a defined, measured, planned, and quality controlled process. Goal is to quantitatively access individual development skills in order to improve personal performance. 5 PSP Early defect detection is much less expensive than later defect removal PSP training follows an evolutionary improvement approach. An engineer learning to integrate the PSP into his or her process begins at Level 0 and progresses in process maturity to Level 3 Each level incorporates skills and techniques that have been proven to improve the quality of the software process. Each level has detailed scripts, checklists, and templates to guide the engineer through required steps 6 3

PSP Artifacts PSP is an artifact centric methodology Scripts orderly structure of steps for each phase of development and review Forms used in data collection for defect recording, time recording and project planning. Checklists design, coding, etc. 7 PSP Advantages Improved size & time estimation Improved productivity Reduced testing time Improved Quality Disadvantages Pushback on forms & detailed data recording Longevity of PSP requires discipline and opportunity to work on TSP teams. 8 4

Team Software Process (TSP) The TSP supports the development of industrial strength software through the use of team building, planning, and control. Relies on PSP team members, but not a necessity. Project divided into overlapping, iterative development cycles Each of the cycles is a mini waterfall consisting of a cycle launch, strategy, planning, requirements, design, implementation, test, and postmortem. 9 TSP Structure Seven iterative steps in each cycle. Cycles can and should overlap. Each cycle produces a testable version that is a subset of the final project. 10 5

TSP Roles Team Leader Development Manager Planning Manager Quality/Process Manager Support Manager An SEI trained and qualified team coach oversees the project from a management perspective. 11 TSP Artifacts Lots. 21 Process scripts 10 Role scripts 21 Forms 3 Standards Like PSP, goal is to use above artifacts to guide organization and use measurements to continually improve the team as a whole. 12 6

TSP Advantages Scripted (consistent) process activities. Teams take ownership of their process and plans (i.e. make realistic commitments) Process improvement focus Visible tracking Disadvantages Similar to PSP (artifact centric, high ceremony) Doesn t scale well for small teams / short projects 13 Rational Unified Process (RUP) Generic process framework intended to to be adjusted to a variety of organizations and projects Specifically designed for O-O techniques using UML diagrams A tool centric methodology 14 7

15 Time Dimensions (Phases) Inception phase Decide what to do, the business case, and the scope of the project. Make an initial project plan with rough estimations of time and resources required. Define risks that need to be handled in the elaboration phase. Elaboration phase Analyze the problem domain and define a technically feasible architecture. Mitigate the highest risks to the projects. Make a detailed project plan with prioritized activities. Construction phase Develop, integrate and test the product defined in the elaboration phase. Optimize the resources so that they can work in parallel and reuse each other s work. Produce user documentation. Transition phase Distribute the product to the customers and maintain it. 16 8

Core Process Disciplines (Engineering Workflows) Business modeling - Common understanding for the business process to be supported is assured. Requirements Translation of the business model to functional and non-functional requirements Analysis & Design Description of how the system is to be realized to fulfill all requirements. Implementation Implementation of the design, unit tests and integration of components into executable systems. Test - Find defects as early as possible as the cost to correct them increases the later in a software cycle they are found. Tests are focused on three areas, reliability, functionality and performance. Deployment Production of product releases, and delivery of them to end-users. Provision of support and migration help. 17 Supporting Workflows Project Management Management of competing objectives, risks to the project and successful delivery of a product. Configuration and Change Management - Management of parallel development, development done at multiple sites, multiple variants of systems and change requests. Environment Provision of tools to a software project and adaptation of RUP to the specific project. 18 9

RUP Artifacts ~30 top level documents, each discipline has its own set Supported by Rational Tools Example: Requirements Workflow, RequisitePro Tool Vision Statement SRS (Software Requirements Specification) Supplementary Spec (non-functional req) Use Cases Glossary Use Case Model 19 RUP Best Practices Develop software iteratively Manage Requirements Use component-based archtiectures Visually model software Continually verify software Control changes to software 20 10

RUP Roles Expand or contract based on project size: Analyst Designer Implementer Reviewer Test Designer Tester Integrator Project Manager Technical Writer Architect User Interface Designer 21 RUP Advantages Tool and O-O practices support Can be tailored to for project size Disadvantages Dependent on Rational Tools and practices Not always easy to scope down for smaller projects. 22 11