The success of a project will depend critically upon the effort, care and skill you apply in its initial planning. This article looks at the creative aspects of this planning.
Before describing the role and creation of a specification, we need to introduce and explain a fairly technical term: a numbty is a person whose brain is totally numb. In this context, numb means "deprived of feeling or the power of unassisted activity"; in general, a numbty needs the stimulation of an electric cattle prod to even get to the right office in the morning. Communication with numbties is severely hampered by the fact that although they think they know what they mean (which they do not), they seldom actually say it, and they never write it down. And the main employment of numbties world-wide is in creating project specifications. You must know this - and protect your team accordingly.
A specification is the definition of your project: a statement of the problem, not the solution. Normally, the specification contains errors, ambiguities, misunderstandings and enough rope to hang you and your entire team. Thus before you embark upon the the next six months of activity working on the wrong project, you must assume that a numbty was the chief author of the specification you received and you must read, worry, revise and ensure that everyone concerned with the project (from originator, through the workers, to the end-customer) is working with the same understanding. The outcome of this deliberation should be a written definition of what is required, by when; and this must be agreed by all involved. There are no short-cuts to this; if you fail to spend the time initially, it will cost you far more later on.
The agreement upon a written specification has several benefits:
The work on the specification can seen as the first stage of Quality Assurance since you are looking for and countering problems in the very foundation of the project - from this perspective the creation of the specification clearly merits a large investment of time.
From a purely defensive point of view, the agreed specification also affords you protection against the numbties who have second thoughts, or new ideas, half way through the project. Once the project is underway, changes cost time (and money). The existence of a demonstrably-agreed specification enables you to resist or to charge for (possibly in terms of extra time) such changes. Further, people tend to forget what they originally thought; you may need proof that you have been working as instructed.
The places to look for errors in a specification are:
This seems to make the specification sound like a long document. It should not be. Each of the above could be a simple sub-heading followed by either bullet points or a table - you are not writing a brochure, you are stating the definition of the project in clear, concise and unambiguous glory.
Of course, the specification may change. If circumstances, or simply your knowledge, change then the specification will be out of date. You should not regard it as cast in stone but rather as a display board where everyone involved can see the current, common understanding of the project. If you change the content everyone must know, but do not hesitate to change it as necessary.
Having decide what the specification intends, your next problem is to decide what you and your team actually need to do, and how to do it. As a manager, you have to provide some form of framework both to plan and to communicate what needs doing. Without a structure, the work is a series of unrelated tasks which provides little sense of achievement and no feeling of advancement. If the team has no grasp of how individual tasks fit together towards an understood goal, then the work will seem pointless and they will feel only frustration.
To take the planning forward, therefore, you need to turn the specification into a complete set of tasks with a linking structure. Fortunately, these two requirements are met at the same time since the derivation of such a structure is the simplest method of arriving at a list of tasks.
The reasoning behind this is that the human brain (even yours) can only take in and process so much information at one time. To get a real grasp of the project, you have to think about it in pieces rather than trying to process the complexity of its entire details all at once. Thus each level of the project can be understood as the amalgamation of a few simply described smaller units.
In planning any project, you follow the same simple steps: if an item is too complicated to manage, it becomes a list of simpler items. People call this producing a work breakdown structure to make it sound more formal and impressive. Without following this formal approach you are unlikely to remember all the niggling little details; with this procedure, the details are simply displayed on the final lists.
One common fault is to produce too much detail at the initial planning stage. You should be stop when you have a sufficient description of the activity to provide a clear instruction for the person who will actually do the work, and to have a reasonable estimate for the total time/effort involved. You need the former to allocate (or delegate) the task; you need the latter to finish the planning.
Task allocation is not simply a case of handing out the various tasks on your final lists to the people you have available; it is far more subtle (and powerful) than that. As a manager you have to look far beyond the single project; indeed any individual project can be seen as merely a single step in your team's development. The allocation of tasks should thus be seen as a means of increasing the skills and experience of your team - when the project is done, the team should have gained.
In simple terms, consider what each member of your team is capable of and allocate sufficient complexity of tasks to match that (and to slightly stretch). The tasks you allocate are not the ones on your finals lists, they are adapted to better suit the needs of your team's development; tasks are moulded to fit people, which is far more effective than the other way around. For example, if Arthur is to learn something new, the task may be simplified with responsibility given to another to guide and check the work; if Brenda is to develop, sufficient tasks are combined so that her responsibility increases beyond what she has held before; if Colin lacks confidence, the tasks are broken into smaller units which can be completed (and commended) frequently.
Sometimes tasks can be grouped and allocated together. For instance, some tasks which are seemingly independent may benefit from being done together since they use common ideas, information, talents. One person doing them both removes the start-up time for one of them; two people (one on each) will be able to help each other.
The ordering of the tasks is really quite simple, although you may find that sketching a sequence diagram helps you to think it through (and to communicate the result). Pert charts are the accepted outcome, but sketches will suffice. Getting the details exactly right, however, can be a long and painful process, and often it can be futile. The degree to which you can predict the future is limited, so too should be the detail of your planning. You must have the broad outlines by which to monitor progress, and sufficient detail to assign each task when it needs to be started, but beyond that - stop and do something useful instead.
Guesstimating schedules is notoriously difficult but it is helped by two approaches:
The corollary to this is that you should keep records in an easily accessible form of all projects as you do them. Part of your final project review should be to update your personal data base of how long various activities take. Managing this planning phase is vital to your success as a manager.
Some people find guesstimating a difficult concept in that if you have no experience of an activity, how can you make a worthwhile estimate? Let us consider such a problem: how long would it take you to walk all the way to the top of the Eiffel Tower or the Statue of Liberty? Presuming you have never actually tried this (most people take the elevator part of the way), you really have very little to go on. Indeed if you have actually seen one (and only one) of these buildings, think about the other. Your job depends upon this, so think carefully. One idea is to start with the number of steps - guess that if you can. Notice, you do not have to be right, merely reasonable. Next, consider the sort of pace you could maintain while climbing a flight of steps for a long time. Now imagine yourself at the base of a flight of steps you do know, and estimate a) how many steps there are, and b) how long it takes you to climb them (at that steady pace). To complete, apply a little mathematics.
Now examine how confident you are with this estimate. If you won a free flight to Paris or New York and tried it, you would probably (need your head examined) be mildly surprised if you climbed to the top in less than half the estimated time and if it took you more than double you would be mildly annoyed. If it took you less than a tenth the time, or ten times as long, you would extremely surprised/annoyed. In fact, you do not currently believe that that would happen (no really, do you?). The point is that from very little experience of the given problem, you can actually come up with a working estimate - and one which is far better than no estimate at all when it comes to deriving a schedule. Guesstimating does take a little practice, but it is a very useful skill to develop.
There are two practical problems in guesstimation. First, you are simply too optimistic. It is human nature at the beginning of a new project to ignore the difficulties and assume best case scenarii - in producing your estimates (and using those of others) you must inject a little realism. In practice, you should also build-in a little slack to allow yourself some tolerance against mistakes. This is known as defensive scheduling. Also, if you eventually deliver ahead of the agreed schedule, you will be loved.
Second, you will be under pressure from senior management to deliver quickly, especially if the project is being sold competitively. Resist the temptation to rely upon speed as the only selling point. You might, for instance, suggest the criteria of: fewer errors, history of adherence to initial schedules, previous customer satisfaction, "this is how long it takes, so how can you trust the other quotes".
When the planning phase is over (and agreed), the "doing" phase begins. Once it is in motion, a project acquires a direction and momentum which is totally independent of anything you predicted. If you come to terms with that from the start, you can then enjoy the roller-coaster which follows. To gain some hope, however, you need to establish at the start (within the plan) the means to monitor and to influence the project's progress.
There are two key elements to the control of a project
For you, the milestones are a mechanism to monitor progress; for your team, they are short-term goals which are far more tangible than the foggy, distant completion of the entire project. The milestones maintain the momentum and encourage effort; they allow the team to judge their own progress and to celebrate achievement throughout the project rather than just at its end.
The simplest way to construct milestones is to take the timing information from the work breakdown structure and sequence diagram. When you have guesstimated how long each sub-task will take and have strung them together, you can identify by when each of these tasks will actually be completed. This is simple and effective; however, it lacks creativity.
A second method is to construct more significant milestones. These can be found by identify stages in the development of a project which are recognisable as steps towards the final product. Sometimes these are simply the higher levels of your structure; for instance, the completion of a market-evaluation phase. Sometimes, they cut across many parallel activities; for instance, a prototype of the eventual product or a mock-up of the new brochure format.
If you are running parallel activities, this type of milestone is particularly useful since it provides a means of pulling together the people on disparate activities, and so:
Of course, there are milestones and there are mill-stones. You will have to be sensitive to any belief that working for some specific milestone is hindering rather than helping the work forward. If this arises then either you have chosen the wrong milestone, or you have failed to communicate how it fits into the broader structure.
Communication is your everything. To monitor progress, to receive early warning of danger, to promote cooperation, to motivate through team involvement, all of these rely upon communication. Regular reports are invaluable - if you clearly define what information is needed and if teach your team how to provided it in a rapidly accessible form. Often these reports merely say "progressing according to schedule". These you send back, for while the message is desired the evidence is missing: you need to insist that your team monitor their own progress with concrete, tangible, measurements and if this is done, the figures should be included in the report. However, the real value of this practice comes when progress is not according to schedule - then your communication system is worth all the effort you invested in its planning.
At the planning stage, you can deal with far more than the mere project at hand. You can also shape the overall pattern of your team's working using the division and type of activities you assign.
This does not mean that your projects should be planned by committee - rather that you, as manager, plan the project based upon all the available experience and creative ideas. As an initial approach, you could attempt the first level(s) of the work breakdown structure to help you communicate the project to the team and then ask for comments. Then, using these, the final levels could be refined by the people to whom the tasks will be allocated. However, since the specification is so vital, all the team should vet the penultimate draft.
The constant trickle of new information can lead to a vicious cycle of planning and revising which shakes the team's confidence in any particular version of the plan and which destroys the very stability which the structure was designed to provide. You must decide the balance. Pick a point on the horizon and walk confidently towards it. Decide objectively, and explain beforehand, when the review phases will occur and make this a scheduled milestone in itself.
Even though the situation may have changed since the last review, it is important to recognise the work which has been accomplished during the interim. Firstly, you do not want to abandon it since the team will be demotivated feeling that they have achieved nothing. Secondly, this work itself is part of the new situation: it has been done, it should provide a foundation for the next step or at least the basis of a lesson well learnt. Always try to build upon the existing achievements of your team.
When devising the schedule therefore you must include allocated time for this part of each activity. Thus your question is not only: "how long will it take", but also: "how long will the testing take". By asking both questions together you raise the issue of "how do we know we have done it right" at the very beginning and so the testing is more likely to be done in parallel with the implementation. You establish this philosophy for your team by include testing as a justified (required) cost.
The same is also true when choosing the tools or building-blocks of your project. While it might be nice to have use of the most modern versions, or to develop an exact match to your needs; often there is an old/existing version which will serve almost as well (sufficient for the purpose), and the difference is not worth the time you would need to invest in obtaining or developing the new one. Use what is available whenever possible unless the difference in the new version is worth the time, money and the initial, teething pains.
A related idea is that you should discourage too much effort on aspects of the project which are idiosyncratic to that one job. In the specification phase, you might try to eliminate these through negotiation with the customer; in the implementation phase you might leave these parts until last. The reason for this advice is that a general piece of work can be tailored to many specific instances; thus, if the work is in a general form, you will be able to rapidly re-use it for other projects. On the other hand, if you produce something which is cut to fit exactly one specific case, you may have to repeat the work entirely even though the next project is fairly similar. At the planning phase, a manager should bare in mind the future and the long-term development of the team as well as the requirements of the current project.
You could offer a prototype service or product at an earlier date. This might, in some cases, be sufficient for the customer to start the next stage of his/her own project on the understanding that your project would be completed at a later date and the final version would then replace the prototype.
The complexity of the product, or the total number of units, might be reduced. This might, in some cases, be sufficient for the customer's immediate needs. Future enhancements or more units would then be the subject of a subsequent negotiation which, you feel, would be likely to succeed since you will have already demonstrate your ability to deliver on time.
You can show on an alternative schedule that the project could be delivered by the deadline if certain (specified) resources are given to you or if other projects are rescheduled. Thus, you provide a clear picture of the situation and a possible solution; it is up to your manager then how he/she proceeds.
You can try to predict where the errors will occur. By examining the activities' list you can usually pinpoint some activities which are risky (for instance, those involving new equipment) and those which are quite secure (for instance, those your team has done often before). The risky areas might then be given a less stringent time-scale - actually planning-in time for the mistakes. Another possibility is to apply a different strategy, or more resources, to such activities to minimise the disruption. For instance, you could include training or consultancy for new equipment, or you might parallel the work with the foundation of a fall-back position.
With all these considerations in merely the "planning" stage of a project, it is perhaps surprising that projects get done at all. In fact projects do get done, but seldom in the predicted manner and often as much by brute force as by careful planning. The point, however, is that this method is non-optimal. Customers feel let down by late delivery, staff are demotivated by constant pressure for impossible goals, corners get cut which harm your reputation, and each project has to overcome the same problems as the last.
With planning, projects can run on time and interact effectively with both customers and suppliers. Everyone involved understands what is wanted and emerging problems are seen (and dealt with) long before they cause damage. If you want your projects to run this way - then you must invest time in planning.
Gerard M Blair is a Senior Lecturer in VLSI Design at the Department of Electrical Engineering, The University of Edinburgh. His book Starting to Manage: the essential skills is published by Chartwell-Bratt (UK) and the Institute of Electrical and Electronics Engineers (USA). He welcomes feedback either by email (gerard@ee.ed.ac.uk) or by any other method found here