David Letterman is a funny guy. I especially look forward to his talk show’s Top 10 List, an irreverent commentary on current events. For example, he’ll countdown the top ten reasons why a certain politician did or said something, culminating with the top gaffe for biggest laughs. Or, he will spoof the top ten unsafe toys or ten least popular Broadway shows. Whatever the topic, the biggest joke is saved for last.
We’re going to offer up our Top 10 List today, a countdown of top Project Management Software Development Mistakes. They aren’t terribly funny but undoubtedly will resonate if you’ve been managing software development projects for any length of time. So, in the spirit of Late Show with David Letterman let’s start with number 10 and work our way up to number 1.
#10 – Sinking the Ship with Too Much Process
Putting so much process around a project that it sinks the ship is common mistake in project software development.
One line of reasoning says that if a little bit of process helps things go smoothly, a lot of process will make things go even more smoothly. This is flawed thinking. When there is too much process, everyone is more focused on following process than on actually getting work done.
Checkpoints, forms, approvals, documentation, and other processes are necessary; however, don’t allow them to become a burden and counterproductive. A good rule of thumb is to put just enough process in place to float the boat. Once the boat floats, move onto another area to improve. Don’t sink the ship!
#9 – Not Accounting for Ramp-Up Time
There is an assumption that if you put an experienced, skilled, and talented developer on a new project he’ll hit the ground running. This is especially true if the person has been with the company for some time and knows what they are doing.
However, it’s a project software development mistake to expect this person to go from 0 to 60. You need to factor in time for this person to get up to speed no matter how experienced they are, and include even more time if the person is new to the organization.
#8 – Not Including Administrative Tasks
At number eight in project software development mistakes is not including enough time (or any time, for that matter) for administrative tasks. Think about what a team member’s day is filled with: meetings, phone calls, interruptions, filling out time sheets and clearing out email inboxes.
All of these activities have one thing in common…they take time. If time for administrative tasks isn’t allocated in their schedules it will negatively impact your project plan at some point.
#7 – Expecting Resources to Work on Too Many Projects
Another common project software development mistake is expecting your resources to work on multiple projects at the same time. This usually happens to the more capable resources on your team.
For example, a new project comes in with a complex problem, and you need someone to jump on it quickly and provide a recommendation for a solution; you assign your best team member to the task. Meanwhile, another project comes in; some of the other resources are getting behind so once again, you ask your best team member to help.
You see the pattern developing here? Before long, the performance of your best resource is at risk because they are overloaded. Spread the work out, train others, and keep your best resources focused on their projects.
#6 – Your Time Horizon is too Long
Sometimes it’s hard to know what you will be doing tomorrow, let alone three months from now. The same applies to members of your project team.
It’s a project software development mistake to plan out inordinately long periods of time in great detail for a number of reasons. First, it takes an extraordinary amount of time to create detailed project plans…that will most likely change. Second, it frustrates developers when continual changes prevent them from sticking to the original plan. Finally, you don’t even know if the project you are working on will remain in its present form three months from now.
It’s okay to plan the immediate future out in great detail, but stick to higher levels of planning further out from where you are today.
#5 – Throwing Bodies at the Schedule Will Catch it up
It is a classic project software development mistake to think you only have to throw people at a problem for it to take care of itself. Warren Buffet expressed the sentiment this way: “You can’t make a baby in one month by getting nine women pregnant.” There are certain things in life that take a specified amount of time no matter how creative you get. Throwing extra people at a problem on a project may introduce more confusion and cause even more delays.
#4 – Expecting 100% Full Utilization
How many hours does a full-time person have available in a year? According to my math, 40 hours times 52 weeks equals 2,080 hours.
You are seriously deluding yourself if you felt you could even get close to that amount of billable or productive hours from your resources. Generous vacation schedules and paid time off policies all take a chunk of time out of those theoretically available hours. Plus, it’s the rare worker that doesn’t take a sick day every now and then.
Couple this with the time that is devoted to administrative tasks from #3 above and you may find yourself in the range of 60%- 70% utilization. That’s if you are fortunate. Basing your plan on a higher utilization percentage can seriously throw your project off track.
#3 – Not Including Contingency Plans
Another downfall of many software project development plans is to not have a backup plan. The assumption is that everything will go exactly to plan, but you only need have managed a couple of failed projects to realize this is the farthest thing from the truth.
Resources quit, management shifts, and direction changes. You need to have contingency plans in place to deal with each of these ‘known unknowns’ in addition to the ‘unknown unknowns’ that you haven’t even contemplated yet. Make sure you have a Plan B for everything that you know could go wrong. In addition, it would be good to include a placeholder of time to accommodate those unexpected events.
#2 – Not Checking in Frequently Enough
Everyone gets busy and loses track of where things stand from time to time, but it’s important to not let that amount of time get out of control. It is disastrous for project software development to go unchecked for weeks or months. Projects should never be allowed to go on auto-pilot because they quickly can veer off track.
#1 – Thinking “It’s on the Critical Path” Is a Motivator
The number one project software development mistake is expecting people to work harder when you say, “It’s on the critical path.” It’s an expression that has been used for generations to stop resources dead in their tracks and get them to say, “Okay. I’ll stop all the other items that are on critical paths as well and jump right on this one.”
That’s the problem—everything everyone works on these days is on the critical path. You need to come up with different forms of motivation to gain buy-in and keep people engaged in their projects.
There you have it, my top 10 project software development mistakes. Do what you can to avoid these mistakes and your projects will go much more smoothly.