Software Management. Dr. Marouane Kessentini Department of Computer Science



Similar documents
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Project Management for Scientists

Systems Analysis and Design

POLICY STATEMENT Commonwealth of Pennsylvania Department of Corrections

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

Project Management. Software Projects vs. Engineering Projects

Project Time Management

Table of Contents Author s Preface... 3 Table of Contents... 5 Introduction... 6 Step 1: Define Activities... 7 Identify deliverables and decompose

(Refer Slide Time: 01:52)

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Project Scheduling & Tracking

Project Management. Systems Analysis and Design, 8e Kendall & Kendall

PROJECT SCHEDULING AND TRACKING

Scheduling Resources and Costs

SWEN 256 Software Process & Project Management

TIME MANAGEMENT TOOLS AND TECHNIQUES FOR PROJECT MANAGEMENT. Hazar Hamad Hussain *

WORK PROGRAM GUIDELINES

Chapter 7 - Project Scheduling and Tracking

Chapter 3 Managing the Information Systems (IS) Project

PROJECT TIME MANAGEMENT

What is PROJECT SCHEDULING?

ONLINE SUPPLEMENTAL BAPPENDIX PROJECT SCHEDULES WITH PERT/CPM CHARTS

The Plan s Journey From Scope to WBS to Schedule

Project Creation and Gantt Chart Design Using Microsoft Project. R. Baker. The University of Tampa

Guidelines: Project Schedule Project Management Office (PMO)

Project Management Planning

Software Engineering CSCI Lesson 9 Project Management Part 1- Planning & Estimating. February 23, 2015

Noorul Islam College of Engineering M. Sc. Software Engineering (5 yrs) IX Semester XCS592- Software Project Management

SE351a: Software Project & Process Management

PROJECT TIME MANAGEMENT. 1 Powered by POeT Solvers Limited

Chapter 6: Project Time Management. King Fahd University of Petroleum & Minerals SWE 417: Software Project Management Semester: 072

Software Engineering Reference Framework

Activity Plan Project management tools

Project planning and scheduling

Basic Concepts. Project Scheduling and Tracking. Why are Projects Late? Relationship between People and Effort

Object-Oriented Analysis. with the Unified Process. John W. Satzinger Southwest Missouri State University. Robert B. Jackson Brigham Young University

SYSTEMS ANALYSIS AND DESIGN DO NOT COPY

Planning of Project Work (IS PM 6. Lecture, 2011 Spring)

Software Project Scheduling. - Introduction - Project scheduling - Task network - Timeline chart - Earned value analysis

THE PROJECT MANAGEMENT KNOWLEDGE AREAS

Introduction to Project Management

Importance of Project Schedules. matter what happens on a project. projects, especially during the second half of projects

Work Breakdown Structure (WBS)

Mastering Microsoft Project 2013

Project Management Planning

Mastering Microsoft Project 2013 Course: 55054A Course Length: 3 Days

300 Scheduling and Budgeting

8. Project Time Management

Unit 06 Developing the Work Breakdown Structure

Welcome to the Data Analytic Toolkit PowerPoint presentation an introduction to project management. In this presentation, we will take a brief look

ICT Project Management

Fundamentals of Project Management. Who am I. Schedule

THE ROLE OF PROJECT MANAGEMENT IN KNOWLEDGE MANAGEMENT

Project Management Fact Sheet:

Introductory Project Management Module. Mansfield Adult Continuing Education 1 Inc

Metadata-Based Project Management System. A Case Study at M-Files Corporation. Iulia Adomnita

Software Estimation Techniques - Common Test Estimation Techniques used in SDLC

Work Breakdown Structure & Schedules

pm4dev, 2007 management for development series The Project Management Processes PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Effective Project Management of Team Based Business Improvement Projects

Involve-Project Manager

Applied Software Project Management

Manual on Training Preparation

Introduction to Project Management. What is the Project Management Life Cycle? Common Life Cycle Characteristics

