10 REASONS PROJECTS MISS DEADLINES
The organization needs to know how long it will take to implement the project because they need to plan work accordingly. Many projects in software development and construction require more time than planned. Often the blame goes to the developers. However, such a problem exists not only in the field of development.
Projects success is often measured by ROI. Business most often plans to start using the product as soon as possible. Keeping the timeframe is a big part of the process. For example, if you need to hire people for future work with a project under development, these processes should be tailored in time. A rough initial time estimates from the team is needed for planning future projects of this team. Managers need to plan what to do with the finished product in the future – sell, promote, develop. And all this also needs to be included in the schedule in advance.
Finally, deadlines can be tied to specific dates. For example, emojis need to be replaced with Halloween pumpkins. Or a new project release is planned to be announced at a public press conference. Imagine that development schedules are broken and Halloween stickers are released on November 1st. Why would anyone need them then?
Why Do We Miss Deadlines?
It so happened that no matter what company you work in, the software development team almost always misses deadlines. As a result, we either delay the delivery or hand over the work with known errors, untested parts, and then try to catch up in the next stage of development. As experience has shown us, the start of the next stage with the completion of past tasks is a very bad practice. But before treating any disease, it is necessary to diagnose and separate the causes from the symptoms.
There’s such a term as “Planning Fallacy.” It is a built-in tendency to underestimate how long a task takes to complete. It tends to make us attribute failing to meet deadlines to external factors rather than our inability to plan effectively. When we initially plan our workload, it comes out somewhat abstract. The planning fallacy influences our thinking; those estimates start becoming more realistic the same time we start getting the work done—when the deadline approaches.
Part of why we fall for the planning fallacy is because we don’t plan for hiccups. When we estimate the time needed for a task to be completed, we imagine the best-case scenario for each step. Inevitably, we encounter obstacles and the workload grows, making it harder for us to meet our own deadlines.
Having an effective manager on your team is 50% of the success. Why is the manager so important? The answer is simple. The most important thing in the work of a manager is to help team to be organized. Managers mediate between programmers and the rest of the world. They can introduce a discussion about the need for process changes, demand the necessary materials from other departments, represent the results of the work of programmers, and protect those interests that will positively affect the work of the company.
Usually, a regular manager can make the following mistakes, leading to a deadline failure:
- Not ensuring the availability of programmers in the right quantity and quality;
- Ignoring the presence of inaccuracies, incompleteness, and inconsistency in the requirements for the product;
- Not influencing the formation and development of the development process
- Ignoring the problem of frequently changing requirements;
- Not ensuring the implementation of the established process both among their team and in other departments;
- Not noticing personal problems of the team members and thus not solving them;
- Not controlling the progress of work;
- Not discussing the timing and deadlines with the team;
- Making promises to fulfill the obviously impossible tasks in time;
- Making a promise to perform tasks for which the deadlines were not assessed and set.
More subtle reasons for deadline failure are an insufficient level of detail when setting the task and little experience in estimating the timeline. A manager with a good level experience knows how to avoid such mistakes.
Inherent traits of a good manager: strong will, honesty, openness and sociability, constructive criticism and self-criticism.
Since the primary task of and software architects is the actual creation of the product, the most important requirement for them is professionalism. This includes character and personal qualities in addition to pure skill. If a company is small, the phrase “teamwork” is not an empty one. Achieving synergy within the team is a totally different topic; however, to destroy it, small things such as a lack of communication skills are enough.
And here are some things the programmers can do to miss deadlines:
- Not asking for help from a mentor or manager if he/she feels that there are serious problems;
- Take too long to solve issues without asking for help or advice;
- Not paying attention to apprentices (lack control or pressure too much);
- It is not enough to detail the tasks and evaluate their dates at the beginning of the next iteration;
- Not following the priorities of tasks (without discussing it with the manager);
- Not automatizing some parts of the work;
- Just being lazy.
The developer must be critical of the code he or she and others has written, be able to support colleagues with advice and deed, and be able not to be biased towards someone else’s advice.
Inherent traits of a good developer: conflict-free, diligence, self-study, responsibility, sociability.
Communication has a place in every plane of existence, but in business, you should try to avoid ineffective communication. Tasks, as we’ve mentioned before, should be set and time assessed realistically and precisely. Any discrepancies in a timeline should be “on the books” in advance. Any manager will appreciate the programmer if he/she can warn about problems with the deadlines in advance. For some, it is very difficult to tell the boss that some “features” would not be implemented and bugs wouldn’t be “fixed.” But over time, you realized that this should be done as early as possible so that you can prioritize tasks.
How to Overcome the Planning Fallacy Bias and Avoid the Failure of Deadlines?
We all know that for the organized software development, we all need a lot of tools. These include the system of accounting tasks and errors, and a common repository of documentation, and version control systems, etc. Problems in improving the work of a team of programmers using these tools appear in cases where non-programmers are also involved in the project. You should spend some time inculcating in them the habit of using these tools.
So, how can we make deadlines work for us? It’s incredibly hard to beat a built-in cognitive bias. However, building awareness about how deadlines work changes our behavior and help us be more productive.
- Recognize that everyone is susceptible to the planning fallacy—even you. You must estimate everything, from finishing routine things around the office to predicting when a large project might be finished. Take this into account when prioritizing and planning your tasks and scheduling projects step-by-step.
- Get an “outsider” view. Think about how long it took you last time to complete a similar task. Be honest. We avoid remembering past difficulties; instead, we should avoid making the same mistakes. It is a good idea to track your timelines on the projects to know how long it takes when the tasks arise again. This will help you get a more realistic estimate, keep your optimism in check, and help you manage your expectations realistically.
- Consider unexpected obstacles or complications. Unexpected obstacles do not mean that your project will necessarily be completely derailed. But you may have to change your strategy or alter your plan in some way to accommodate this obstacle. Brainstorm at least three potential obstacles before giving a time frame. Factor some time into your projected deadline for these obstacles to occur.
- Unpack tasks. When you are making predictions, pay attention to the steps you need to take, and not just the outcome. Think of components that are involved, and timeframes for each component to be completed.
- Give yourself a buffer. Set due dates a couple of days before the “real” deadline. It forces you to rely on the date in the task manager, even though deep down you remember it is a little early. This can be a sneaky way to trick yourself into a situation without alternatives, especially if you’re terrible at sticking to your own deadlines.
Better control. If you have to oversee several or even multiple projects, when was the last time you knew the entire “big picture” of all of them. This becomes even more important if projects are co-dependent. Even if your business processes are not mature enough for project portfolio management, a general view of project statuses will definitely make a difference when it comes to control. PPM Express provides you a lightweight, but yet powerful toolset for such transparency and control.