Hiring a Custom Software Agency
Selecting a bespoke software agency for a tailored software project isn't a subject you'll find on a college syllabus. Those tasked with the daunting job of assessing software agencies often find themselves ill-equipped to handle the multitude of factors that need to be considered before presenting a final recommendation to their team. The situations that prompt this task differ from organization to organization, adding another layer of complexity. No two scenarios are identical, so lessons learned in one situation may not seamlessly apply to a new one. Nevertheless, while experience alone may not fully determine the decision, it often serves as a reliable guide. What insights can we glean from experience when it comes to picking a software agency to create custom software?
Five S'es
SCOPE
A clear delineation of responsibilities is essential to a successful software project. One organization may have a robust technology team too busy to execute a well-formulated plan, while another might not even have a technology team, and they need the software agency to provide a level of consultation that is on par with or exceeds vital services offered by a chief technology officer.
Without careful attention, the division of labor can get fuzzy. A fuzzy division of labor leads to unsaid and unmet expectations, cost overruns, and missed deadlines. Ideally, the hiring organization will have a plan to transfer at least baseline knowledge for getting started. A modest goal to start would be to provide enough information that the agency you hired can ask intelligent questions about the needs that motivated the engagement.
There is more than one way to document the assignment of responsibilities, but the more explicit the partners can be here, the more confidence everyone will have the project will be done on time. RACI charts are useful for assigning responsibilities and work for broad categories of work as quickly as possible. This includes but is not limited to the following:
- Research
- Content
- Design
- Choosing a Tech Stack
- Development
- Support
- Accessibility
- Security
Organizations that fail in this are only setting themselves up for confusion and frustration.
Ambiguity can be built into your contracts. In fact, if you're building custom software, by definition, you're building something that's never been built before. But the ambiguity must be given parameters, and teams must keep unconscious or unrecognized ambiguity to a minimum—a challenge when both parties to a contract have different spheres of knowledge that don't overlap (or worse—conflict).
STRATEGY
A well-defined strategy is like a guiding light for a team—a “north star,” so to speak. It gives them a clear direction to follow or the basis to raise a red flag if things go off track.
How much an organization benefits from an outside agency's strategic skills depends on their own capabilities.
If you have a clear business goal with a defined vision of how this project will affect that goal and a plan to measure its success, the agency's strategic skills may not be very useful. However, if the opposite is true, you could gain a lot from a strategic partner that does more than just take orders. They can help you identify the problems you need to solve, define what the software should do, explain how it fits into your larger business objectives, and help you measure its impact.
SERVICE EXPECTATIONS
A failure to meet the service expectations of the hiring organization can blow up the entire relationship. There are several attributes a hiring organization must evaluate of a software agency.
- Transparency – Transparency is difficult to judge before the fact. Everyone is going to say they're transparent. If you want to know whether a company is transparent, after you sign the mutual NDA, ask them about their biggest failure, or when transparency cost them something, and see how satisfied you are with the answer.
- Communication – A clear communication plan is essential to a successful project, and you need it all along the way. Insist on clarity for meeting frequency, content, and progression.
- Good chemistry – Interpersonal favor isn't something that can be manufactured. It's also subject to unconscious bias that it is good and wise to avoid. Still, it's possible to set the conditions for better chemistry by choosing someone whose passion for your organization or mission is compatible with your own. They should be able to articulate and explain your passion nearly as well as, if not as well as you can.
- Scalability – If you're not hiring your own in-house team, you're going to hire a consultancy or agency. Can the agency scale up to meet your needs as you grow? If your strategy involves early learning through a minimally viable product (MVP) and could potentially grow rapidly, you'll want to discuss how that would be handled from both a personnel and contract perspective. Also, what are your “outs” if it doesn't look like it's going to go as hoped? A good software partner will talk these things through with you.
STABILITY
Running a software agency is hard. Software agencies are not unique in this. Running any kind of business is hard, which is why only 30% of businesses remain in business past the 10-year mark. Your evaluation of a partner isn’t about longevity alone, but software often has a long lifecycle. You don’t want to worry that the partner you choose is going to fall apart before the project is over because they couldn’t figure out how to handle cashflow well enough to pay their employees regularly, and all their top talent left. While longevity can be a factor, you don’t want to unnecessarily rule out young, lean, hungry upstarts. Does their ownership and management have a history of successfully running a company? How have they managed through economic cycles (booms and busts) and kept the lights on and their clients happy? How long do their clients tend to stay with them? These are all fair questions to ask when you’re evaluating a potential software partner.
Although it isn’t all about longevity, one thing longevity affords is the ability to see and ask how the potential partner agency has responded to technological and economic disruptors. Do not mistake this for buzzword-dropping. You don’t need to open the checkbook to the first person who mentions machine learning or ChatGPT. But if you want to evaluate a custom software agency’s ability to adapt to changes, ask about how they believe a technology (preferably one that is relevant to your organization’s prospects) has impacted or will impact the future, and what they’ve done or are doing to prepare for it.
SUCCESS RECORD
Embarking on a software project can be very stressful. Effective business software is going to make or save money, and ultimately help people be better at something. Because of these factors, you are invested in the success of this project, and because this software has never been built before, how can you guarantee that this software project or this relationship will be successful?
Well, we’re sad to say that nothing in life is 100% guaranteed. And hiring a software partner is no exception to the rule. But you can improve your odds.
The best partner is one who is invested in your success, not just getting your business. One of the ways you can discover whether partner has more of a consultative mindset is to observe who asks smart questions about your business, and what the software you need will do for your business. Yes, they will need to ask about what technology requirements you have (if you can answer specifics about them) to determine if they can execute the work, but do not underestimate the value of an organization that is actively looking to add value to your business.
Aside from choosing a consultive partner who asks good questions about your business, hiring organizations can be proactive by asking about an instance when they positively impacted a client’s business by steering them from making a sub-optimal decision. The way they answer could reveal important information about their discretion and humility (which isn’t nothing), but the content of the answer they give you will tell you a lot about their dedication to their client’s success.
Conclusion
The biggest enemy of success in any relationship between a client and a bespoke software agency is not ignorance, but misplaced confidence. When evaluating potential software partners for ideating for, planning, and building your custom software, it’s okay to come to the table not having all the answers. Although there are no guarantees in life, if you evaluate potential partners in terms of Scope, Strategy, Service Expectations, Stability, and Success Record, you will greatly improve your odds of developing a solid relationship of trust between your organization and your software partner, and your relationship with the person or people who are evaluating your work.