What You Ignore Can Hurt Your Project

[article]
Summary:
What you don't know may hurt you, but so can what you ignore. Peter Harris explains how to find and prevent big problems on any kind of project as well as showing how you can fix many of your worst problems before they materialize.

What are you ignoring right now, this minute, while you read this? I know that it's bugging you. Other things seem more important, and it’s more comfortable just to ignore it.

What you don't know may hurt you, but so can what you ignore.

I’m going to explain how to find and prevent big problems on any kind of project. Additionally, I'm going to show how you can fix many of your worst problems before they materialize just by figuring out what you're ignoring and then doing something about it.

Even in the agile world, with our emphasis on teamwork, collaboration and good communication, human nature leads us to ignore things. Attending to what you’re ignoring isn’t quite as simple as it sounds, since there are two mutually reinforcing mechanisms at work. First, urgent tasks and interruptions keep appearing, piling up on top of each other until there are too many of them to keep track of. Tasks such as responding to support issues, fixing bugs in the current iteration, or answering your boss’ emailed questions. Second, most of us have things we don’t like to do or that make us uncomfortable, and we’ve become experts at putting them off. Things such as calling a difficult stake-holder or writing necessary documentation.

We use the barrage of incoming, urgent tasks to conveniently bury those we don’t want to face, and the fact that some of the work we’re ignoring is unpleasant tends to keep us from addressing any of it.

I’ve seen or been a part of teams where ignorance led to the following:

    • “The production environment isn't set up yet,” became “The product launch is next week, and we've never done a full install in production.”
    • “The help and FAQ pages are empty,” became “The support lines are flooded with calls and emails.”
    • “The build produces no errors and only seventy-eight warnings” became “The product crashes when the best customer uses her very favorite feature for the first time.”
    • “John created a new entity framework file because he didn't want to bother everyone with all the changes he was making to the database,” became “John left for another job, and Joan discovered 10,000 lines of spaghetti that need to be rewritten before release.”
    • “Linda’s been saying her code ‘will be ready in just a few days’ since last month,” became “Linda’s feature missed the release because she was in over her head and was afraid to ask for help.”
    • “Sam's been coming in a bit later each week for two months, but he's one of the best programmers,” became “Sam was bored and left to open a tattoo parlor.”
    • “The super-whiz-bang service hangs every once in a while,” became “Under real-world stresses, the timing bug proved that the whole super-whiz-bang approach won't work at all. It's too late to fix, so senior management pulls the plug.”

So, what can you do about problems you are ignoring?

1. Recognize that you're ignoring something.
Here are a few ways that I recognize something I've been ignoring:

One way that I recognize something I've been ignoring is when it bites me. If all else fails, trouble is a terrific way to get one’s attention. Once that something gets my attention, I can put it on my list of things to pay attention to in the future.

Another way I’ve used is to think about things that I've ignored in the past. I'm pretty consistent. If I've ignored it before, and I haven't done anything special, I'll most likely ignore it again.

Here’s a third way I’ve discovered I’m ignoring a problem: When someone says something to bring the dreaded topic to mind. With the recall comes the recognition that I've been ignoring it. 

2. Once you recognize something you're ignoring, acknowledge to yourself why you're ignoring it.
You may have a real reason to ignore the problem, and you need to know what this reason is before you can stop ignoring that problem. I might ignore a problem if I experience any of the following: the problem seems difficult to address and that scares me; by choosing to tackle this problem, I have to deal with someone with whom I find it a pain to work; or I’m too busy with other urgent items.

Once I acknowledge the reason, I can do something about it and make the problem easier to pay attention to. I might find myself asking the following questions: If it sounds hard, how hard is it really? Have I given it deep thought, or am I just reacting to what others have said? Can I get help? If I have to deal with a difficult person, can I reward myself by writing a piece of code I’ve been looking forward to, taking a walk at lunch, or in other such ways?

All in all, I need to remind myself of the difference between urgent and important.

3. Having acknowledged why you’re ignoring the thing, you can now regard it.
If ignoring a problem allows it to grow until it can harm you, then careful regard returns some control to you. You might ask yourself the following questions about your problem: What details do I notice? (Focusing on the details often allows you to temporarily shift away from the scary part.) How is this problem the same or different from similar problems I've seen? Is there anything easy I can do to solve part of the problem? Can I decompose it into simpler parts?

All of these questions lead you to some plan. Even a simple plan is a powerful tool because it provides you a path away from ignoring the problem.

4. Execute your plan.
In the end, just thinking about your problem isn't sufficient, because having thought about it, you could now ignore it again. You need to take action, which can be as small as adding an item to your to-do list or telling some other team member about the problem and how you've been ignoring it. Additionally, if you're lucky enough to have a scrum master or a project manager, you could tell him.

Since you’ve been ignoring this problem, I suggest some action on your part too. For me, that first action is often telling other people what (else) I’m going to do. The implied public promise is usually enough to keep me moving.

In my experience, you often have the chance to dodge the damage ignoring a problem will cause your project if the ignoring stops soon enough. Practice looking for something you’re choosing to leave off your list, and spend just two minutes bringing it into the light. I believe you’ll find that it's a rare problem that can't be mitigated by paying attention.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.