How to be a great software consultant

I’m often asked advice on what makes a good software consultant. Hang on a tick before I get to that.

Software exists to solve problems and make our lives easier – but any software consultant can tell you that creating software can come with problems of its own.

The 2 big ones are:

  • Software is expensive to develop, and
  • Software development has a high rate of failure

Estimates vary as to just how high the failure rate is for software projects – this ZDNet article puts it at 68%! That is staggering – and the amount of money sunk into these failures is even more so.

In the face of these figures, it would seem that SSW is an anomaly. I’ve been running SSW for more than 25 years, and based on my sexy Power BI graphs, I can see in that time we’ve completed almost 1,000 software projects, yet I can count on one hand the number of failures we’ve experienced.

Many things have contributed to that success. I guess I consider it starts with the excellent staff and smart clients, but many companies have both of those and still can’t ship software. Therefore, I attribute our success also to SSW’s comprehensive and ever-evolving rules and best practices. The SSW website has thousands of guidelines, all organised, tagged, and searchable. I’ve had plenty of feedback so I know that some developers find the sheer number of them intimidating – but nothing great is easy.

Rules to Better Software Consultants – Working in a Team

When it comes down to it, the reason for SSW’s existence is to develop high-value software solutions on the best technology. The best tech is always expensive but tends to have the longest lifespan. I believe it is a pay now or pay later thing.

But there’s no point in having the best tech if you don’t have the right team behind it. Assuming that all consultants are otherwise equal in terms of the 3 A’s (Affability, Ability, and Availability), these rules are part of what makes SSW special: Rules to Better Software Consultants – Working in a Team. These are the rules that I encourage all new SSW developers to read. Some of these rules may seem like simple common sense, but we don’t all seem to have the same common sense! Therefore, I have spelled it out to guarantee we’re all on the same page from the get-go.

In order of importance, my top 5 rules to better software consultants are:

  1. Do you know rules are made for the guidance of wise men and the obedience of fools?
    Our rules are intended to provide guidance, not mind control. They should reflect the best way of doing something, and if that process changes or becomes defunct, any corresponding rules should be updated accordingly. Standards should always help the critical thinking process, never replace it.
  2. Do you have professional integrity? (Are you a person of your word?)
    When you’re working in a team, the people around you need to know that they can rely on you. If you tell someone you’re going to do something, make sure you follow through, and if you can’t, let them know before the deadline. Be accountable, and offer an apology and an alternative (if possible).
    This sounds like common sense, but when everyone’s really busy, it’s important to know you can count on your team members to do what they’ve said they will.
  3. Do you manage up? (Give a recommendation)
    The aim of “managing up” is to make communication more efficient by providing your manager something to approve. This is done by giving options and identifying your recommendation (unless you don’t want to influence them – then you’d say something like, “I have a recommendation but I don’t want to influence you yet”). It is especially effective for when management is too busy to have a drawn out conversation, but might have a few seconds to reply with a single word (i.e. “yes” or “#3”) to an IM or email.
  4. Do you know the 5 dysfunctions of a team?
    A team should work like a well oiled machine, with each member working in synergy with the rest of the group to achieve a common goal. This rule identifies the 5 main reasons a team might fail to do so. The reasons are all interrelated: what it often comes down to is people distrusting each other, and not being able to be vulnerable.
    A lack of trust might be expressed as, “Why are you 15 minutes late today?”
    If the person who was late doesn’t feel they can be vulnerable, they’re not going to be honest about minor mistakes, like sleeping in, and instead lie about the situation, which can then put them more on edge and further disintegrate trust. It’s 2 sides to a coin: if you can’t be vulnerable with someone, they can’t trust you.
  5. Do you know the 5 pillars of teamwork?
    The previous rule is so important, this one is just the flipside, restated in a positive way. This rule identifies the characteristics of a successful team: trust, accountability, and commitment.

There’s a lot more rules to being a better software consultant and working in a team. Have a read and let me know what you think.

My above top 5 rules build a picture of the ideal software consultant – strong communication skills, fantastic at teamwork, and, above all, always aiming for continuous improvement of their skillset and their work. While most of the SSW rules and best practices change with the technology they’re targeting, these 5 rules have remained a constant at SSW for years, and are a summary of why I think we’ve been pretty successful.

We still need to make people’s lives easier with our software. I hope this helps you in your career.