Introduction to Software Engineering. 9. Project Management

Systems Analysis and Design in a Changing World, Fifth Edition

Information Technology Project Management, Sixth Edition. Note: See the text itself for full citations. More courses at cie-wc.edu

Basic Project Management & Planning

How To Manage Project Management

Project Planning and Scheduling

ME 407 Mechanical Engineering Design Spring 2016

Tracking Software Progress

<Company Name> <Project Name> Software Development Plan. Version <1.0>

A software for project management process

Plug IT In 5 Project management

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Lab 1 Introduction to Microsoft Project

INTRODUCTION: Plan and Schedule Development Create a Work Breakdown Structure (WBS) The detailed guidelines and examples start on the following page.

Project Planning. Project Scope. Work Breakdown Structure.

Software Project Planning. CITS1220 Software Engineering

SOFTWARE PROJECT MANAGEMENT

Lessons in Estimating Agile vs. Waterfall Agile and Waterfall. Jerry Richardson, PMP Sohail Thaker, PMP

Software Application: Information System Elements. Project Management in Information Technology (IT) Projects. Project Scheduling basics

Learning Objectives. Learning Objectives (continued) Importance of Project Schedules

An Introduction to the PRINCE2 project methodology by Ruth Court from FTC Kaplan

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

Introduction to Project Management: Principles, Techniques and Tools

Samples of Allowable Supplemental Aids for STAAR Assessments. Updates from 12/2011

2.1 The RAD life cycle composes of four stages:

WBS, Estimation and Scheduling. Adapted from slides by John Musser

Lecture 6: Project Time Management By: Prof. Lili Saghafi. Information Technology Project Management, Fifth Edition

Release: 1. BSBPMG510A Manage projects

A Step-by-Step Approach for Planning Your Small Project

Transcription:

Software Management Dr. Marouane Kessentini Department of Computer Science 1

What is Project Management? Project management encompasses all the activities needed to plan and execute a project: Deciding what needs to be done Estimating costs Ensuring there are suitable people to undertake the project Defining responsibilities Scheduling Making arrangements for the work 2

Goals of Software Project Management End results of the project satisfy the customer s needs All the desired and the needed product/project attributes (quality, security, productivity, cost, schedule, etc.) are met Team members are operating effectively and at a high level of morale Required tools and other resources are made available and are effectively utilized

Project Management Process Why do we need project management? Why can t we just follow one of the software development process and be left alone? All projects small and large need project management because all projects need some degree of POMA: 1. - Planning 2. - Organizing 3. - Monitoring of status 4. - Adjustment

Project Planning This process looks sequential at the macro level, but may be very iterative at the micro level Project Organizing Project Monitoring Project Adjusting Software Project Management (POMA) Process

Planning (POMA) The 1st step of project planning is to understand the requirements of the project. This step itself may be a mini project Then the following 4 steps are included in the rest of project planning: 1. Perform Estimation of the work effort, the schedule, and the needed resources 2. Clearly define and establish measurable goals for the project 3. Determine the project resource allocations of people, process, tools, and facilities 4. Identify and analyze the project risks

Organizing (POMA) Once a project plan is formulated or partially formulated, organizing may start Organization structure needs to be designed Human resource hiring needs to start and be completed along with acquisition of other resources Any required education and training have to be completed

Monitoring (POMA) Once the project is organized and set into motion, there still needs to be regular tracking to ensure that it is headed in the right direction. (Projects can not be left to coast along by itself.) 3 main components of project monitoring: 1. Project status information collection 2. Analysis and evaluation of collected information 3. Presentation and communication of the project status

Adjusting (POMA) It is highly unlikely that a software project progresses with no problem. As soon as the project status suggests potential problem, we must not be afraid to make changes. 3 main areas of adjustments are (or combinations of) : Resources Schedule Project content

Software Project Management Process is not the same as - Software Development Process or - Software Life Cycle

