The software consulting industry is a different from other product development efforts. Instead of a prototypes you have mockups. Instead of a product sheets you have wire frames. As a client of a software consulting effort you need to have some imagination of how your application will work before you ever see it in action. Because of this rules and requirements need to be clearly documented.
The computer science saying goes, “Garbage in, garbage out”. The same goes for anything else. The effort you put into something is directly proportional to the result you will get.
Whoever you decide to partner with expect not to see anything tangible until after the first third of the project’s duration. Trust is extremely important. Invoices will come in for software consulting work that is very difficult to audit. However, there are signs you can use to identify problems before they occur.
1. Not Scheduling Frequent Meetings, Especially in the Beginning
Communication is king. Frequent and productive meetings will ensure everyone is on the same page. Document meeting notes and send those out to the teams. Establish agendas for meetings and set goals.
Making sure you always have topics to discuss will ensure the project is always going in the right direction. Knowing how to run a project meetings helps too.
2. Always Asking Your Software Partner Leading Questions
Asking leading questions is something everyone does when they are only prepared to hear what they want to hear. Asking a question, for example, “Is your team on target?” will always get a “Yes, of course” response.
This doesn’t hold anyone accountable nor does it create a healthy line of communication. The beginning of a project is the only time to ensure everyone is one the same page. Ask your partner questions like “What have you accomplished this week?” or_”What challenges are you experiencing?”_.
3. Silence Is Interpreted as Everything Is OK
We have all been in meetings when the organizer asks, “How is everything going?” or “Is anyone experiencing any problems?”. These questions are way too general and one should expect to get silence from them. A more direct question like, “Please give me an update on your current Task.” requires a response. Parties in a partnership will not share everything across party lines but you can get a sense of progress based on the quality of feedback.
If direct questions produce brief or misdirected answers then your partner probably doesn’t have a grasp of the project details. Document your concern and communicate that you will follow up again in your next meeting.
4. Adding Features or Changing Requirements
The industry has coined a term for this called Scope Creep. Usually this occurs when documentation is lacking and clients decide to add work to a project after it started. Even the smallest change can have repercussions to a project and the relationship. Your partner can interpret this as a lack of focus or commitment. Adding work without revisiting the contract or resource allocation can put stress on the relationship. Changes, even small ones, should be avoided.
5. Spending a Majority of Your Time Auditing Your Client
Usually, if you are at this stage it might be difficult to salvage the working relationship. Your team will expend most of their energy discussing internally about your partner’s short comings.
If your team is at this point then a candid conversation needs to occur between the party leadership. This might resemble a Post Mortem. Both parties will need to make concessions to re-establish the trust and in efforts to salvage the project.
6. Your Partner Needs to Push Delivery Dates Back.
This can occur for several different reasons. One reason is your partner underestimated the effort and duration of the deliverable. Another is your team failed to provide your partner with clear requirements. If the later of the two then you shouldn’t hold those missed deadlines against them. Doing so will tarnish the relationship.
What you should be vigilant of is how your partner communicates the push backs. Are they proactive about how they handle the set back? Do they said, “You must provide X by this date or it will impact our ability to meet our goals” in advance or do they wait until the day before the communicate this? If they are communicating this in advance then you have a good partner, otherwise it will be a long project.
7. Providing the Bare Minimum
If one party starts doing this the other will follow, eventually. Sometimes this is a symptom of another problem with your relationship.
Compare volleyball to egg toss. If your engagement between teams reflects the game of volleyball your certainly leaning toward failure. Both sides need to provide deliverables in the best possible condition to be successful. For example, responding to a complicated question via email with a one liner is doing the bare minimum. Always reciprocate the effort.
8. Your Requirements Look Like a Grocery List.
As stated previously, “Garbage in, garbage out”. The same goes for your level of effort in documenting your project. Software requirements should be clearly stated and recorded during your requirements analysis phase of your project.
A Good software partner will demand you provide a high level of detail as they need this to provide estimations. If they take on a project with poorly documented requirements then the chances of them succeeding are low.
9. Going Back to the Well
Larger projects, in excess of 350k, tend to have this in common. This is because projects of this size are very difficult to estimate.
Regardless of the size, your partner asking for more money will certainly kill any confidence that you have in your partner.
10. Promises Are Rarely Kept
A promise made is a debt unpaid. ~Robert Service
Part of any software consulting sales process requires making promises that may be hard to keep. But they are necessary to win the job. Post-sale is a different story. Any promises give out at this point need to be honored. Trust is built on top of whether or not promises are kept. Partners that have a difficult delivering on promises will likely have issues delivering a successful project. Keep your software partners honest. When they fail to keep promises time and time again there might be no other option but to find a new partner.