I had a business partner, Harvey Gellman, who was a really clear thinker and liked to keep things simple. We were in a consulting business together since the 60’s and the saying he kept repeating was "The Client is King".
At that time it sounded ridiculous and impractical. People would say "what about profit?" or "you got to be kidding, that is really stupid". His point was clearly you have to put the client first. Everything else is secondary.
At that time I was just learning the consulting business and I often would go to him with a client problem. His first question was always "What is in the best interest of the Client?" Such a simple question but not that easy to answer. It always helped. So putting the client first, and other issues secondary always worked for me. Try it, you will like it.
I remember harvey also saying that the third version of a system is the first real production system. His point was the first is a design prototype, the second is an operational prototype and the third hoplefully is a production version. The problem is we often promise the final version the first time which is truly unrealistic for something that has never been built before, no design prototype, no operational prototype.
Even package systems must be customized so much that they are really custom systems.
I would also add that when thinking what is in the best interest of the client, we often do not know and should not begin to presume what that is.
I like to think of “Focus on the Client Objective”. I still think that they are King, but worry that often we do not know all that the King has under their purview as well as the different factors effecting them.
Harvey saying #2:
“People get the systems they deserve.”
Most people complain about the systems they have. They are too slow, they are too old, they are not integrated, they don’t meet our needs, they are too restricted in their capabilities or they are too difficult to use easily.
While all this is true, many people select systems based on the things they think they need, new gee-whiz features that they don’t need, when basic simply functionality will do.
We are often penny wise and pound foolish in how we build systems. Spending large sums on features that are not important and little on more important features.
Ultimately we get the systems we deserve.