Julio Biason
4 years ago
2 changed files with 113 additions and 11 deletions
@ -0,0 +1,63 @@
|
||||
+++ |
||||
title = "How to Kill Developer Productivity" |
||||
date = 2020-07-20 |
||||
|
||||
[taxonomies] |
||||
tags = ["developers", "productivity", "programming", "ti", "onboarding", |
||||
"data flow", "architecture"] |
||||
+++ |
||||
|
||||
There are several ways to not kill developer productivity in a project. |
||||
Unfortunately, the real causes are never discussed. |
||||
|
||||
<!-- more --> |
||||
|
||||
Recently I read another post about "how to not kill your developer |
||||
productivity", that says exactly what every other post about it says: |
||||
Basically, "do not interrupt". |
||||
|
||||
But can we really avoid interruptions? Isn't the "ping!" from the coffee |
||||
machine an interruption? Isn't a full bladder an interruption? Isn't the front |
||||
door bell ringing when a package and/or food delivery an interruption? |
||||
|
||||
What's the difference between those interruptions and someone asking |
||||
something? |
||||
|
||||
And do less meetings? Why? Is it because nobody cares enough to write a |
||||
meeting agenda to point what needs to be decided? Or maybe 'cause the frontend |
||||
developers don't care enough about the problems the backend developers are |
||||
facing and vice-versa? |
||||
|
||||
Would a meeting scheduled a week in advance an "interruption"? |
||||
|
||||
I can't see how interruptions can be a problem. Imagine this: |
||||
|
||||
This developer went though an onboarding when they joined the company, and |
||||
they were shown the purpose of the company, they were shown the product the |
||||
company sells and how it works, there were shown the product architecture, |
||||
they were explained the reasons behind every solution applied, they were given |
||||
time to discuss other solutions with their pairs, they were not put on a |
||||
corner to explain every minute of their working day. |
||||
|
||||
With that, can you imagine that someone making a question about some part of |
||||
the system while whoever is coding is in the middle of a function to |
||||
frobnicate[^1] foo? Maybe they will need a bit time to find where they |
||||
stopped, but as the solution was already discussed, and they know the purpose |
||||
of the solution they are working, the interruption would do very little in |
||||
their productivity. |
||||
|
||||
Unfortunately, in IT, we are seen as "machines" and most manufacturing |
||||
techniques are applied directly without considering that we are people (or do |
||||
you think "kanban" was born in IT and not inside the Toyota manufacturing |
||||
plant?). |
||||
|
||||
A stopped machine is wasted money. Stopping production for preventive |
||||
maintenance, without the machine being really broken, having to take it and |
||||
check every part, is wasted money. |
||||
|
||||
And, unfortunately, when a developer is not "developing", they are seen as |
||||
wasted money. And that's why simple stuff, like explaining why a system |
||||
exists, what is the idea of the data flow inside the system and things like |
||||
that are completely ignored: 'Cause the "machine" is not producing anything. |
||||
|
||||
And that's why, when the production is halted, productivity goes down. |
Loading…
Reference in new issue