The Benefit of Finding Problems Early in a Project

Peter H. Feiler and Jorgen Hansson from the Software Engineering Institute (SEI) have compiled and published some interesting statistics that point to the benefit of finding and fixing bugs early in a software development project.

There is a huge benefit to finding and fixing problems early.

Here are some of the most remarkable findings:

  • 70% of faults are introduced in the early stages of a project lifecycle.
  • But, only 3.5% of faults are found at that stage.
  • 80% of faults are actually only found in the later stages of a project’s lifecycle.
  • The cost of fixing faults in the early stages is 2.5x.
  • The cost of fixing faults in later stages is 16x or higher.

According to the research you can save yourself over 600% on repair and rework costs on a project by finding and fixing problems early.

While this data is specifically for software development, the conclusion rings true for projects of all sorts, including marketing projects, creative work, manufacturing or research projects.

“That’s Not What I Wanted!”

A client came to us asking why he never got what he wanted from his project team.

Here’s The Replay of every project he requested.

  1. Before a project began he would carefully explain the deliverable to the project manager. He would go into great details on all the intricacies that he’d worked out from months of thinking about the project.
  2. The project manager would take notes and send him a specification detailing the whole project.
  3. The client would think about the project some more then give the pm the green light to go ahead.
  4. The project manager would set-up a schedule and deliver on time.
  5. The client would take one look at the final product and inevitably be disappointed. Then frustrated. Then downright angry.
  6. “That’s not what I wanted!” he would exclaim. Every time. Months of thinking about the new deliverable wasted. All his plans for using it, gone.

Needless to say, he was frustrated.

The Investigation

I went in and investigated. The process sounded alright. No glaring holes in a typical waterfall approach.

The client had a well-defined goal. The project manager was listening and delivered on time. So that’s not where the break down was.

I could recommend that the client check in every once in a while to see the actual deliverables themselves while they’re being produced. But I know he’s not that kind of manager. Besides, it wasn’t the details that were off in the final product. It was the whole thing.

I started asking the client different, seemingly obvious questions. Then, I found my answer.

“Did you read the specification the project manager sent?”

“No,” was the answer. And that was the answer.

He said it was a big, detailed document that looked thorough enough.

Gauging by the weight of the spec he was sure the project manager had the right idea.

“Besides,” he continued, “I explained it well enough for anyone to understand what I was talking about.”

In his mind, the idea was so clear and well formed that with a careful explanation it should’ve be obvious. The problem was that it was only clear in his head. He’d been the one living with it for months. He’d been the one who saw every detail. But someone it didn’t translate. A critical component of the communication in the requirements gathering phase was missing.

Communication is more than getting out everything you want to say about something (which is what he did). Communication is about making sure the other person understands.

The Core of the Problem

To come up with a solution we needed to get to the core of the problem. Knowing the people involved, the solution wasn’t simply to tell him to read the spec. It would never happen. He needed a solution where he could get what he wanted but without having him

a) do something he’ll never do or

b) change the way projects are done (e.g. adopting agile or requiring more interaction with the project team).

The core of the issue was that the specification was the wrong tool for the project manager and the client to use for their communications.

In general, a specification is the right tool for the project manager to use with his team. The project team needs a detailed blue-print. It also helps the project manager m think through the specific requirements of the project.

But it is the wrong tool to use with the client, particularly this one.

The Answer

I recommended that the project manager give the client a bullet point list of the general features. Keep it to one page whenever possible. This could even be a milestone view of the project schedule with all the sub-tasks rolled up.

If it’s too general, the client will ask questions. And it’s exactly the questions that you want to encourage. Sparking communication is one of the main goals of this approach.

A bullet-point spec is easily digested and easily scanned. It keeps the client engaged. It makes the project manager look like an efficient problem solver and good communicator. Whereas a big specification document can create the impression in the client’s mind that the project manager needs 30 pages to say what the client can envision clearly in a single image or a short conversation.

They tried it. It worked.

It didn’t happen overnight. But, it did work.

Moving to a bullet-point specification set-up a process of iterative conversations that resulted in the client and project manager connecting better and connecting more often.

This resulted in the client getting more of what he wanted, every time.

