People are more important than software

Sigh, another bad day for me. I just involved in a bad software situation recently. I disagreed with all other management personnel in my current organization. One thing I want to make it clear to everyone open to listening is, “People are more important than software”.

The inequality

We do it all the time, don’t we?
Humans kill other species for their convenience.
Capitalism took a big chunk of all economical assets, they took the risk but didn’t actually do the work.
In an organization, a manager is treated better than field workers despite doing less work.

The inequality is at the core of how the world works and its prosperity.
Without capitalism, we all can’t live a leisure life. Millions of people of today have way-better life than an ancient king of the past.

What about software?

As a software architect, I will never treat all pieces of software equally. When a system has to change, I always push the changes into less important modules.

Each module doesn’t need equal code size or complexity. Less important modules change more often and have to changes whenever in conflict with a more important one.

Just don’t apply the same logic to people because between people, “more important” is always subjective.

How about software and people?

This is an opinionated way to put it. But for me, software are supposed to support people, not the other way around. And without further explanation, “support” seems subjective.

It is not OK to make people supporting a software. And by that, I mean, it is OK to let people handle what software is currently lacking, but it is not when it feels like people are working to support the needs of software, in contrast to working alongside them.

An example would be, making a person perform tedious procedural tasks because there is a bug or instabilities inside a software.

If this is the case for any company this voice reached, don’t hire more miserable people, fix the software.
If the software is beyond fixing, working on replacing the software. There is some caveat in the letter choice though, even if it is clearly something to be done, getting it right is not an easy feat.

For my current specific situation

They gave me a manager title, but I could not change any decision around the situation. Some people made a million-dollar mistake and think it is OK to continue as if nothing happened, without any backup plan.

The software is beyond the hope of fixing because, by contract, the software is not owned by my current company, hence no access to source code.
And from my experience of dealing with the vendor’s developer, the software is a “big ball of mud” and can’t be fixed easily.
The design flaws are at the very core. The software is destined to fail since the beginning of its creation; they never get adequate design.

The vendor themselves are just talk and has no intention of fixing anything, only buying time.

The sad thing is, I do can working on the replacement ability-wise, but the situation prevents me from doing so. (some conflicts of interest involved)

Please don’t forget

  • People are more important than software.
  • Software serve people; people, no matter who, don’t serve software.
  • Even if people are cheaper, they can’t be the reason to justify bad software.
  • Whenever you are seeing people support the needs of software, the situation has to be dealt with; immediately. (Even if the solution won’t come immediately.)
  • Even if you can get away with people supporting bad software for as long as you have some cash to burn, you can’t get as fast as the company which understands.

Lesson learned

When I was young, I heard that “enterprise software” is a synonym for “crap”. I don’t understand why, even after I learned how to design one. For me, it seems like tackling a hard problem in one specific domain.

Now I knew that it all true. “Enterprise software” by itself is not “crap”. A large percentage of people working in these areas are just ignorant and have no desire to improve themselves. Enterprises are ready to pour their fortune for these people and their companies without adequate checking and comparison. Partly due to people in enterprises don’t have a sense of ownership, and also can’t decide to cut loss when appropriate; the cycle continues.

I think that’s the origin of what I heard when I was young.