3 ms·
This is a concept I think about often in an engineering management context, and I think it applies not only to software, but to processes in general. I think t
by skohan 5y ago
This is a concept I think about often in an engineering management context, and I think it applies not only to software, but to processes in general.
I think there is often an impulse to systematize workflows, because it makes work quantifiable, and it helps us to justify to others that we're working in the right way. In other words, if you fail without a system in place, it's your fault for not planning enough. If you fail with a system in place, there's always something outside of yourself to blame it on (as long as you were following the agreed upon process).
But sometimes rigid processes create their own problems. At various points you have to decide if something goes in column A or column B, either of which conclusion can have knock-on effects in terms of how it has to be handled by the system. Sometimes this creates problems down the line, because the system wasn't designed to handle something that isn't really A or B. Or else you end up adding columns C, D, E... to handle all these unfit cases until you have a system which is so complex and cumbersome it ceases to be useful, or you are spending all your time dealing with the system rather than solving the actual problem or creating value.
In the absence of a process, it's usually up to common sense and human discretion to solve a problem. People can see what the situation is, what the goals are, and decide the best course of action to take. And the best thing about that is, human beings can take things into account like empathy or external factors, or creative opportunities which a system could never be designed to account for. That's why it's a really good thing to find places within the system to create space for people to figure things out for themselves.
So one problem with systems and processes designed around using software is that it can make it difficult to include that human element. If the process is not designed correctly, it may be impossible to progress unless the software is satisfied.