The requirements phase became a valuable, two-way conversation, rather than a hand-off of responsibility which left the client hoping he’d get what he wanted.

Using Milestones and Sub-Tasks to Improve Communication

Milestones and sub-tasks are a powerful tool-set to improve communication on projects.  When used together in a project schedule you can consolidate the informational needs of the client, project manager and team without having to use multiple project management systems or spreadsheets.  It allows the schedule to be a single point of truth, as it were, and single reference point for project communications.

Here’s why it works.

People involved in a project have different informational goals.

  • The client wants to know when things will be done and how they are progressing.
  • The team wants to know the specific tasks they have to do.
  • The project manager wants to coordinate the work, meet deadlines, manage resources, spot problems and improve processes.

Without a reference point, each person has trouble communicating. The client demands to know what’s going on. The team explains it in terms of the specific tasks. The project manager tries to translate between the two, or complicates matters but bringing out a Gantt chart, dependencies, a critical path or other project manager specific tools. The end result is frustration (or an exhausted project manager).

Here’s How to Do It.

You can avoid all this frustration and improve communications by creating a schedule using milestones and sub-tasks.  The milestones are the major deliverables or key points for the client. They are what the client wants out of the project and places they need to be directly involved. 

For the team, think of Milestones as parent-tasks and create sub-tasks underneath them. The sub-tasks are the specific, detailed, tasks that the team needs to do to get the project done.

When speaking to the client use the rolled-up version of the schedule showing the milestones only.

When speaking with the team use the drill-down version of the schedule showing all the sub-tasks.

This schedule then becomes the single point of truth, or reference, for all communication on the project. It has all the details needed for the team and a rolled-up view for clients.  The project manager can use it manage the project and facilitate communication without double-entry of data into other systems.

When something changes on the project you can use this schedule to show how the change impacts the milestones (for the client) or the sub-tasks (for the team). 

Taking it Further

Here are a few ways to use sub-tasks to create even more specific information that can improve communication on projects.

  1. If your project management software has the capability, you can sort the sub-tasks by each team member or by due date to provide specific to-do lists for each person.
  2. Using the same capabilities, you can create custom lists for your clients of all upcoming milestones in the next month across all projects.
  3. Depending on the number of people involved, you can use multiple levels of sub-tasks (e.g. 6.1.2) to further categorize project information for different teams or departments that may be involved.
  4. The multiple level of sub-tasks can then be rolled-up, as needed, for department meetings or meetings of team leaders.

Can a Hands-on, Analytical Person become a Good Project Manager?

A reader in South Africa asked if a person with strong analytical thinking skills can be a good project manager?  They’ve seen this person get very involved in the project activities themselves and, as a result, drop the ball on managing the project and keeping the ball rolling.

I answered that with the right coaching this person could be a great project manager. But, it depends on what the company is looking for in a project manager.

  • If they are looking for someone to keep the flow of traffic moving, communicating between people, updating lists and assets, then it won’t be a great fit.
  • If, however, they are looking for someone keep the flow of traffic moving and to document how things get done and improve the way they are done, then this person could fill the role and succeed in it.

The trick is to allow the project manager to formalize the process so that each action item is its own data point. That way the project manager can map out the process and find ways that it can be done better or faster.

It can also be very satisfying for an analytically-minded person to cross things off a list rather then shuttle back and forth, keeping balls in the air, without structure.

Tip to Not Getting Stuck When Writing Down a Process

We have a client who wanted to document their current processes. This is a good thing to do.  It has many advantages and is crucial for setting a path to growth and higher customer satisfaction.  But they seemed to always get stuck in the process.

The project of writing down the process would suffer from the worst scope creep. Then the scope creep would kill the project for a while.

Every time they’d start to get things down, they’d stop to discuss some item that came up. The discussion would grow, more people were pulled in and suddenly the whole project was pushed back for another two months.

After watching this happen a few times over the course of a year, it was clear that whatever it was they discussed, was poison to the project.

Some people suggested that it was a problem of how they were discussing the item and the steps they were taking to develop conclusions. Others suggested that it was a matter of poor decision making process and that either more power was needed to be given to the people involved or the decision itself should be pushed higher up the chain to someone who had more power.

