Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The Software Project Management Discipline Succes software projects require careful planning and good use of iterative approaches. Understanding risks.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Learning software process with UPEDU Slide 9-1  2000 École Polytechnique de Montréal & Rational Software Project Management - Outline  Defining the Project.
INTRODUCTION Successful software projects require Careful planning
Risks  All projects have some degree of risk  Risks are issues that can cause problems  Delay in schedule  Increased project costs  Technical risk.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Object-oriented Analysis and Design
Iterative development and The Unified process
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
SA Capstone Requirements and Design Week 10 SYST Winter 2013 Instructors: Jerry Kotuba & Joe Varrasso.
S/W Project Management
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
Chapter 2 The process Process, Methods, and Tools
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Project Management : Techniques and Tools (60-499) Fall 2014 / Winter 2015.
The Project Management Discipline
Chapter – 9 Checkpoints of the process
1 Project Management Introduction. 2 Chap 1 What is the impact? 1994: 16% of IT projects completed “On-Time” 2004 : 29% of IT projects “On- Time” 53%
Testing Workflow In the Unified Process and Agile/Scrum processes.
Iterative process planning. Overview Introductory Remarks 10.1 Work breakdown structure 10.2 Planning Guidelines 10.3 The cost & Schedule estimating process.
Eleventh Lecture Hour 9:30 – 10:20 am, Saturday, September 16 Software Management Disciplines Iterative Process Planning (from Part III, Chapter 10 of.
Object-Oriented Software Engineering
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
1 The Concept of Risk A risk is defined as a variable that can take a value that endangers or eliminates success for a project. In plain terms, a risk.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
SWE © Solomon Seifu Lesson 8 Project Management & Planning.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
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,
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Rational Unified Process Fundamentals Module 3: Disciplines I.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
The Rational Unified Process 1 EECS810: Software Engineering.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
What is project management?
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Engineering Overview 23 January. Software Engineering Overview What is engineering? Why is software engineering different than other engineering.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2012 John Wiley & Sons, Inc. Part II Project Planning.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
What is a WBS? A Work Breakdown Structure is not a list of tasks, a schedule or an organization chart. Rather it provides the basis on which a task.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Software Development - Methodologies
TK2023 Object-Oriented Software Engineering
Software Development.
Unified Process Source & Courtesy: Jing Zou.
Presentation transcript:

Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project Management Discipline

Purpose It does not cover :  Managing people: hiring, training, coaching  Managing budgets: defining, allocating  Managing contracts with suppliers and customers 2

Purpose This discipline focuses on:  Planning an iterative project through the lifecycle and planning a particular iteration  Risk management  Monitoring the progress of an iterative project and measurements 3

Purpose plans to be realistic must have a very good understanding of what will be built Therefore:  Must have stable requirements and  A stable architecture, and  Must have built a similar system from which  you can derive a detailed work breakdown structure (WBS). 4

Planning and Iterative Project In an iterative process, the development is based on two kinds of plans:  A coarse-grained plan  the phase plan  A series of fine-grained plans  the iteration plans 5

Purpose 6

The Concept of Risk  Direct risk  a risk over which the project has a large degree of control  Indirect risk  a risk over which the project has little or no control 7

The Concept of Risk Risk important attributes:  The probability of occurrence (its likelihood )  The impact on the project (its severity ) 8

The Concept of Risk Strategies : How to Cope with Risks The key idea in risk management: You dont wait passively until a risk becomes a problem 9

The Concept of Risk Main routes:  Risk avoidance  Reorganize the project so that …  it cannot be affected by the risk.  Risk transfer  Reorganize the project so that someone or something else bears the risk.  For example: the customer, vendor, bank, or another element  Risk acceptance  Decide to live with the risk as a contingency.  Monitor the risk symptoms and  determine what to do if the risk materializes. 10

The Concept of Risk When accepting a risk, you should do two things:  Mitigate the risk  steps to reduce the probability or the impact of the risk.  Define a contingency plan  Determine the action to take if the risk becomes an actual problem 11

The Concept of Measurement  Measuring key aspects of a project adds a non-negligible cost  We must set precise goals for a measurement effort and  Collect only measurements that allow us to satisfy these goals. 12

The Concept of Measurement Two kinds of goals:  Knowledge goals  Assess product quality,  Monitor test coverage or  Monitor requirements changes.  Change goals  They express an interest in seeing how things change or improve over time,  from one iteration to another, and  from one project to another. 13

The Concept of Measurement Goals examples:  Monitor progress relative to the plan.  Improve customer satisfaction.  Improve productivity.  Increase reuse. 14

The Concept of Measurement Goals  Action goals For example: "Improve customer satisfaction"  Define customer satisfaction.  Measure customer satisfaction over several releases.  Verify that satisfaction improves. 15

The Concept of Measurement Goal  Sub-goals Example: "Improve productivity"  Measure effort.  Measure progress.  Calculate productivity over several iterations or projects.  Compare the results. 16

Roles and Artifacts 17

18

Workflow Staff/Schedule Trade-off Cannot trade staff for schedule. COCOMO (Constructive Cost Model) 19

Workflow 20

Workflow Some heuristics: 1) Stretch the inception phase  If need a long time to  scope the project,  find the funding,  conduct market research, or  build an initial proof-of-concept prototype, 21

