Let’s say you have a problem in your business, such as inefficient processes for selling new products, or a lot of errors in a purchasing or order fulfillment process. Creating a custom software application might be a key part of improving that business situation, assuming off-the-shelf options weren’t the best fit. But how do you know if the custom software application is the right thing to do?
Or let’s say you had someone else (internal employee, independent contractor, or a few developers from a staffing) create the custom application and they’ve finished or you fired them for failure to complete the project correctly. What’s next? It’d be nice to know if someone else can rescue the software application, and what it’d cost to determine if rescuing the project is worth it.
The next question is, “Who should assess that software situation?”
Who should help you determine if a new custom software application makes sense? Who should help you figure out if the failed software application can be fixed and live a long and productive life?
Not Simply Developers
The answer is a little startling. Software developers aren’t always the right people to assess a project. What you need is a software developer who has moved up to the level of “consultant”.
The great software developers you know, i.e., really smart people that are really good at creating great software, may not be the right people. (Gasp!) Yes, you heard me right…the really smart developer you know might not be the right fit.
You need someone that can think and operate at a higher level, i.e., a consultant. I don’t mean any business or strategic consultant. I’m referring to software developers that have become consultants.
They can take the bigger picture in mind, understand the value proposition of a company, gets the vision, and understand how a software application can translate into that value proposition, etc.
Additionally, they have the technical prowress to look at and understand to a deep level the software application(s), talk with the team that created the software, reflect on the processes that were used to run the team and develop the software, etc.
Lastly, this person (or group of people) should be very comfortable and effective at communicating with the highest levels of the client company, no matter how large they are and how high the executives are in the hierarchy.
With those capabilities the consultant can then:
  1. understand the gap between where the software, team, and processes are now,
  2. know where the software should be to accomplish the company’s vision, and
  3. define the optimal path(s) to get there, if such a path exists. This will come out an various assessment project deliverables and conversations with the client.