Top Banner
RICH1 @ CBM RICH1 @ CBM Serguei Sadovsky IHEP, Protvino CBM meeting GSI, 12 February 2004
33

Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Dec 23, 2015

Download

Documents

Edmund Hall
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.1

Unit 1:

Project Management and Scheduling

Software Engineering Process - II

Page 2: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.2

What are your expectations from this course?

Before You Begin…

Page 3: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.3

Unit Objectives

Define project management functions.

Describe management activities in a project.

Define the project planning process.

Identify the constituents of a project plan.

Define and identify project milestones and deliverables.

Define project scheduling.

Define and create work breakdown structures.

Create Critical Path Method (CPM), Program Evaluation and Review Technique (PERT), and Gantt charts.

Identify project staffing and leading activities.

Page 4: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.4

Project Management

Project management consists of:

Planning: To determine future course of action

Organizing: To partition work in tasks

Staffing: To select and train personnel

Leading: To lead the project

Controlling: To monitor and evaluate the project

Page 5: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.5

Project Management

Project management is a system of:

Proposal writing

Project planning and scheduling

Project costing

Project monitoring and reviews

Selecting and evaluating personnel

Report writing and presentations

Page 6: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.6

Project Management Activities

Project management activities include:

Proposal writing: Describes the objectives of the project and the methodology. It includes cost estimates and schedules.

Project planning and scheduling: Describes the activities, milestones, and deliverables of the project.

Project costing: Estimates the resources required to accomplish the project plan.

Page 7: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.7

Project Management Activities (cont.)

Project monitoring and reviews: Involves keeping track of the progress of the project and comparing the actual and estimated schedule and cost.

Personnel selection and evaluation: Involves selection of people to work on the project.

Report writing: Involves creating concise and clear progress and review reports for managers and clients.

Page 8: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.8

Project Planning

Planning is an iterative process. It consists of: Identifying constraints such as required delivery date,

available staff, and overall budget.

Assessing project parameters such as project’s size, structure, and distribution of functions.

Defining project milestones and deliverables.

Drawing up a project schedule.

Starting activities according to schedule.

Reviewing project progress and revising project plan.

Updating schedule and renegotiating project constraints and deliverable.

Organizing technical reviews and required revisions.

Page 9: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.9

Project Plan

The project plan should include the following sections: Objectives and constraints

Project organization

Risk analysis

Hardware and software resource requirements

Work breakdown

Project schedule

Monitoring and reporting mechanisms

Page 10: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.10

Project Plan (cont.)

The project plan may include several other plans or may have references to them:

Quality plan

Validation plan

Configuration management plan

Maintenance plan

Training plan

Page 11: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.11

Team Organization Structure

Page 12: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.12

Class Activity - 1

Assume that you have been appointed as the PM of an expense approval and tracking system for ABC international. There are three independent modules in the system. Design a possible team organization structure for your project. Consider the following factors while designing:

The database design is an important part of the project.

The client has specially emphasized on quality control and testing.

Management will review the project once a month.

Page 13: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.13

Milestones and Deliverables

Project planning requires identification of milestones and deliverables.

Milestone: Is an end-point of a software activity.

Represent the end of a distinct logical stage of the project.

Has a formal output.

A deliverable is a project result at the end of a major project phase.

Deliverables are milestones but milestones may not be deliverables.

Page 14: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.14

Milestones and Deliverables (cont.)

Page 15: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.15

Just a Minute!

Define milestones and deliverables for the testing phase.

Page 16: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.16

Project Scheduling

Project scheduling involves:

Breaking the total project work into separate activities – Work Breakdown Structure (WBS)

Judging the required time for each activity

Identifying parallel activities

Estimating resources

Assigning responsibilities

Page 17: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.17

Project Scheduling (cont.)

Page 18: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.18

Project Scheduling Techniques

Project schedules are represented as:

WBS

Activity networks

PERT

Gantt

Page 19: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.19

WBS

A WBS partitions a large project into its component activities or products.

It can be represented using either of the following:

Hierarchical chart WBS: Displays relationships between higher level products or processes and lower level products/ processes.

Example: An application flow diagram.

Indented list WBS: Displays the degree of indentations showing the relationships between higher and lower level products/processes.

Example: The table of contents of a requirement document.

Page 20: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.20

WBS (cont.)

A Hierarchical Chart WBS

Page 21: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.21

WBS (cont.)

An Intended List WBS

Page 22: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.22

Activity Networks

An activity list shows the activities of a project, dependencies and the estimated duration.

Activity networks represent this list in a graphical form with activities either on arrows or nodes.

CPM and PERT are the two forms of activity networks.

Page 23: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.23

Activity Networks (cont.)

CPM and PERT are most successful when the project activities:

Are well defined

Can be started, stopped, and performed separately in a sequence

Have relation to other activities

Once started must continue without interruption until completion

Page 24: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.24

Activity Networks (cont.)

Page 25: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.25

Activity Networks (cont.)

Page 26: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.26

Class Activity - 2

Draw a PERT chart for the activity list given in the following document.

Microsoft Word Document

Page 27: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.27

Gantt Charts

Two dimensional representations that show tasks and corresponding start and end dates.

The top level status of the project can be easily comprehended.

Interrelationships are not easily represented in complex projects.

Page 28: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.28

Sample Gantt Chart

The following sample Gantt chart shows the tasks and corresponding start and end dates.

Page 29: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.29

Staffing

Staffing involves allocation of personnel to project activities. It can include following activities:

Select personnel based on required technical and behavioral skills

Orient people to organization and project tasks

Provide class-room or on-the-job training and development

Set performance goals and appraise personnel

Compensate and terminate assignment

Page 30: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.30

Staffing (cont.)

The parameters for personnel selection can be as follows:

Years of experience: For example, 2-4 years for development team member and 8 years for project leader

Educational background: Name of the degree and preferences of colleges

Technical skills: Microsoft SQL server, Oracle, and Visual Basic

Personal skills: Dynamic, self-motivated, and can work in a team

Page 31: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.31

Responsibility Matrix

The responsibility matrix can contain the following:

Allocation of staff to project activities

Role of an individual staff member

Assignment dates

Name Role Responsibilities Dates

Management Review project status

Group Manager Ensure that adequate resources are provided for the project

Liaison with client’s representative

Project Manager Identify and plan for the management of risks in advance

Team Leader Help fellow team members on technical issues

Participate in reviews / walkthroughs of design/code

Schedule and monitor tasks assigned to the team

Team Members Study and understand the planning documents

Design and coding

Page 32: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.32

Class Activity - 3

Can you think of technical and behavioral skills that you should consider when selecting people for a real-time intelligent building system for an old people’s home?

Page 33: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.33

Leading

Leading a project involves motivating and guiding personnel to achieve project goals. It can include the following activities:

Provide a conceptual view of the project direction

Provide day-to-day guidelines to help project members complete their assignments

Coordinate all project activities

Facilitate communication and resolve conflicts

Allow project members to take decisions within their purview

Page 34: Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering Process - II.

Software Engineering Process - II 1.34

Summary

What was your key learning from the unit?