Software Engineering Deadlines: Benefits and Disadvantages

I found myself thinking that existing schedules in software development can give negative effect. Nevertheless more people still insist that schedules play a positive role. I think it’s necessary to apply it with care (just like any other «Silver bullet» for software development). I’ve tried to analyze how schedules can ruin the project and how it’s possible to improve future results.
Dec 23, 2014

Software Development Deadlines Belitsoft

spectrum1031.com

I believe that schedules are necessary, but managers and programmers need to understand that people sometimes are failed with deadlines and there is no big tragedy. Sometimes circumstances, not people are the reason of failed deadlines.

It’s useful to meet deadlines for the things you are doing, however there are some nuances in case of programming.

HOW DEADLINES CAN BE HELPFUL

Due to schedules you can plan your future work. If we plan to finish our work on the item “X” during 2 months, then we know that after 3 months we’ll be able to release a new version of software.

Schedules are very helpful with rationalization and optimization: if we know that Peter will finalize the item “X” in 2 months, and Bob will make it in 2 days, then it is easier to sort out who is busier. If tomorrow we will find a bug with medium importance, so we can rationally weigh up the situation and assign this bug fix to Bob, because he’ll be free in 2 days.

Schedules can also act as an additional method of task specification. Programmer can maneuver under the influence of schedules, somewhere he will be more diligent but somewhere he will not. And that is good, ‘cause the ultimate speed of software development will grow due to such maneuvers.

HOW SCHEDULES INFLUENCE ON SOFTWARE DEVELOPMENT

Unfortunately, programming is a difficult thing and even the experts sometimes cannot calculate right schedules in advance. In addition, majority of programmers estimate the duration of development in too optimistic way. So often experts don’t meet the prescribed deadlines. It turns out that programmer need to put a lot of emotions and efforts in order to complete some task on time. The programmer can designate unreasonably optimistic deadlines under managers’ pressure. Even worse, when managers are trying to set up deadlines to programmers.

Deadlines are some kind of punitive, reproaches managers’ tools in the eyes of many programmers. This can be the reason of emotional discomfort. Reduced effectiveness due to low emotional level is the main problem.

When the programmer realized that he cannot finish the task in time, then he’ll try to increase zeal and concentration. But however this might lead to the following:

  • Reduced programmers’ operational agility. If he knows that he’s falling behind, than he’ll take a passive role in working process. He stops helping the beginners and choose every first decision which comes to his mind, when you need to discuss some future architecture. If there are few people are working on overdue task, it’s likely that each of them will try to decline the responsibility for project, as they will not have enough time to take the initiative and coordinate the overall interaction.
  • The programmer, just like any other person gets tired. If on the average he writes 500 lines of code, and he creates beautiful code, then under the pressure of deadlines he begins to write 750 lines of code. But it will not last forever, as he will start to write ugly code and sooner or later returns to his 500 lines of beautiful code. And right after this overdue task he’ll rollback to negative results with 250 lines of code.

In the end, the programmer will think: "What is my fault? Why must I put extra effort into work? Just because of incorrect terms estimation? ". Because of these thoughts people start to loose motivation too quickly.

HOW TO SOLVE THE SITUATION?

As usual, truth is somewhere near between manager and programmer. From managers’ side it is necessary to:

  • Let your programmer to designate his own terms. If I see that programmer feels pressure from my side, then I’ll try to dispose this pressure, because I don’t need the programmer, who designates wrong terms when he sees me.
  • Watch over terms validity. If programmer replies to my question: «It will be ready in 1 month», then it’s better to demonstrate plan for that, how he’s going to arrange his work into substeps, how quickly he’s going to finish each of them.
  • Adjust understanding between programmers.

If this is done then:

  • Programmer won’t feel himself depressed if he can’t finish his task on time. He turns to his manager with the following question: «I have no time to finish … what should we do? Can we assign the additional resources to this task or just carry over?».
  • Programmer will be more sincere with manager, as he won’t feel sense of guilt. In programmers’ eyes deadlines are stop being as punitive tool.
  • Look after honesty and fairness in group. There are always programmers who try to gain benefits in a roundabout way. Such programmers should be excluded from team, as they undermine morality.

