Decrease wait times to improve team productivity

Decrease wait times to improve team productivity

Many books about project management say that some individuals can perform up to 10 times better than the others. Everyone probably saw it, even though 10x difference is quite rare.

But in reality, there is another factor that equalizes everyone - limitations of your organization which you'll find everywhere.

Just a few examples from a workday of a usual developer:

  1. Waiting for VM to be created
  2. Waiting for updates at the firewall
  3. Waiting for approval to get access somewhere
  4. Waiting for build / deployment to complete

 

Removing these limits will boost productivity of the teams and individuals and also increase happiness, because no one likes waiting in line.

As a manager, you should be proactively looking for the ways to decrease the delays (yeah, this is obvious), but if you are simply asking people "hey, what can we speed-up here?" - then... well, then there are managers who do their work 10x better.
People who are actively involved in the project are usually very busy and they can miss really obvious things.

Here's the real world example
One of the teams had issues with deployment speed - it usually took up to 3 hours to deploy the website to production, and according to their opinion there was absolutely nothing to optimize.

So I've reviewed the deployment log files and visualized it:

It might be not as clear from this picture without knowing some project specifics, but it helped me to define potential improvements:

  1. Run steps in parallel (upload/extract files and at the same time prepare the DB's) and cut the deployment time by 30%
  2. Move build server to the same location and reduce upload time
  3. Revise the approach of working with indexes and introduce incremental updates

It took a while, but at the end - all of these improvements helped to reduce deployment time to 15 minutes, not too bad for a blue/green deployment strategy at a multi-server environment.

You may ask me why developers did not implement it earlier? Well, here are my versions (or options, they can be different in each case):

They don't care
Well, usually there will be people who do care about the project success, in this case see below.

Build/deployment system contains a lot of legacy code
This topic is related to the technical debt and I just want to note that every manager must ensure that the team understands and is able(allowed, has dedicated time) to fix the technical debt. I've seen many times how team wastes 1-2 days each sprint because they're now allowed to fix small issue estimated for 4 hours of work.

Your IT is poorly managed
I've been to situations when IT declined to improve hardware for no reason and even banned automated deployment as "not as secure as manual". This really demotivates developers, and they might refuse to deal with IT in at all.

This is just one example, but you'll see lots of them if you start watching for them and you'll be amazed with great results all developers can achieve when you help them decrease wait times

"Your IT is poorly managed" - this one is the most critical. You should create a guideline for IT, automate all processes, get all approvals in advance and give your "Magic tool" to IT :)

To view or add a comment, sign in

More articles by Alex Doroshenko

Others also viewed

Explore content categories