I took a look at this situation and it was clear that none of these factors was the problem. The group itself pretty efficient at discussing things and, while it was true that the people at the table didn’t have the right decision making authority, this was not a problem of decision making.  It was a problem of content.

The items they were discussing were not part of their current processes.  They were new items, new decisions that had to be made. They were totally novel concepts for the organization and were out of scope of the project and out of the decision making authority of the team involved.  The items had more to do with process improvement then in documenting the current process.

What would happen is, that as they would document their process, they would see ways to do things better. That’s great. Its one of the big advantages of writing things down. But instead of tabling the item or making a note to come back to it later, they would tackle the issue right there.

Instead of documenting what was already in place and working in their organization, they used the whole project as a springboard for process improvement or process modification.

That, is what was killing the project.  Noble intentions and good, creative thinking, but out of scope for that project and team.

After helping them stay focused on the project itself, and creating a bucket for all the good ideas that came up along the way, the client finished documenting their processes in under one month.  They were well on their way to better management and greater growth.

Ask a Project Management Question

After answering project management questions on LinkedIn and other sites for years, I’m happy to be able to field questions directly off the Vertabase blog.

Questions I’ve answered in the past include:

  • Who defines the project objectives?
  • What should I do if a client doesn’t want to hear about problems?
  • What are alternatives to MS Project?
  • Is a task list enough to manage a project?

Use the button on the right to submit a project management question.

I look forward to answering your questions.

Gossip and Project Management

While reading about information science in Ambient Findability by Peter Morville I came across the concept that gossip is an important source of information and that gossiping is an important mechanism of finding information.

One aspect of gossip is that, while it may not be 100% accurate, it can provide advance knowledge on an upcoming event or help the attuned listener prepare for what’s coming in the future.

This type of information can be incredibly valuable when managing projects. The more advanced knowledge you have on the status of tasks, projects, budgets, etc. the better prepared you can be, the better you can manage the project/plan for changes and the better you can communicate to stakeholders about it.

So I was thinking, what are the informal/gossipy type cues or communication channels that one can build into a project management process that will give managers advanced knowledge?

“When Will My Project Be Done?”

This question is central to project managers and clients.

Its a tough question because every project has its own unique characteristics. Even if its something that you’ve done before, many factors can throw off a schedule.  As a friend of mine says:

Its not the stuff you know that throws you off. And its not the stuff you know ‘you don’t know’ that throws you off -you can cover that by doubling your estimate or so. Its the stuff you don’t know that you don’t know that can throw you off, 5x or more.

Nevertheless, an estimated due date is a reasonable thing to ask for.  In fact, it is critical to successfully scheduling work, achieving goals and managing people.

So, what’s the best way to answer the question?

First, understand that a due date is a best guess of how things will turn out.  It should be based on the most accurate information available like:

  • past estimates of the amount of work tasks took
  • past estimates of the calender days tasks took
  • comparisons between those estimates and the actual data from past projects
  • familiarity with the strengths and weaknesses of the project team and
  • the current resources available for the project.

But when you present the schedule to your client, frame it as a basis for communication.  Let them know that, while based on the best information available, it is not a definitive prediction of the future. What it does do, though, is become a definitive guide for you to provide them updates on the schedule and for them to ask for the status of the project in very specific terms.

Second, carefully understand the constraints at play on your project. Every project has at least three constraints:

  • Time,
  • Money and
  • Scope - all of which should center around
  • Quality.

Explain to your client that each of those constraints directly impacts the others.

If your client requires a hard deadline, you need to have the right amount of resources and a limited scope. Your ability to meet deadlines further improves if you can scale up the resources allocated to the project to meet unforeseen challenges or pressures on the scope.

In any case, it is the project manager’s job to help control these factors and, most importantly, to communicate to the client how changes, challenges and surprises impact the estimated due date of a project.

“My Implementation Team is Always Late.”

That’s what a friend who heads the client service group at an interactive agency complained about over lunch. He wanted to know how he could stop his implementation team from being late.

I asked how they currently communicate.

“For each implementation we submit a ticket through a home-grown Microsoft Sharepoint based system. The ticket has the date submitted, the general scope of work and the due date.  They then let me know when an implementation is ready to go. Or, I have to pro-actively call to find out the status of an implementation. Then, inevitably, I have to call the client and tell them their launch is going to be late.”