From programmers’ side it is necessary to:

  • Adjust understanding with manager too. Programmer doesn’t want to come to the manager and say "I have no time to ...", and to fear that manager finds him lazy.
  • Evaluate logically the amount of work.

MORAL AND SUMMARY

There are no right or wrong in the situation. If the quality or speed of software development falls due deadline policy in company, then both are guilty.

Using schedules is necessary and convenient. But it seems to me that schedules should be soft, as employees should understand that sometimes it is better not to meet deadline, rather than write low-quality code or to exhaust themselves emotionally. We are not clairvoyants and the schedules sometimes can be inaccurate, so you need to understand that sometimes schedules can be adjusted if there are good reasons for this and better to discuss such reasons long before deadlines.

Blog writers

Subscribe to Belitsoft's Blog for Entrepreneurs

Join successful software startup founders! Get insights from growing companies like, where to get an idea, how to validate it, how to launch, and how to hire people - everything. Enter your email address below (no spam):

Email *

RECOMMENDED FOR YOU

Lead Generation Design of The Best SaaS Websites

If clothes make the man, the design makes the website. That's where potential customers start evaluating a product. The SaaS website can (and should) be an online lead-generation machine, so each component of it has to be as good as possible. As people generally remember the first and the last thing they see, having impressive header and footer can go a long way towards making your product successful. What do some of the best SaaS companies do with their websites’ headers/footers? Look at this list to get and keep in mind some ideas for custom software development while building or redesigning your SaaS website. ...

PHP 7 vs Node.js

Our team is experienced both in PHP programming and Node.js development. We have a portfolio with both PHP-based applications and Node.js-based applications as well as mixed ones. What do we take into account when considering which tool to use in custom software development? ...

The Top 10 Advantages Of Laravel for Cost-Effective Web Development

Laravel framework is very popular for custom software development. It is the Most Starred PHP Framework on Github: more than 35 000 developers from all over the world (mostly from the USA) greatly appreciate robust features of this platform. Based on data of the BuiltWith, Laravel's popular websites verticals include Business, Entertainment, Media, News, Shopping, Technology, Vehicles. Why is Laravel so popular? ...

100% Remote Million-Dollar SaaS Companies

Companies that hire remote (distributed, virtual, dispersed, or dedicated) workers and do it well seem to have a huge leg up on the competition. Let’s learn how these successful SaaS companies use global talents to increase software quality and reduce the cost of rent and office supplies: Basecamp, Buffer, Chargify, Convertkit, Ghost(pro), Groove, Hubstaff, Invision, Olark, and Zapier. As the company where you can find a remote PHP developer, we believe that you could utilize their experience and expertise to build your own full remote SaaS company. ...

SaaS Founders Who Became Rich Starting With MVP

Belitsoft has a huge experience in MVP software development for startups and prototypes for existing brands. MVP is a minimal version of the product with the minimum set of features that is enough to deploy and test the key hypothesis to solve problems of this product’ potential customers. Experts suggest that, in B2B, it’s not an MVP until you sell it. Viable means you can sell it. ...

Profitable SaaS Startup Ideas

The way to get profitable startup idea is not to try to think of startup ideas (including SaaS development). It's to look for problems, preferably problems you have yourself.  In fact, for many entrepreneurs, successful business ideas start out as solutions designed to address a challenge they face personally. Solving the problem that frustrates you may be one of the best ways of finding an idea for your startup. Look at these software developers who turned their problem into success.  ...

Get A Free Quote

Do you have a software development project to implement? We have people to work on it.
We will be glad to answer all your questions as well as estimate any project of yours.
Use the form below to describe the project and we will get in touch with you within 1 business day.

Call us:
Phone - USA
Phone - BELARUS
Skype
EMAIL US:
Contact form