Workflow 2) Stretch the elaboration phase  If  No architecture in place,  Using new and unknown technology,  Have severe performance constraints,  Have a number of technical risks, and  Have a lot of new staff,. 22

Workflow  If this is the second generation of a product or  if you will make no major changes to the architecture, shrink the inception and elaboration phases. 23

Workflow  If you must hit the market quickly  because you are late or  because you are creating the market  If you must plan to finish the product gradually,  you can shorten the construction phase and  lengthen the transition phase 24

Workflow- Duration of an Iteration  An iteration starts with planning and requirements and ends with a release, either internal or external.  Ideally, an iteration should span from two to six weeks, but this varies from project to project. 25

Workflow- Duration of an Iteration How quickly you can iterate depends on:  Size of the development organization.  Degree of the organization's familiarity with the iterative approach;  Level of automation used by the team to manage code  Testing and automation of it. an iteration has some fixed overhead for planning, synchronizing, and analyzing the results. 26

Workflow- Number of Iteration In inception phase:  there will be no real iteration;  no software is produced, and  there are only planning and marketing activities. In some cases, an iteration for:  Building a prototype 27

Workflow- Number of Iteration In elaboration phase:  Should plan at least one iteration.  If have no architecture must accommodate a lot of new factors  New people,  New tools,  New Technology,  New Platform, or  New programming language  Then should plan two or three iterations.  Cannot tackle all the risks at once.  May need to show a prototype to the customer or end users  Need an iteration to correct early mistakes on the architecture. 28

Workflow- Number of Iteration In construction phase  Should plan at least one iteration.  Two is more reasonable for a better integration and testing.  For more ambitious projects, three or more iterations are even better 29

Workflow- Number of Iteration In transition phase  At least one iteration,  Too often,  The realities of the market or  The (poor) quality of the initial release will force you to do more iterations. 30

Workflow- Number of Iteration Over the entire development cycle [I, E, C, T]:  Low: three iterations [0, 1, 1, 1]  Typical: six iterations [1, 2, 2, 1]  High: nine iterations [1, 3, 3, 2] 31

Building an Iteration Plan Follow these four steps: 1) Define objective criteria for the success of the iteration.  These criteria will used in an iteration assessment review 2) Identify the artifacts that will need to be developed or updated and the activities that will be required to achieve this. 3) Beginning with a typical iteration work breakdown structure (WBS), and aarange it to take into account the actual activities that must take place. 4) Use estimates to assign duration and effort to each activity, keeping all numbers within your budget. 32

Building an Iteration Plan Objective drivers of an iteration in elaboration phase: 1) Risk 2) Criticality 3) Coverage 33

Building an Iteration Plan- Objective Drivers 1) Risk  For damaging risks, identify a scenario in one use case that would force the development team to "confront" the risk.  Examples:  If there is an integration risk, such as "database D working properly with OS Y," be sure to include one scenario that involves some database interaction even.  If there is a performance risk, such as "excessive time to compute the trajectory of the aircraft," be sure to include one scenario that includes this computation, at least for the most obvious and frequent case. 34

2) Criticality  Select scenarios from the use cases that represent the most common or the most frequent form of the service or feature offered by the system. 3) Coverage  Include scenarios that touch areas you know will require development even if these scenarios are neither critical nor risky 35 Building an Iteration Plan- Objective Drivers