CS3007A Software Project Management

Problem Sheet 3

Lecturer: Dr Robert Macredie

E-mail: Robert.Macredie@brunel.ac.uk,

Introduction

In the third session we talked about issues surrounding the decomposition of the task that we face in managing a software project. This primarily looked at planning activities. We considered the importance of planning and developing a basic project plan. We then looked at two different ways of breaking down, or decomposing, the software project, work breakdown structures and product breakdown structures, considering the aims and benefits of each. We ended the session by exploring the significance of dependencies between activities in a project and the place of network diagrams in helping us understand and plan to make dependencies visible and explicit. We considered an example of activities, their duration and their interdependencies to develop a network diagram. This led us to look at the concept of the 'critical path' in a project, alongside other issues such as 'slack time'. The example helped us think about the usefulness of network diagrams in planning, and subsequently managing, a software project.

Learning Outcomes

The learning outcomes for the problem sheet are as follows:

(i)     you should be able to be able to discuss critically 
        the importance and value of planning at the start 
        of a project;

(ii)    you should be able to explain what you need to 
        know to effectively decompose/break down the project;

(iii)   you should be able to develop work and product 
        breakdowns for a simple project;

(iv)    you should be able to develop a correct network diagram 
        for a simple set of activities and determine the critical path;

(v)     you should be able to explain the importance of network 
        diagrams in SPM and define and discuss key parts of the 
        technique

Questions

(i)     List and explain issues which show the importance and value 
        of planning in a software project.  For example, one such 
        issue is the complexity of many software projects.  
        Planning helps us explore and better understand this 
        complexity and helps frame ways of breaking the complexity 
        of the whole project down into smaller, less complex, and 
        more manageable parts.  

(ii)    To break down effectively a project in smaller parts, you might 
        need to understand many issues.  For example, you will need 
        an understanding of the requirements of the software system 
        that you are to 'engineer'.  Without it, it will be extremely 
        difficult, if not impossible, to break the project down effectively.  
        What other issues might you need to understand?  Justify your 
        answers by explaining what the understanding of each issue will 
        contribute to the breaking down of the project.  

(iii)   Develop a work breakdown structure and a product breakdown 
        structure for your final year project.  To help you do this you 
        should make sure that you understand the requirements of the 
        final year project (for example, what are the interim and final 
        deliverables?) Other questions that you might consider are:  How 
        are you monitoring the quality of your work?  Are there any risks 
        involved and if so what are they?  (NOTE: You should be doing 
        this anyway as part of your final year project work.  For your 
        project, you should also produce a time plan, though it is not 
        required for this exercise).  

(iv)    From the following activity list, develop the plan network and 
        determine the critical path and the associated project completion 
        time (in days).


	Activity		Duration (in days)	Preceding activity
	A			1			-
	B			10			A
	C			5			A
	D			12			A
	E			15			B
	F			21			B
	G			2			E
	H			1			F
	I			1			G,H
	J			15			G,H,C,D
	K			4			D
	L			2			I,J,K




(v)     Imagine that you had developed a network diagram for your final 
        year project, showing the activities that you expect to undertake 
        (from your work breakdown structure), your estimation of the 
        length of time that each one will take, and the dependencies 
        between the activities (my advice is that you do try to develop such 
        a plan in the next few weeks).  How do you think that this network 
        diagram would help you to manage effectively your project?

I would encourage you to work in groups of around five for this and subsequent exercises.


Robert Macredie

16 October 1998