It matters until it impacts the schedule

I read this today:

“Safety matters until it impacts the schedule”

It’s a quote from a construction worker in the industry for over a decade.

My industry is construction of a different kind - software systems, mobile apps, scalable back-ends, microservices, etc.

But a similar observation applies here. Except it’s not so much about safety but mostly about software quality and work-life balance.

Quality matters until it impacts the schedule
Work-life balance matters until it impacts the schedule

Is there anyone in the history of all software development that has not experienced these first-hand? I doubt it. Perhaps some teams operating at CMM Level 5 might have software quality and work-life balance figured out.

No one says outright that quality doesn’t matter. Many companies advertise their dedication to work-life balance in job postings.

Action, as they say, speaks louder than words.

When the pedal-hits-the-metal, the tune changes to this:

Let’s just get it done.
We just need to buckle down and do it.
Whatever it takes, get it done.
Overtime has been approved.
Hire whoever you need, so long as we get done what we need.
We’re not approving vacations until we hit the milestone.
I better see developers working around the clock.
If you’re not at your desk late, I’m gonna think you don’t care.
I won’t give you a reference if you change jobs before the milestone is done.

The list goes on and on.

What happens when we sacrifice quality and work-life balance?

Increased rate of errors and less attention paid to debugging, test automation, test coverage, architecture, and similar. These in turn cause more errors and use up development time, leaving us with even less time to complete the project. It’s a downward spiral.

It’s the kind of thing that happens when people panick.

Practice makes it better. Martial artists train for years so that, in the one split-second moment when everything is on the line, they don’t panic.

Us software developers need to practice standing up for software quality and work-life balance. And we have to practice it when timelines are short, when deadlines are near, when the stakes are high. We need our highest quality work when we have the least amount of time. Because that’s exactly when we can’t afford to make mistakes.

_____ matters until it impacts the schedule

How do you fill in the blanks?

Have any questions or comments about this post? Email me at sasha@persistr.com

Get Daily Event-Sourcing Tips

I send out a short email each weekday with code snippets, tools, techniques, and interesting stuff about event-sourcing.