Two of the most common types of software companies are product shops and consulting agencies. What’s the difference, and which one are we?
(Spoiler alert: We’re a little of both because that’s what allows us to do the most good with our clients!)
What’s the difference between a product shop and a consulting agency?
For me, the main difference between these two types of software companies comes down to products versus projects — building a product for your own company, or working on projects for your company’s clients.
A product is defined as something useful or valuable that you produce and market or sell. Product shops usually have a mission statement and a specific market that they sell to, so the development work tends to be focused on that mission and market. There is typically a product owner or product manager who has a deep understanding of the mission and market, and they are responsible for defining the product based on market problems and needs. Product work is never really “done”; there’s almost always room to keep improving the product based on the changing needs of the market.
A project is defined a little more loosely as something you undertake; it could be a product, but it could be almost anything else too. Consulting agencies usually serve a specific market as well, but their clients all have their own mission statements that may or may not overlap, so the development work can vary a lot more depending on the client. The consulting agency may not have expertise in the subject matter, so they have to work closely with experts at the client company. Consulting agencies are typically hired for projects that have a start and an end, and they are often fairly short-term undertakings.
What type of software company is Software for Good?
Like product shops, Software for Good has a specific mission and market that we sell to. But like consulting agencies, we work with a variety of clients who all have their own missions, with some similarities but a whole lot of differences. Most of the projects we work on for our clients have a start and end, but many of them are products, and some of them are long-term.
Even when we’re working on a short-term project, we strive to understand how the software will fit into and evolve with the client’s long-term strategy. We work side by side with many of our clients to strategize and decide what to build, and to work with actual users to verify that we’re building the right thing. While we don’t have expertise on all the subjects our clients need help with, we often invest a ton of time into learning about those subjects, so that we can help develop long-term roadmaps for using technology to further their mission.
We are a hybrid! We think we’re pretty unique. (Did we mention we are also a B Corp?) Stay tuned for more thoughts on how this influences our team, our clients, and our processes.