Considering Dependencies

Considering Dependencies

Most activities are not performed in isolation on a project. Identifying proper dependencies is a key part of getting the schedule right. This section discusses some considerations for dependencies common in software development projects, with references to the life cycle models of Selecting Software Development Life Cycles, the work breakdown structures of Creating the Work Breakdown Structure, the activity identification of Identifying the Tasks and Activities, and the resource assignments of Assigning Resources.

We will discuss what dependencies are, and some of the types found in scheduling activities. We'll explore some typical dependencies in a software development project. And we'll look at a brainstorming technique for identifying activities and dependencies when life cycle model activities are not already available to modify into a workable project plan. All of these explorations will help us build a realistic and believable schedule in Scheduling the Work. In this section, we'll be introduced to some of the concepts of activity representation in a network diagram and we'll complete the coverage in Scheduling the Work on scheduling, when we bring all the pieces together to build an actual schedule.

Remember that what we are trying to do is build a realistic schedule that is acceptable to sponsorship, management, and the customer, and which the development team can believe in and follow. This means that the planning activities we are describing (defining the goal and scope, creating the work breakdown structure, identifying the tasks and activities, estimating the size and duration, assigning resources, considering dependencies, and scheduling the work) should be done with as much involvement of the identified development team members as is practical. Their involvement ensures that the project plan and schedules are theirs, not yours, which greatly increases the chances for successful completion of the project.

Where We Are in the Product Development Life Cycle

Where are we in the basic software life cycle model that serves as our map? As shown in Figure 1, we are still at the beginning of the product development life cycle, planning the project. In particular, we are still planning how to do the project that we already defined in Defining the Goal and Scope of the Software Project, Creating the Work Breakdown Structure and Identifying the Tasks and Activities. The location of dependency consideration activities -epicted in Figure 2.

Product Process Framework

Project Process Framework

"Considering Dependencies" Relation to the 34 Competencies

Understanding dependencies in a software development project requires the product development techniques of understanding development activities and tailoring the processes to meet the needs of the current project. The project management skills needed are a little bit of estimating costs and effort (especially for inventing new activities), building a WBS, scheduling, and, of course, documenting the plans as you go. To do these things effectively, you need the people management skills of interaction and good communications, of holding effective meetings, and of building a working team through leadership. These competencies are shown below.

Product Development Techniques

9. Tailoring processes - Modifying standard processes to suit a project
11. Understanding development activities - Learning the software development cycle

Project Management Skills

12. Building a WBS - Building a work breakdown structure for a project
13. Documenting plans - Identifying key components
14. Estimating costs - Estimating cost to complete the project
15. Estimating effort - Estimating effort required to complete the project
18. Scheduling - Creating a schedule and key milestones

People Management Skills

25. Holding effective meetings - Planning and running excellent meetings
26. Interaction and communication - Dealing with developers, upper management, and other teams
27. Leadership - Coaching project teams for optimal results
34. Teambuilding - Forming, guiding, and maintaining an effective team

Learning Objectives for "Considering Dependencies"

Upon completion of this section, the reader should be able to:

● Describe several different ways that one activity can depend on another in a network;

● Identify new activities and dependencies using the nominal group technique;

● Explain what lag and lead dependencies are used for;

● Describe at least three different types of dependencies;

● Define dependencies in the context of projects;

● Describe the uncertainty principle;

● Explain the difference between a hard and a soft dependency.


software development project, functional organization
The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.
Copyright 2018 SPMInfoBlog.
Designed by TechPlus