Agile Zone is brought to you in partnership with:

I spend my spare time combining the luxury life of having no kids and a wonderful girlfriend with the agonizing pressure of blogging under my Onderhond monicker. As a front-end developer I am raised and nurtured at Internet Architects, a Belgian company investing a lot of time and resources in making the web a better place Niels is a DZone MVB and is not an employee of DZone and has posted 109 posts at DZone. You can read more from them at their website. View Full User Profile

On Messing Up and Missing Deadlines

08.07.2014
| 8468 views |
  • submit to reddit

Last week an interesting question was launched on the Smashing Magazine's Twitter account: "What's the biggest mistake you've done in design/web development or your career so far?". The perfect trigger for some soul searching that ignited a little (yet stubborn) nibble I've been wanting to blog about for some time now, so here goes.

Don't Worry, Be Happy

Everybody makes mistakes, that's only natural. As anyone with a basic level of life experience will tell you, don't get too worked up when it happens to you, just look at it as an opportunity to learn from your mistakes. And front-end being the cesspool that it is, opportunities will be creeping up on you all the time.

I've made mistakes that nobody ever noticed. I've also made mistakes that reared their ugly heads on a level 5 page with a total page view count of 10 that some content editor published without double checking. Then I've made mistakes that cost a lot of money to fix. Even some mistakes that persisted throughout the project and made every new change tougher than it needed to be. I have a million options to choose from really, but singling out one single action didn't feel like it would adequately answer the question

The Big Picture

Looking at all the projects I've worked on over the years, big or small, there's been one nasty constant. A mistake that creeps up on you at least once a project and puts an indelible mark on all future work. And it has everything to do with not sticking to the optimal workflow. Once you start to compromise on workflow, you start to compromise on quality and that's usually the beginning of the end.

A website requires a lot of planning. Strategy, architecture, design, front-end, copy and back-end all cross each other's path. Things are bound to go wrong at some point, deadlines are bound to be missed. We don't like to admit it, certainly not up front, but whatever timing you make, you can be certain you're going to miss at least one deadline.

Deadlines

Deadlines are important. I am one of those people who appreciate the pressure a deadline puts on a project. Missing a deadline is generally not okay and people should do their utmost best to make their deadlines, but putting everything at risk to meet a deadline is quite possible the worst thing you can do. And that's where it often goes wrong. Rather than inform a client that a deadline cannot be met, "solutions" are proposed to try and get a project on track again.

My advice: if those solutions impact the ability to do your job well in any way, fight it as hard as you can. Intermediary deliveries, reduced development time, extra features without extended deadlines, mid-development change requests, parallel development that isn't feasible ... do everything in your might to avoid these situations. If you don't you'll end up cursing them afterwards. Situations like these are sure to result in shortcuts and quick fixes, unfinished work or lack in detail, jeopardizing the project as a whole.

Conclusion

Deadlines are rarely 'hard', even when everyone (including the client) is pretending they are. I've been in so many situations where we were failing to meet a deadline, changed things around to make it work, fucked it up and had the deadline moved when it turned out we weren't going to make it either way. It's usually a lot safer to push the deadline back a little or go for reduced functionality (and fix it post-launch) than to take the gamble.

When making a website, there's little or no option for "turning back" or "refactoring" once the website is live (of course there is in theory, but it never happens). That means that whatever you fuck up during the process remains that way until after 4 years your client decides it's time for an entirely new website. Many of the "solutions" proposed to meet a deadline will turn out to be more costly in the long run and will end up decreasing the quality to often unacceptable levels. You can't always stop it (people are stubborn), but being part of the development team means you have the obligation to fight these decisions and to warn people of the dangers. It's often an uphill battle, but even if you only win a few it will make your job a lot nicer along the way.

Published at DZone with permission of Niels Matthijs, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Randall Goya replied on Wed, 2014/08/13 - 8:58pm

When I miss a deadline, it's often because other priorities come up and push the project to the side.

Then my manager gets heat from the stakeholders in "that" project - I feel his pain, but I explain that I am also managing requests from stakeholders from other departments that everybody agrees take precedence.

He actually called me when I returned from bereavement leave to ask me if I am 100% committed, because some department heads noticed I missed some meetings. I told him to tell them my wife died (as if they did not already know from a company email blast). Then when I told him, in fact I have worked over 70 hours that week to catch up, he got nervous and reminded me "normal" week is about 40 hours - yes, I replied, but so-and-so quit suddenly, I am left holding his bag, and I am a professional, unlike so-and-so. That is another way to get a project back on schedule, burn hours on it. And yes, I am a consultant who gets paid by the hour.

And if I could count the number of times a project "missed" the deadline, and then wasn't "released" for 6 months, or even a year, I would run out of fingers.

William Bourne replied on Sat, 2014/08/16 - 10:59am

We must make a distinction between deadlines and milestones. If a deadline is missed, the work becomes useless.  If a milestone is missed, the work becomes late. A deadline must be met. A milestone is a goal.Event planners deal with deadlines.... Delivering the flowers for the wedding 12 hours late, or the food for a reception at a conference 3 hours late, means you might as well have not delivered the flowers and food at all. It's very different from being a few days late delivering some code for a web project.We generaly deal with milestones, not deadlines. And treating milestones as deadlines is problematic.  High quality code with a great UI delivered 3 days after a milestone is generally far preferable to defect-ridden code, or a crumby UI delivered on time.  But I want my flowers and food for my event on time, even if I only get half the flowers, or lower quality food.Let's banish deadlines from S/W development, and deal with milestones instead.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.