Software Development Methodologies



Similar documents
3C05: Unified Software Development Process

Agile Unified Process

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

Basic Unified Process: A Process for Small and Agile Projects

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

Unit 1 Learning Objectives

Chap 1. Introduction to Software Architecture

CS4507 Advanced Software Engineering

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

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

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Development Methodologies

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

Plan-Driven Methodologies

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

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

Supporting Workflow Overview. CSC532 Fall06

Classical Software Life Cycle Models

I219 Software Design Methodology

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

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

The Unified Software Development Process

How To Understand The Software Process

Software Development Methodologies

Software Development Methodologies

SOFTWARE PROCESS MODELS

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

Introduction to OpenUP (Open Unified Process)

Agile Techniques for Object Databases

Iterative Project Management 1

Software Project Management using an Iterative Lifecycle Model

Software Development Life Cycle (SDLC)

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

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Requirements Management Practice Description

Quality Assurance Software Development Processes

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

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

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Chapter 2 Software Processes

Custom Software Development Approach

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

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

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Chapter 3. Technology review Introduction

Software Development Methodologies

Software Design Models, Tools & Processes *

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Course Registration Case Study

Software Process and Models

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

How To Develop A Telelogic Harmony/Esw Project

Software Process and Project Plan

How To Write An Slcm Project Plan

Program Lifecycle Methodology Version 1.7

Project Management in the Rational Unified Process

A Manager s Introduction to The Rational Unified Process (RUP)

Advanced Software Engineering. Software Development Processes

What is a life cycle model?

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

COMP 354 Introduction to Software Engineering

Appendix 2-A. Application and System Development Requirements

Applying Agile Methods in Rapidly Changing Environments

Content Management Using Rational Unified Process Part 1: Content Management Defined

Agile Software Development

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

Software Development Methodologies

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

Websphere Portal and Lotus Web Content Management adoption and Project best practices at the Royal Bank of Scotland Group

Research on Risk Analysis and Management in the Software Development Process. Quanzhou Huang

System development lifecycle waterfall model

COMMONWEALTH OF MASSACHUSETTS EXECUTIVE OFFICE OF HEALTH AND HUMAN SERVICES

JOURNAL OF OBJECT TECHNOLOGY

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

Requirements-Based Testing: Encourage Collaboration Through Traceability

Redesigned Framework and Approach for IT Project Management

Chapter 1 The Systems Development Environment

IV. Software Lifecycles

Ob j ect-oriented Project Management with UML

Business Analysis Essentials

A Capability Maturity Model (CMM)

Web Application Development Process

An Introduction to the UML and the Unified Process

What CMMI Cannot Give You: Good Software

Information systems modelling UML and service description languages

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

How To Understand And Understand The Software Development Process In Korea

CMMI and IBM Rational Unified Process

Requirements Engineering

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

Time Monitoring Tool Software Development Plan. Version <1.1>

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

Content Management Using the Rational Unified Process By: Michael McIntosh

A Review of an MVC Framework based Software Development

A Comparison of SOA Methodologies Analysis & Design Phases

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

Requirements Engineering Process

Transcription:

Software Development Methodologies Lecturer: Raman Ramsin Lecture 15 Agile Methodologies: AUP 1

Agile Unified Process (AUP) Proposed by Ambler as a simplified version of the Rational Unified Process (RUP). Introduced in 2005; revised in 2006. Describes a simple, easy to understand approach to developing business systems using agile techniques and concepts while remaining true to the RUP. 2

Agile Unified Process (AUP) UML is the main modeling language, but AUP is not restricted to UML. Use case driven Iterative-incremental Architecture-centric Covering the full generic lifecycle 3

AUP: Process Phases Like RUP, the overall development cycle consists of four phases: Inception: The goal is to identify the initial scope of the project, a potential architecture for the system, and to obtain initial project funding and stakeholder acceptance. Elaboration: The goal is to prove the system architecture. Construction: The goal is to build working software on a regular, incremental basis which meets the highest-priority needs of project stakeholders. Transition: The goal is to validate and deploy the system into the production environment. 4