Cost estimation To estimate how much software engineering time will be required to do some work. Elapsed time The difference in time from the start date to the end date of a task or project. Development effort The amount of labour used in person months or persondays. To convert an estimate of development effort to an amount of money: You multiply it by the weighted average cost (burdened cost) of employing a software engineer for a month (or a day). 11

Principles of effective cost estimation Principle 1: Divide and conquer. To make a better estimate, you should divide the project up into individual subsystems. Then divide each subsystem further into the activities that will be required to develop it. Next, you make a series of detailed estimations for each individual activity. And sum the results to calculate the total estimate for the project. 12

Principles of effective cost estimation Principle 2: Include all activities when making estimates. The time required for all development activities must be taken into account. Including: Prototyping Design Inspecting Testing Debugging Writing user documentation Deployment. 13

Principles of effective cost estimation Principle 3: Base your estimates on past experience combined with knowledge of the current project. If you are developing a project that has many similarities with a past project: You can expect it to take a similar amount of work. Base your estimates on the personal judgement of your experts or Use algorithmic models developed in the software industry as a whole by analyzing a wide range of projects. They take into account various aspects of a project s size and complexity, and provide formulas to compute anticipated cost. 14

Principles of effective cost estimation Principle 4: Be sure to account for differences when extrapolating from other projects. Different software developers Different development processes and maturity levels Different types of customers and users Different schedule demands Different technology Different technical complexity of the requirements Different domains Different levels of requirement stability 15

Principles of effective cost estimation Principle 5: Anticipate the worst case and plan for contingencies. Develop the most critical use cases first If the project runs into difficulty, then the critical features are more likely to have been completed Make three estimates: Optimistic (O) Imagining a everything going perfectly Likely (L) Allowing for typical things going wrong Pessimistic (P) Accounting for everything that could go wring 16

Some Cost Estimation Techniques Planning and Organizing: Work Breakdown Structure Estimation of the complete project by Tasks required to develop the deliverables Resources required to perform the tasks

Work Breakdown Structure (WBS) Steps 1. Identify the steps and tasks required to produce each of the deliverables, including the tasks that are required to produce any intermediate internal deliverables 2. Sequence the tasks, showing any potential for parallelism 3. Provide an estimate size of each of the tasks 4. Provide an estimate of the productivity of the personnel that is most likely to be assigned to each of the tasks 5. Calculate the time required to accomplish each task 6. For each of the external deliverable, lay out the timeline of all the tasks needed to produce that deliverable and label the resources that will be assigned to the tasks.

Task-3a 6 Task-4a 2 Task-5a 1 Task 1 12 Task 2 2 Task-3b 6 Task-4b 2 Task-5b 1 End Task-3c 6 Task-4c 2 Task-5c 1 Example of: Task Network with Estimated Time Units

Tasks Person Time 1 X,Y,Z 12 units 2 3a 3b 3c X,Y,Z 2 X Y Z 6 6 6 4a 4b 4c Z X Y 2 2 2 5a 5b 5c X Y Z 1 1 1 End result of WBS = Initial Schedule Estimate

Gantt charts A Gantt chart is used to graphically present the start and end dates of each software engineering task One axis shows time. The other axis shows the activities that will be performed. Important deadline dates, at which specific events may occur 21

Example of a Gantt chart 22

Difficulties and Risks in Project Management Accurately estimating costs is a constant challenge Follow the cost estimation guidelines. It is very difficult to measure progress and meet deadlines Improve your cost estimation skills so as to account for the kinds of problems that may occur. Develop a closer relationship with other members of the team. Be realistic in initial requirements gathering, and follow an iterative approach. Use earned value charts to monitor progress. 23

Difficulties and Risks in Project Management Communicating effectively in a large project is hard Take courses in communication, both written and oral. Learn how to run effective meetings. Review what information everybody should have, and make sure they have it. Make sure that project information is readily available. Use groupware technology to help people exchange the information they need to know 24