I suggested putting together a short work plan that described the steps the implementation team goes through to prepare for a launch. In his case, there are generally 5 major steps, each with around 10 sub-tasks. To start with, skip the sub-tasks. Make a bullet-point list of the five major steps. This will give you and the implementation team a single point of reference to gauge the progress of the project. 

Instead of touching base only when it is due, you can touch base at each of the 5 major steps.  This will bring more visibility into the process. It will also give you early warning of when an implementation is starting to run late, before it is actually due, so you can do something about it.

This is a first step. 

This also sets the foundation for more sophisticated and accurate planning using start and due dates for each step and estimating hours, as well as being able to scale the process through resource planning and project templates. But that can come later. The first step is to map out the implementation process in easy, big block steps that become a basis for meaningful communication.

Estimating Project Schedules: Setting Margins-of-Error

Estimating a project’s schedule can be a real challenge.  There is potential uncertainty and unkowns to consider when creating a schedule.  I’ve found it helpful to categorize projects when estimating a project’s schedule so you know what kind of margin-of-error to build into it. Three categories I find useful are:

  1.  New Work
  2.  Old Work
  3.  Combo Work -Combination of New and Old

New work is an effort or process you’ve never done before. This could be using a new technology, an upgraded tool, developing a new type of solution, implementing a new program or designing an entirely new asset e.g. a website, if you are used to designing print pieces.

Old work is an effort or process you’ve done many times before with the same tool set.

Combo work is a combination of new and old. This could be doing a standard project using a new tool or technique or working on something you’ve done before but which you wouldn’t call yourself an expert at just yet.

MARGIN-OF-ERROR

Each of these categories carries a different degree of uncertainty. You can capture that uncertainty by creating a margin-of-error for your schedule estimates. Here are some guidelines for margins-of-error. 

  1. New Work - a margin of 8x.
  2. Old Work -a margin of 1.5x
  3. Combo Work -a margin of 4x, though you can shift that higher or lower, depending on how much is new vs old.

DON’T FORGET CLIENTS

Clients are another element to consider when deciding what category to put a project into. Doing work for a new client or a new contact person at the client can add as much uncertainty as using a new tool or developing a new solution.

Page 8 of 15« First...«456789101112»...Last »

Follow me at: twitter LinkedIn

Subscribe to RSS Feed

Get the feed!


Add to Google



Get More Done



As Seen In

"Mark is a skilled communicator, and his blog stands out for its clarity. The ideas he presents are fresh and give readers a different perspective. Importantly, it gives practical and applicable insights."


- David Gurevich, PM Exam Guide

"An amazing talk!"

"Wonderful, engaging speaker!"

"Great insights."


- Audience reviews, Ann Arbor

"Mark is undoubtedly an expert in project management, not only at the theoretical level but at the practical level, as he is able to clearly explain and show how small to medium businesses can implement practical project management solutions to save time, money and headaches."


- Brian Love, CTO, Webucator

"Mark’s presentation style is engaging. Many people (particularly the Project Managers present) left the presentation eager to apply Mark’s advice on better planning and project execution to their own projects."


- Bernie Dolan, Sun Life Insurance

"Mark went out of his way to give a "real-world" talk on project management that was motivating and informational. Several of our group member filled up notebooks with great tips and takeaways from Mark's talk. I would highly recommend Mark for any discussion on Project Management and his talk is great for any audience."


- Matt Schulz, PMP, CIW

"Mark gave a very engaging presentation. He demonstrated his expertise in project management and provided some excellent ideas that our members took away from the discussion to try putting into practice in their own project teams."


- Troy Pullis, Minneapolis/St. Paul

"Mark came to speak about Project Management and Time Tracking. Mark eloquently delivered, a well researched, and comprehensive presentation that everyone found very useful. Mark no doubt is an expert on project management, and that is very clear when he speaks."


- Pete Freitag, President, Foundeo Inc, New York

"Mark was a great speaker, and I hope to have him back to Cleveland."


- Brian Meloche, Cleveland

Archives

1999-2012 Standpipe Studios, L.L.C., All Rights Reserved.

Trademarks | Privacy | Sitemap