If you want to create a new software product, whether you are an existing business wanting to launch a new website or app, or an entrepreneur bringing a new product to market, if you are not a developer yourself, you are probably considering two basic options:
- Recruit and hire an in-house team
- Find a local development partner
- The right choice for your project will depend on a number of variables, including a budget, timeline, staff capabilities, and how familiar you or your company is with digital product development.
An internal team is the best option if you need complete control over every aspect of the development process and have the resources to recruit and hire the right staff. An internal team will be completely focused on developing and optimizing your project, and you won’t have to worry about them being distracted by other clients’ deadlines. They’ll be around for the long haul, and you’ll know who to turn to when something (inevitably) breaks.
However, live in a big startup-friendly city like Los Angeles, New York, or San Francisco. You will have to compete for talent with the top startups and tech companies in your geographic area (think Snapchat, Facebook, Google, etc.). To develop a quality product, you’ll likely need to find at least the following:
- A senior engineer/technical architect
- a project manager (which can be you if you have experience).
- 1-2 developers
- A user experience (UX) architect
- Visual designer
- Quality assurance engineer (QA)
You probably don’t need everyone to be full-time to start, but it can be very difficult to manage a team of employees who have never worked with each other. Recruiting and hiring these people is not only time-consuming but also quite expensive. You will need to consider the following options:
- Posting job openings
- Paying for events
- Conducting interviews
- Recruiters’ fees
Taxes and insurance on employment
It can be cheaper than hiring an agency since you can negotiate your own rates/wages.
More control over the vision and direction of the product
The team will be more responsive to your product needs since that will be their sole purpose
You can build a team from the ground up that believes in your product
Recruit a team with the right skills
High competition for qualified employees
The need to create a cohesive and productive company culture
Overhead costs, including salaries, health care, office space, insurance, utilities, etc.
Scaling up to meet the needs of a growing user base
Local development partner
By hiring a local development partner, you will have a team that already has all the necessary elements and is familiar with the planning and development process. They will have more experience working with each other, leading to smoother and more efficient product development.
By hiring an agency, you will likely have access to a broader range of developer skills and subject matter experts (SMEs) than if you hire multiple full-stack developers in-house. You will be able to look for an expert in Node.js, iOS, or Salesforce. Finding a local partner with whom you can meet regularly will allow you to build relationships with people who understand your business goals and product vision. Discussing solutions on the board is far more interesting than Skype video meetings.
Suppose you have business requirements but not a technical product requirements document (PRD). In that case, you need to find a partner who understands your product vision from both a business and technology perspective and can translate that into specifications for the development team. For product development, you will likely need to start with the discovery phase, sometimes called idea or planning. This phase should include the following:
- Business analysis
- User experience architecture
- Technical architecture
- Creative design concepts.
- When evaluating your partner, you’ll want to consider the three P’s: Pricing, Process, and Personality.
Pricing: Does their pricing model fit your budget? Do they work on a time-and-materials basis or a flat rate? Can you pay for a development sprint? Are their rates consistent with market rates for certain skills?
Process: Does their discovery and development process align with your business processes? Do they explain in detail how your working relationship will function? What is their communication and reporting process like?
Personality: Do you get along with them? Do they understand your vision? Can you envision yourself working closely with them over the next few months (or years)?
You will be working with your partner regularly for the next few months (if not years!), so often, personality fit is the most critical factor.
- Access to an experienced, close-knit team
- Working with a wide range of subject matter experts
- The hiring decision only needs to be made once
- Ability to scale more quickly and easily
- It can be cheaper than hiring an entire in-house team.
- Less control over the team and it will be less responsive
- Not part of your team and culture
- May be focused on other client projects
- A potential personality clash with the internal team
- Long-term support may be more difficult (though still cheaper than in-house staff)
The answer to the question, “Which option is right for me?” depends on the situation. Regardless of which direction you choose, the first step is to understand what factors are important and how to approach the decision. During our initial calls and meetings with potential clients, we always try to work through your needs to make sure you consider all of the above factors, and we won’t hesitate to tell you if it’s worth applying.