By Soo Somerset, Green Mars CEO
During my years as a business consultant, I helped a lot of clients shop around for a reliable software engineering firm, and to be honest, I was frequently disappointed with the typical approach we encountered in our search. This is, in part, why I accepted the job as CEO for a software engineering firm: to create the solution I wanted to see in the industry.
While our own firm may or may not be appropriate for your engagement, we are motivated to encourage our readers to engage the right team for their needs, even if that leads them to another great company. In the end, everyone will be happier with clients and teams that are the right fit.
How can you tell if your engineering team can (and will) deliver what you need? The answer is somewhat nuanced, but there are some basic points of advice on the topic I’d like to share with you:
Know Where You Are Before You Start
Whether you have a vague idea of what you want, or you have documented requirements in a ticketing system all lined up (or somewhere in between), which engineering firm you choose will depend on how far along in the specification process you are. The earlier in the process you are, the more you will want a firm that has resources to help clarify and confirm your requirements. The farther along you are, the less dependence you’ll have on your vendor partner to identify and proactively fill any gaps of information.
Answer All Their Questions, and Expect A Lot of Them
A good engineering firm will want to review your requirements and make sure they understand the scope before they give you an estimate for the work. If you are too early in the specification process to answer all their questions, then narrow the scope of the first engagement to be the development of the specification, itself. This gives you the opportunity to “try before you buy”, and often results in very valuable work that prevents costly misunderstandings later.
If your vendor candidate gives you an estimate without demonstrating their understanding of the scope, the objectives, the risks, and critical assumptions made, I advise extreme caution. This is an understandable strategy on their part to sign clients quickly, but the potentially premature commitment often feels like a trap once the project gets underway.
Ask All Your Questions and Expect Coherent Answers.
One of the key factors of a successful engineering engagement (or frankly, any project) is strong communication. Ask your questions of the engineering team, and expect them to give you clear answers. For questions that require more information or investigation to answer, the firm should explain clearly what they would need to know in order to answer it.
If your vendor candidate seems cagey about answers, this can be a red flag — either because they aren’t prepared to invest in the work to ensure they can address the full scope of your project, or they don’t have the resources to answer your questions, none of which bodes well for the engagement.
Set Clear Expectations for Communication About Progress, Ideas, and Issues
Reinforcing the emphasis on communication, you should confirm with your vendor candidate that they will provide consistent updates at a frequency and in a medium that will serve your needs, and how they communicate design ideas and issues as they naturally arise in the development process. Coordinate how you want to be informed, and get their agreement.
Ask for Milestone Deliverables
Discuss with your vendor partner how they would recommend a breakdown of the engagement scope into milestone deliverables — in some cases it may be documentation and diagrams, in others it might be a demonstration of a piece of the system, or a review of completed test cases. Ask them about how they typically deliver milestones for previous projects, and listen for signs that this is a common process for them.
These pointers should give you a good sense of the quality of your vendor. I cannot overstate the importance of being choosy when shopping for a software engineering firm. The right choice for you is out there, and it’s better to take the extra time (even if — especially if — it feels like there’s no time to waste).
Your best bet is to know who your engineering vendor is before you actually need them, but that’s a topic for another article.
As always, if you’d like to talk with Green Mars about your full-stack software engineering needs, we would be delighted to hear more about your project and perhaps to throw our hat in the ring!