Schedule Issues in Software Projects

Time is the ultimate dictator: “Time is also the one variable that has the least amount of flexibility. Time passes no matter what happens on a project." (Schwalbe, chapter 6, page 202). As a result, any problem regarding the schedule of a project is likely to be the most difficult one to manage.

In this article I will enumerate some reasons that, in my opinion, make schedule problems a recurring cause of conflict in projects.

Factors

There are some factors that stress the influence of schedule issues in project conflicts; among these, I think that the most important are:

  1. Work breakdown structure & empowerment;
  2. Time perception;
  3. Attitude, experience and authority of the project manager;

1) Work Breakdown Structure & Empowerment

As Kathy Schwalbe points out, “It is important for the project manager to empower project team members to take responsibility for their activities” (Schwalbe, chapter 6, page 233). Joel Spolsky goes simple and direct stating that “Only the programmer who is going to write the code can schedule it." (Spolsky, 2000).

The key element here is, I think, to make all stakeholders aware of the proposed work breakdown structure, to analyze it, approve it, in order to make everyone agree on the sequence of tasks needed to achieve the project’s objectives. Particularly in the case of software projects, developers must be involved early in the project task decomposition.

2) Time Perception

It is a well-known fact that time perception is different for everyone, but this is particularly true for software developers. This may be hard to believe but it is real, and was even proven by scientific research. DeMarco and Lister dedicated an entire chapter of their classic “Peopleware” book (chapter 10) to the discussion of time perception from the point of view of software development teams:

During single-minded work time, people are ideally in a state that psychologists call flow. Flow is a condition of deep, nearly meditative involvement. In this state, there is a gentle sense of euphoria, and one is largely unaware of the passage of time: 'I began to work. I looked up, and three hours had passed.' There is no consciousness of effort; the work just seems to, well, flow.

(DeMarco and Lister, chapter 10, “Brain Time vs. Body Time”, page 63)

Inducing this “flow” has become the key element for the most successful software companies on Earth, including Microsoft, Apple and Sun, who take care of providing their employees with the quietest working environments:

Strategy 5 Get Away From Interruptions (...) Look for ways to get out of this environment. Take a laptop to the company cafeteria, where there are lots of tables that are empty most of the day (and nobody can find you). Book a conference room for the whole day and write code there, and make it clear through the preponderance of checkins just how much more work you get done when you're in a room by yourself.

(Spolsky, 2001)

This advice is obviously targeted for developers; for project managers, it can be useful to know that, “As well as trying not to be late, it’s also important to challenge the perception of lateness that other people may have of your project." (Whitehead, chapter 11, page 82). But for this particular point, we must take a look at the personal qualities of the project manager.

3) Attitude, Experience and Authority of the Project Manager

Even after having taken extreme care of a project, schedule slippage may happen; this is a sad fact of life, but it happens. In this case, the communication and conflict management capabilities of the project manager will play a prominent role, since all the stakeholders will somehow resist change:

"Mantra: The fundamental response to change is not logical, but emotional."

(DeMarco and Lister, chapter 30, “Making Change Possible”, page 197).

The phrase above sums it all. The project manager needs to know how to tackle these situations, and for that, a good dose of interpersonal skills, coupled with strong conflict management capabilities, are fundamental.

The project manager has an enormous responsibility, and to be able to achieve the project’s objectives, she / he must be able to align all stakeholders towards the same goal.

Conclusion

Several different factors generate most conflicts on projects: in my opinion, among them, project structure, psychological factors and political elements play a major role.

References

Joel Spolsky, “Painless Software Schedules”, Wednesday, March 29, 2000 [Internet] http://www.joelonsoftware.com/articles/fog0000000245.html (Accessed April 29th, 2006)

Joel Spolsky, “Getting Things Done When You’re Only a Grunt”, Tuesday, December 25, 2001 [Internet] http://www.joelonsoftware.com/articles/fog0000000332.html (Accessed April 29th, 2006)

Kathy Schwalbe, “Information Technology Project Management, Fourth Edition”, Thomson Course Technology, 2006, ISBN 0-619-21526-7

Richard Whitehead, “Leading a Software Development Team - A Developer’s Guide to Successfully Leading People & Projects”, Addison-Wesley, 2001, ISBN 0-201-67526-9

Tom DeMarco & Timothy Lister, “Peopleware - Productive Projects and Teams, 2nd Edition”, 1999, Dorset House Publishing, ISBN 0-932633-43-9