In this blog post, we take a look at software development shops – or ‘dev shops’. It will cover what dev shops are, what they do, how much they cost, and whether you really need to hire one to build your startup.
What is a Dev Shop?
A software development shop, or dev shop – sometimes also called dev agency – is a company that provides a range of services for building software products. The products can be websites, web-based apps, or native apps. The development can be on top of existing products or also from scratch (typically, the latter).
Dev shops consist of agile product development teams. A typical dev shop employs several developers, product managers, designers, etc., to build their clients’ products. They work on a delivery-based compensation model where you specify your requirements, and they own the end-to-end development of the product.
The developers of a dev shop work on several client projects, across various industries and stages. However, since they work on a lot of projects with a lot of companies, dev shops are seldom able to dive deep and nail the fundamentals of a product.
Dev Shops v/s Regular Product teams
There are certain characteristic features of dev shops that you won’t find in regular product development teams:
- Remote to you: While it is not a big difference now, as the whole world is working remotely, Dev shop teams usually work on client projects from a remote location. Of course, with a regular product team, you would have the option to have them co-located.
- Build from scratch: As mentioned earlier, Dev shops take up end-to-end development of the product from scratch. In contrast, any new developer joining an internal product team would work on existing products.
- Capability across tech stacks: Product teams mostly have products built across a well-defined tech stack (a certain set of software development technologies). However, in dev shops, the developers work across several tech stacks.
- Experience across industries: As Dev shops cater to any client who approaches them, they have experience building products across several industries. By definition, product teams work only on a product pertaining to the industry of the companies they work for.
Dev Shops: How it works
Dev shops can be fully remote teams, on-site teams, or in most cases, a combination of both. A typical dev shop is run by a principal engineer who leads a team of other developers. Dev shops also have a sales and marketing team to bring in clients and projects.
Generally, dev shops work on several different projects simultaneously and divide the work among the developers based on their qualifications. They aim to be as efficient as possible with the bandwidth of their engineers and follow agile methodology.
Here’s a typical client journey to hire and work with dev shops:
1. Reach out to the dev shop
2. Talk to the sales team and share the broad specifications of your project
3. Thereafter, have a more detailed interaction to explain requirements to the product team
4. Get a product cost estimate and timeline/ milestone details
5. Get started on the project
6. Track the progress through milestone meetings
7. Product handover after it has been completed
8. Dev shop will offer maintenance of the app for a pre-defined period after handover
How much do Dev Shops cost?
The cost of hiring dev shops tend to be on the higher side. Of course, costs depend upon the scope of the project, and the size, functionality of the app required by the client.
For end-to-end design and development of the project, dev shops can charge approximately:
A. Estimated Costs
- $10,000 for a simple web app, with basic functionality
- $50,000 for more complex apps, with multiple pages and increased functionality
- $50,000 – $200,000 for highly-customised and complex apps that deal with a lot of volume
B. Why are dev shops costly?
To understand why dev shops cost so much, we need to understand their business model and way of working. They employ developers full-time on their payroll, irrespective of their utlisation. Therefore, dev shops have to offset the losses incurred during downtime (i.e., when they don’t have active projects to work on) by charging more on the projects that they get.
C. Dev shop conundrum: Cost or quality
This also has an impact on the quality of the developers working in Dev shops. Basically, Dev shops can either optimise for either cost or the quality of developers. To elaborate, focusing on cost would mean hiring average developers so that their salaries are low and hence the loss during downtime isn’t much.
Alternatively, focusing on the quality of developers would mean hiring costly developers. As discussed, compensating the downtime of such developers on the projects won results in really high costs.
So, with dev shops, it is a very tricky problem. Either you optimise for cost and get a poor quality product. Else, you go for a better dev shop resulting in a bloated cost, which was what you wanted to avoid in the first place.
Dev Shops v/s Freelancers: When should you hire whom?
Depending upon certain criteria with regards to your project requirements, it might be better to hire and work with a freelance developer rather than a dev shop.
Hire a dev shop, when:
- Well-defined requirements: You should know the exact product specifications and leave no room for interpretation
- Quality is not the highest priority: As we’ve seen earlier, dev shops find it hard to balance cost and quality. So, you might have to compromise on the quality of the final product
- Budget is fixed: Dev shops work on a fixed-price model where the total payable cost has to be negotiated once quotations are provided and reviewed
- No tech PoC: If you don’t have a tech PoC in your team, hiring a dev shop can be beneficial, as they take care of the entire development process and deliver the finished product
Alternatively, hire a freelance developer, when:
- Collaboratively build a product: If you want to be involved throughout the development process, it’s better to hire a freelancer who can implement your formulated ideas rather than take complete ownership
- Product quality is of the highest importance: You would have more control over the development process when you hire a freelancer, so you can make sure quality standards are met
- There is wiggle room on the budget: By hiring freelancers on a time-based compensation model, you get the flexibility of making changes as the project progresses. But for this, you also need to have a correspondingly flexible budget
- You have a tech PoC in your team: Though this is not mandated, a technical team member is better equipped to layout the product road-map and control the build
What are the alternatives?
If you are in the early stages of your company’s product-building journey, below are some alternatives to hiring dev shops:
1) Hiring a freelance developer
As we’ve seen, hiring a freelancer is better when your focus in on quality with an aim to build collaboratively. Of course, it works better when you have a good handle on tech or have someone in the team who understand tech. Here are some good sources for hiring quality freelance developers.
2) Going the no-code route
There are lots of services out there that make it easy for a non-tech founder to build great products fast and on a budget, without ever writing a single line of code.
3) Onboarding a tech co-founder
This is an obvious one, but it pays off very well if you are able to find a trustworthy co-founder with technical expertise, who shares the same passion for the product and will own the development for years to come.