Software Engineering 1 - Lec 5 Software Project Managment
Software Engineering 1 - Lec 5 Software Project Managment
Software Engineering 1 - Lec 5 Software Project Managment
Software Engineering
Project Management
Corporate America spends more than $275 billion each year on approximately 200,000 application software development projects Most of these projects will fail for lack of skilled project management
Management problems were more frequently dominant cause than technical problems Schedule overruns were more common (89%) than cost overruns (62%) KPGMs Survey in UK
Software Engineering
Project Management
User involvement 20 points Executive Support 15 points Clear Business Objectives 15 points Experienced Project Manager 15 points Small milestones 10 points Firm basic requirements 5 points Competent staff 5 points Proper planning 5 points Ownership 5 points Others 5 points
Software Engineering
Project Management
Project Objectives not fully specified Bad planning and estimating Technology new to the organization Inadequate/No project management methodology Insufficient senior staff on the team Poor performance by Supplier of hardware/software
Software Engineering
Project Management
In a nutshell
Organizations that attempt to put software engineering discipline in place before putting project management discipline in place are domed to fail SEI
Software Engineering
Project Management
Software Engineering
Project Management
Project Management Life Cycle Processes/Activities of the 5 phases (Process Groups 2004) are as: 1. Scope the Project State the Problem/ Opportunity Establish the project goal Define project Objectives Identify the success criteria List assumptions, risks, obstacles 3. Launch the Plan Recruit and organize project team Establish team operating rules Level resources Schedule work packages Document work packages 5. Close Out Obtain client acceptance Install project deliverables Complete project documentation Complete post-implementation audit Issue final project report
2. Develop detail Plan Identify project activities Estimate activity duration Determine resource requirements Construct / analyze project network Prepare project proposal
4. Monitor/ Control Progress Establish progress reporting system Install change control tools/process Define problem-escalation process Monitor project progress vs plan Revise Plan
Software Engineering
Project Management
1. Project Integration Management 2. Project Scope management 3. Project Time Management 4. Project Cost Management 5. Project Quality Management 6. Project Human Resource Management 7. Project Communications Management 8. Project Risk Management 9. Project Procurement Management
9
Phases Initiating
PM Knowledge
Develop charter,
Planning
Executing
Direct and manage project Execution
Controlling
Monitor and Control project work, Integrated change control
Closing
Close Project
Integration Develop project Develop primary Management (7) scope statement management plan
Activity definition, Act Sequencing, Act Resource Estimating, Act duration Est, Schedule Dev.
Quality planning
Human Resource Planning
Human Resource
10
Planning
Executing
Controlling
Closing
Comm. Planning
Information Distribution
Risk Management Planning, Risk identification, Qualitative Risk analysis, Qualitative Risk analysis , Risk response planning
Contract Administration
Contract Closure
11
Software Engineering
Project Management
The purpose of the Project Plan is to define and establish the management strategy for achieving the goals of the project. The project development plan is used to:
Guide project execution. Document project planning assumptions. Document project planning decisions regarding alternatives chosen. Facilitate communication among stakeholders. Define key management reviews (as to content, extent, and timing). Provide a baseline for progress measurement and project control.
12
Software Engineering
Project Management
Outputs of the planning processes in the other knowledge areas (scope, Time, Risk, Resource, Cost.)
Historical information
Organizational policies
Constraints
Assumptions
Outputs
Software Engineering
Project Management
14
Software Engineering
Project Management
Introduction or Overview
Project Name, Description and Need it addresses, Sponsor's name, Name of PM, Deliverables (Brief), Reference Material, List of definitions.
Project Organization
Project Scope
Project Schedule
Summary/Detail Schedules
Budget
Summary/Detail budget,
15
Software Engineering
Project Management
Scope Definition
16
Software Engineering
Project Management
Scope
17
Software Engineering
Project Management
PROJECT ANALYSIS
Step 1 - Conceptual understanding of the project. The aim here is to understand the goals, risks, constraints, context and features to be delivered. Note that you may need a short burst of requirements gathering to start off! Step 2 - Choose an approach or lifecycle model to develop the system (Project and product lifecycles). Step 3 - For each of the phases in the approach a Work Breakdown structure to complete the task.
18
Software Engineering
Decomposition
Project Management
subdividing the major project deliverables into smaller, more manageable Components (products) in sufficient detail to support future project activities (planning, executing, controlling, and closing); requires Steps:
1) Identify the major elements (deliverable) of the project. 2) Identify constituent elements (Work Products) of the deliverable. 3) Decide if adequate cost and duration estimates can be developed at this level of detail for each element. 4) Verify the correctness of the decomposition. 1. Identify the major elements of the project. In general, the major elements will be the project deliverables and project management product. For example: The phases of the project life cycle may be used as the first level of decomposition with the project deliverables repeated at the second level. The organizing principle within each branch of the WBS may vary.
19
Software Engineering
Project Management
Major elements
Supporting and organizational processes provide further elements for the WBS Identify which supporting and organizational processes need to be invoked Establish which activities from these processes are to be performed, and when
Project
Phase 1 Phase 2 Phase 3
Deliverable1
Deliverable2
Deliverable3 Delivrable4
Delivrable5
Deliverable6
W. Product
W. Product
W. Product
20
Software Engineering
Project Management
1) Constituent elements should be described in terms of tangible, verifiable results in order to facilitate performance measurement. 2) Like major elements, the constituent elements should also be defined in terms of how the work of the project will actually be accomplished. 3) Tangible, verifiable results can include services as well as products 4) status reporting could be described as weekly status reports 5) Making sure we have identified all the things the project is to create help to ensure that all activities needed to carry out are accounted for (and we can make accurate estimates) 6) Project products have activities to create them and vice versa activities produce something (tangible product) 7) Products include large number of technical products including management and the quality of the project (e.g Planning documents would be management product).
21
Software Engineering
Project Management
22
Software Engineering
Project Management
23
Software Engineering
Project Management
Improve accuracy of cost, time, and resource estimates. Define a baseline for performance measurement and control. Facilitate clear responsibility assignments.
24
Software Engineering
Project Management
displays and defines the product to be developed or produced by hardware, software, support, and/or service element, and relates the work scope elements to each other and to the end product(s). A WBS, up to level 3, is developed during the proposal as level three of the WBS is the normal reporting level of external contractual information. Standards are to be followed if required by the customer (like U.S. government MIL-STD-881). After Contract award, the Project Manager expands the WBS into a Contract Work Breakdown Structure (CWBS) as the initial step in the planning process. WBS expansion will extend the CWBS a minimum of one level below the negotiated external reporting level. Why? This sets up (1) the framework for work scope definitions and (2) assignments to the functional organizations. One and only one CWBS exists for each contract and once created will exist for the life of the contract. Only a formal contract change will effect a change in the WBS
25
Software Engineering
Project Management
The WBS is used to report status externally to the customer. The CWBS is used internally to plan in detail and to collect status information on a periodic bases. The Customer, not the contractor, is the primary owner of the WBS. The CWBS is not a "people organization chart; it is a work scope chart. The resource charges must go directly into a single Task Plan element and not split between two or more Task Plan elements. The WBS/CWBS will serve multiple functions (e.g. Design To Cost (DTC), Life Cycle Cost (LCC), Engineering Bill(s) of Material (EBOM), Manufacturing Bill (s) of Material (MBOM), as well as the product structure of the end items) in one format. Never lose sight of the fact that the WBS is used for TECHNICAL PLANNING and STATUS ACHIEVEMENT.
26
Software Engineering
Project Management
Hierarchy of WBS
27
Software Engineering
Project Management
Design of WBS
A WBS is normally presented in chart form The WBS should not be confused with the method of presentation
drawing an unstructured activity list in chart form does not make it a WBS.
These identifiers are often known collectively as the code of accounts. The items at the lowest level of the WBS are often referred to as work packages.
FAST NU
Spring, 2010
28
Software Engineering
Project Management
29
Software Engineering
Project Management
30
Software Engineering
Project Management
31
Software Engineering
Project Management
WBS Framework
A framework dictating the number of levels and the nature of each level may be imposed on a WBS (e.g. IBM recommended five levels):
Level 1: Project. Level 2: Deliverables (such as software, manuals and training courses) Level 3: Components; Which are the key work items needed to produce deliverables (e.g. modules and tests required to produce the system software) Level 4: Activities (Work-packages which are major work items, or collections of related tasks, required to produce a component) Level 5: Tasks (tasks that will normally be the responsibility of a single person).
32
Software Engineering
Project Management
Activity Planning
33
Software Engineering
Project Management
Activity/Task List
Tasks (Leaves of WBS/PBS as Activity Plan ) and the precedence analysis (as Activity Sequencing) results in this management deliverable. Example format: We can make first two columns and start working on the next two (durations estimation and precedence requirements in parallel).
Activity A B C D E F G H Hardware selection Software design Install hardware Code & test software File take-on Write user manuals User training Install & test system Duration (weeks) 6 4 3 4 3 10 3 2 E,F C,D
34
Precedents
A B B
Software Engineering
Project Management
Precedence Analysis
Involves reviewing activities and determining dependencies Mandatory dependencies: inherent in the nature of the work; hard logic (like testing after coding) Discretionary dependencies: defined by the project team; soft logic (Wait for feedback on prototype before
detail design)
External dependencies: involve relationships between project and non-project activities (e.g. supply of hardware) You must determine dependencies in order to use critical path analysis
35
Software Engineering
Project Management
Approaches to scheduling; that achieve separation between the logical (relationships) and the physical (constraints/execution); use networks to model the project. i.e. represent projects activities and their relationships as a network. first stage in creating a network model: represent the activities and their interrelationships as a graph.
A B A B A B
Finish-to-Finish (FF): Task (B) cannot finish until task (A) finishes Start-to-finish (SF): Task (B) cannot finish until task (A) starts
A B
36
Software Engineering
Project Management
Scheduling as precedence
F A: Designing B: Coding S F A: Coding
B: Unit Testing B: Bug Fixing
Software Engineering
Project Management
A=? 1
Software Engineering D
B=?
E F G
H 6 I
Project Management
3 4
ID: Dur:
C=?
A Start: Finish: Res: B Start: Finish: Res:
7
D Start: Finish: Res: E Start: Finish: Res: F Start: Finish: Res: ID: Dur:
PDM
H Start: Finish: Res: ID: Dur:
ID: Dur:
ID: Dur:
ID: Dur:
ID: Dur:
ID: Dur:
ID: Dur:
ID: Dur:
ID:
Finish:
Dur: Resource:
39
Software Engineering
CPM
Network model
Project Management
represents activities as links (arrowed lines) in the graph nodes (circles) represent the events of activities start and finish. Rules for CPM network construction Nodes: A project network may have only one start node (node 1) that designates the points at which the project may start. All activities coming from that node may start immediately; resources are available. Network may have only one end node; designates the completion of the project and a project may only finish once. Nodes are events have no duration (instantaneous points in time). source node: event of the project becoming ready to start and Sink node: is the event of the project becoming completed. Intermediate nodes: represent two simultaneous events the event of all activities (leading in to a node) having been completed and the event of all activities (leading out of that node) being in a position to be started. A link represents an activity (and has duration)
40
Software Engineering
Project Management
Examples: Node 3 is an event indicates that both Code and Data take-on have been completed and program Testing can be started
Program 3 Testing Release 4 Program
Software Engineering
Project Management
4
Network may not contain loops 1) If we know the # of times to repeat a set of activities (e.g. testdiagnose-correct) then we can draw that set a straight sequence, repeating it the appropriate number of times. 2) If we do not know then we cannot calculate the duration of the project. Network may not contain dangles A dangling activity such as Write user manual cannot exist, as it would suggest two completion points.
1
Code Program
Test Program
Release Program
Design Program
Code Program
Test Program
3 42
Software Engineering
Project Management
D:Code software 5
Software Engineering
Project Management
Dummy activities, shown as dotted lines in the network diagram, have a zero duration and use no resources. Case 2: The use of a dummy activity where two activities share the same start and end nodes makes it easier to distinguish the activity end-points* A 2 B 3 1 A B 3 Dummy 4
Such parallel activities with a time lag between them are represented with pairs of dummy activities
Software Engineering
Project Management
Document amendments
45
Software Engineering
Project Management
We require a schedule that clearly indicates when each of the projects activities is planned to occur and what resources it will need. We might present a schedule for a small project using a bar chart (next slide). The chart shows taking account of the nature of the development process (i.e., certain tasks must be completed before others may start) and the resources that are available (e.g., activity C follows B as Ali cannot work on both simultaneously). We have sequenced the tasks (i.e., identified the dependencies) and scheduled them (i.e., specified when they should take place). For small projects, this combined sequencing-scheduling approach might be quite suitable, particularly where we wish to allocate individuals to particular tasks at an early planning stage. On larger projects it is better to separate out these two activities: to sequence the task according to their logical relationships and then to schedule them taking into account resources and other factors.
46
Software Engineering
Project Management
Task A B C D E F G
2 3 4 5 6 7 8 9 1 1 1 1 1 1 0 1 2 3 4 5
A: Overall Design B: Specify Module 1 C: Specify Module 2 D: GUI Design E: Code Module 1 F: Code Module 2 G: Testing Module 1
*Part-I concludes by Having: 1. Activity List and 2. Sequencing and We continue for: In Part-II 1. Activity Resource Est 2. Activity Duration and 3. Scheduling
++
47
Software Engineering
Project Management
Activity Schedule
Schedule control
48
Software Engineering
Project Management
Estimating activity duration is challenging. You can be on familiar ground for some activities and totally unfamiliar ground for others. 1) Similarity to other activities 2) Historical data 3) Expert advice 4) Delphi technique 5) Three-point technique 6) Wide-band Delphi technique 1. Similarity to Other Activities (Analogy) Activities in your WBS may be similar to ones already undertaken. Recollections of those activities and their duration can be used to estimate the present activitys duration. 2. Historical Data The recorded data becomes your knowledge base for estimating activity duration. Orgs have recorded not only estimated and actual duration but also the characteristics of the activity, the skill set of the people working on it, and other variables that they found useful.
49
Software Engineering
3. Expert Advice When the project involves a breakthrough technology or being used for the first time in the organization, there may not be any local experience or even professional skilled. In these cases, you will have to appeal to outside authorities. 4. Delphi technique Can produce good estimates in the absence of expert advice. This is a group technique that extracts and summarizes the knowledge of the group to arrive at an estimate. Group members are asked (individually) to make their best guess of the activity duration. The results are tabulated and presented to the group in a histogram labeled 1st Pass. Whose estimates fall in the outer quartiles are asked to share the reason for their guess. After listening to the arguments, each group member is asked to guess again. Results are presented as 2nd Pass. Similarly a 3rd guess is made, and plotted.
Project Management
First pass
Second pass
Third pass
50
Software Engineering
Project Management
CPM
project network analysis technique used to predict total project Duration and concerned with two primary objectives: Planning the project in such a way that it is completed as quickly as possible; and Identifying those activities where a delay in their execution is likely to affect the overall end date of the project or later activities start dates.
Forward Pass
CPM network after forward pass 0 1 A=6
2 C=3 D=4
B=4 4 3
?
E=3 F=10
H=2 136
G=3
? 105
Software Engineering
Project Management
Backward Pass
to calculate the latest date at which each event may be achieved, and each activity started and finished, without delaying the end date of the project. we assume that the latest finish date for the project is the same as the earliest finish date.
Rule:
The latest date for an event is the latest start date for all activities commencing from that event. In case more activities, we take the earliest of the latest start dates for those activities. (e.g. latest start dates for A=2, B=3, F=0; and earliest among all =0 for event#1) 2 6 8 A=6 C=3 0 1 0 B=4 4 3 7 D=4 E=3 F=10 5 10 10 4 9 11 H=2 136 13 G=3
Software Engineering
Project Management
Up date the activity table For Latest start and finish dates Activity A B C D E F G H Duration (weeks) 6 4 3 4 3 10 3 2 Earliest start date 0 0 6 4 4 0 10 9 Latest start date 2 3 8 7 7 0 10 11 Earliest finish date 6 4 9 8 7 10 13 11 Latest finish date 8 7 11 11 10 10 13 13 Sla ck 2 3 2 3 3 0 0 2
Critical Path
A critical path for a project is the series of activities that determines the earliest time by which the project can be completed The critical path is the longest path through the network diagram and has the least amount of slack or float
56
Project Management
Any delay on the critical path will delay the project. Slack: The difference between the earliest date and the latest date for an event measure of how late an event may be without affecting the end date of the project. Any event with a slack of zero is critical: any delay in achieving that event will delay the completion date of the project as a whole. There will always be at least one path through the network joining those critical events this path is known as the critical path.
significance of critical path is two-fold. 1. In planning: it is the critical 2 6 8 path that we must shorten if 2 A=6 C=3 we are to reduce the overall duration 4 1 3 6 2. In managing: must pay 0 B=4 4 7 D=4 9 11 H=2 13 13 0 3 2 0 0 attention to monitoring activities on the critical path E=3 G=3 so that the effects of any 5 F=10 delay or resource 10 10 0 unavailability are detected at The Critical path the earliest opportunity.
57
Precedence Network
A 6 wks 0 Hardware 6 2 design 8 8 wks 2 wks B 4 wks 0 Software 4 3 design 7 7 wks 3 wks F 10 wks 0 User 10 0 manual 10 10 wks 0 wks C 3 wks 9 6 Build 8 hardware 11 5 wks 2 wks D 4 wks 8 4 Code 7 Software 11 7 wks 3 wks E 3 wks 4 File 7 7 Take-on 10 6 wks 3 wks
Activity Label Duration Earliest Earliest Start Activity Finish Latest Description Latest Start Finish Activity Span Float
Start
H 2 wks 9 Install & 11 11 13 test 4 wks 2 wks 3 wks 10 User 13 10 Training 13 3 wks 0 wks G
finish
Project Management
59
Software Engineering
Project Management
60
7/12/00 7/13/00 8:00 9:00 7/10/00 7/12/00 8:00 17:00 7/14/00 7/14/00 8:00 17:00 7/14/00 7/14/00 8:00 17:00
Module -
Program
Start Date 7/17/00 8:00 7/18/00 8:00 7/18/00 8:00 7/18/00 8:00 7/19/00 8:00 7/10/00 8:00 7/19/00 8:00
End Date 7/17/00 17:00 7/18/00 17:00 7/18/00 17:00 7/18/00 17:00 7/19/00 17:00 7/19/00 17:00 7/19/00 17:00
Test, UC 17 Test, UC 19
Software Engineering
Project Management
63
Software Engineering
Project Management
FAST NU
Spring, 2010
64
Software Engineering
Project Management
Week # 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 2 5
Specify module C Specify module D Design module C Anybody Design module B Design module D
3 4 7
6 8
Today
Software Engineering
Project Management
Week # 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 2 5
Today
66
Software Engineering
Project Management
Categories of reporting
Report type Oral formal regular Oral formal ad-hoc Examples Weekly or monthly progress meetings End-of-stage review meetings Comments While reports may be oral formal written minutes should be kept While largely oral, likely to receive and generate written reports
Written formal Job sheets, progress Normally weekly using forms regular reports Written formal Exception reports, ad-hoc change reports Oral informal Canteen discussion, social interaction Often provides early warning; must be baked up by formal reporting
67
Software Engineering
Project Management
Milestone
Original Date
Revised Date
Actual Date
Milestones Planned for this month and Accomplished this month Planned for Next Month Not completed
68