AUP: Process Iterations and Disciplines Each phase can be further broken down into iterations. An iteration is a complete development loop resulting in a release of an executable increment to the system. Each iteration ti consists of seven work areas (disciplines) i ) performed during the iteration. For each discipline, AUP defines sets of: artefacts (work products); activities (units of work on the artefacts); roles (responsibilities taken on by development team members). 5

AUP: Process Disciplines 1. Model. The egoal is to ounderstand desa dthe ebusiness essof the eoga organization, a o the problem domain being addressed by the project, and to identify a viable solution to address the problem domain. 2. Implementation. The goal is to transform the model(s) into executable code and to perform a basic level of testing, in particular unit testing. 3. Test. The goal is to perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met. 4. Deployment. The goal is to plan for the delivery of the system and to execute the plan to make the system available to end users. 6

AUP: Process Disciplines (Contd.) 5. Configuration Management. The goal is to manage access to the project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them. 6. Project Management. The goal is to direct the activities that take place on the project. This includes managing g risks, directing people, p and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget. 7. Environment. The goal is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed. 7

AUP: Process Disciplines in Iterations and Phases [Ambler 2006] 8

AUP: Process Inception Phase Tasks include: 1. Define project scope. 2. Estimate cost and schedule. 3. Define risks. 4. Determine project feasibility. 5. Prepare the project environment: reserving workspace for the team, requesting the people needed, obtaining the necessary hardware/software, and tailoring the AUP. 9

AUP: Process Elaboration Phase Tasks include: 1. Produce an architectural prototype for the system. 2. Evolve the requirements model. 3. Draft a coarse-grained project plan for the construction phase. 4. Ensure that critical tools, processes, standards, and guidelines are put in place for the construction phase. 5. Understand and eliminate high-priority risks of the project. 10

AUP: Process Construction Phase Tasks include: 1. Prioritize and understand the requirements. 2. Model storm a solution. 3. Coding and testing the software. 4. Deploying early releases of the system to obtain user feedback. 11

AUP: Process Transition Phase Tasks include: 1. Test and validate the complete system. 2. Integrate the system with existing systems. 3. Convert legacy databases and systems to support the new release. 4. Train the users of the new system. 5. Deploy the new system into production. 12

AUP: Process Model Discipline Encompasses RUP's Business Modeling, Requirements, and Analysis & Design disciplines. Agility is observed by creating models and documents which are just barely good enough, limiting them to an absolute minimum. Performed through h model storming sessions which: h Involve a few people, usually just two or three, who discuss an issue while sketching on paper or a whiteboard. Typically last for five to ten minutes (it s rare to model storm for more than thirty minutes). The people get together, gather around a shared modeling tool (e.g. the whiteboard), explore the issue until they're satisfied that they understand it, then they continue on (often coding). 13

AUP: Strengths and Weaknesses Strengths Iterative-incremental process Based on system architecture Based on structural, functional and behavioral modeling (logical and physical) of the problem domain and the system Based on system functionality captured in use cases Traceability to requirements through the use of use cases throughout the process as the basis for tasks and tests 14

AUP: Strengths and Weaknesses Strengths (Contd.) Design-based development Iterative development engine governed by planning/reviewing Seamlessness observed (though h limited) it due to use-case based activities and design-based development Risk-based process Formal features can be added via UML/OCL Configurability and flexibility addressed 15

AUP: Strengths and Weaknesses Weaknesses Modeling may jeopardize agility if limits are not strictly observed; the list of AUP s models that are produced as the absolute minimum is actually quite long. Tackling model inconsistency i is not explicitly itl addressed. d 16

Reference Ambler, S. W., The Agile Unified Process (AUP), Ambysoft Corporation, 2006, Available on the Web at: http://www.ambysoft.com/unifiedprocess/agileup.html. 17