App Development Team: Roles & Responsibilities, Size & Costs
Have decided to build a mobile app? You’ll likely require a team of people to help you build it. Surf has been developing mobile apps for more than 10 years, and it’s safe to say, we know a thing or two on how to build an app development team. Assembling a team for a new project can be a difficult task — many aspects should be taken into account, and a badly organized team can ruin the whole development process. In the article we’ll review app development team structure, what specialists exactly and how many of them you’ll need, and how much it’s going to cost so that it will be easier for you to start developing your app.
Who you need onboard
The team setup depends highly on the app’s complexity, but there are mobile app development team roles that are essential for any small to medium-scale project.
They write code and build the app’s architecture — every screen and every function.
If you build native mobile apps for iOS and Android, you’ll need developers writing code on Kotlin and Swift, and if you want to build an app with a cross-platform framework (Flutter, React Native, Ionic), you’ll need developers familiar with these platforms and coding languages they use. For a simple app, two developers should be enough. If your app will be storing any data, process payments, you’ll also need a Backend Developer to manage databases.
Quality Assurance Engineer controls that the final version of the app maintains a desired level of quality. This member of the team reviews all specifications and technical documents and is responsible for manual and automated testing of the app, and tracking of bugs. QA engineers need robust knowledge of testing tools such as Robotium, Selenium, TestComplete and others, depending on the chosen development technology.
PM is a leader of the development team, who coordinates all team members and communicates directly with the client. He is responsible that the app development stays within budget, meets deadlines and the client’s requests. For a project manager, it is important to be a proactive leader and have great soft skills to establish transparent and effective communication within the team, with other departments and the client. Knowledge of Agile management methodology, which focuses on client & developer collaboration, flexible response to changes, and experience with management software such as Asana, TeamGantt and Confluence is a must for any mobile app development project manager.
Designers create the visual style of the app, how it looks and feels. They draw wireframes with layouts of UI elements and graphical prototypes of the future app, and their work directly affects how easy and enjoyable the app’s user experience will be. Not only do UX/UI designers need to have great visual communication skills, but they also require analytical skills, which come in handy during UX research: user surveys and usability tests. The most popular software among these professionals are Invision Studio, Sketch, Proto.io, Webflow, Balsamiq, Axure.
Stages of app development
The development process of any mobile app can be roughly split into four main stages. Each of them involves different team members and at the end of each stage, you will have some tangible result in the form of an app prototype of a final product.
During the initial planning, the project manager together with the client and business analyst (if there is one) sit down to analyze the market, define the app’s target audience, goals and set of features. UI/UX designer helps visualize the concept by sketching screen mockups, wireframes of UI and user flows. In the end, a low-fidelity prototype on an app, which is focused on key features minus design and content, is presented to the team.
UI design stage
As early as you have a lo-fi prototype, you can start conducting research with focus groups, defining the final concept more and more. Using feedback provided, the team can polish the app’s concept and design a detailed user interface. Developers and the QA engineer begin getting involved more and more in the development process. As a result of this stage, you will have a high-fidelity interactive prototype, which is presented to testers to determine how convenient every element and user flow are.
During this phase, developers become the main players on the field; it is when they program every feature of the app. After this stage, you will have an MVP (minimum viable product) on your hands — an actual mobile app but with limited capabilities, compared to the initial concept.
Test & Improvement stage
Gathering and analyzing data from app testers, your team refines every aspect of it: redesigns elements and screens, fixes bugs, improves integrations and so on. This stage involves developers and QA-engineer mostly, as they improve the app’s code, run tests and fix bugs. The result of this stage is a fully functional app, ready for public release.
App development team size
How many people you’ll need onboard is decided by a multitude of factors, and here are the most important of them.
If you develop native apps for iOS and Android, you’ll need several developers for each of them, because native apps are written in different languages (Swift for iOS and Kotlin for Android) and require slightly different skill-sets. That is why building an app with a cross-platform framework (Ionic, Flutter, React Native) might be a better option: there is only one set of code shared across both platforms, meaning it requires fewer developers and less money.
Apps with many features and integrations, such as social networks and digital marketplaces, require a lot of programming and bug fixing. For example, it takes over 160 hours to develop a messaging feature — a month of full-time working, so you’ll surely need more developers working on such projects at once. Also, tablet support may require a complete redesign of the app’s screens, which can be an overwhelming task for a team of 1–2 UX/UI designers. For projects with high-security levels, such as banking apps, it is also wise to increase the number of QA engineers to cover every aspect of testing and audits. Some projects may require additional groundwork at the stage of discovery and prototyping, so you might need additional business analysts and designers.
Although every project is unique, general time frames for building an app with a team setup that includes project manager, 2 developers (including backend), QA engineer and UX/UI designer, are:
- 2–4 months for a simple app (only several features and screens, simple design);
- 6–10 for apps of medium complexity (more features, screens and graphic elements).
- 8+ months for complex projects that require integrations with hardware or payment services, use interactive graphics or extensive backend. If this is your case, hiring additional developers and designers can help bring such products to the market quicker.
To get a clear picture of how long it might take to build your app, read our dedicated article.
It is important to tailor the team setup to the expected challenges and tasks. While hiring too few specialists or hiring only developers of junior and middle level might impede and slow down the development process of a complex project, hiring too many talents on a relatively simple project will inflate the budget without an increase in quality or speed. A proper app development estimation helps tremendously in determining the correct size of a team, so that the development process goes at a conventional pace, without members constantly overworking and an unnecessarily stretched budget.
Team members salaries
App developers’ wages depend on their qualifications, skills and, more importantly, their geographical location. For example, the annual salaries of software programmers in the UK are around $60,000, while the specialists with the same expertise in Eastern European countries (Russia and Ukraine, for example) earn $25-30,000 per year. If your company is based in the US, Australia, or Western Europe, it pays off to hire an app development team abroad and save a significant part of the budget. Read more about factors affecting the rates in our detailed review of the cost of hiring mobile app developers.
Ways to hire team members
There are many approaches to finding talents, both online and offline. In the end, the most suitable approach is decided largely by the budget and timeframe. You can find more details in our other article about places to hire developers. Now let’s look at some popular ways of talent acquisition.
Handling the whole process to a headhunting agency is both the easiest and priciest way. The agency handles the whole recruitment process and only high-quality candidates reach interviews involving the employer. However, the agency’s commission may reach 25% of the worker’s annual salary and the recruitment often takes 2–4 weeks.
Posting job offers on online boards is a way to go for employers who want to have total control over the recruitment process, from pre-evaluating candidates to scheduling interviews. Plus, it’s free or relatively cheap. There are many online platforms, from general job boards, such as Indeed or LinkedIn Jobs, and remote-only (Remotive.io, WeWorkRemotely), to services with a more narrow focus: Dice (tech talent), DevTeam.Space (software developers), Dribbble (UI/UX designers) and many others.
To hire credible talent for your team, it’s worth asking around your professional network. This way you’ll get candidates with a proven track record. However, the process might be slow if you’re new to the industry and don’t know many people.
Hiring freelancers is a good option for short-term projects: you’re not obliged to keep workers on board between projects, and many freelancers work on multiple projects at once, offering competitive rates. Start to look for freelancers at such platforms as Fiverr, YouTeam, Upwork, UpStack and similar.
Websites that are popular among developers, such as Stack Overflow, GitHub and Indiehackers can also help to find talents for your app development team. This way of talent hunting is free or comparatively cheap, while your job offer will be seen by a highly targeted audience of active developers. However, just as with general job boards, you’ll need to handle the whole recruitment process by yourself.
Today, many people, especially in the tech industry, get hired on Twitter, Instagram, Facebook, LinkedIn and other social media platforms. The success of this approach depends on your or your company’s popularity in social media, and there are little to no guarantees of a candidate’s application development quality. But with big social exposure positions can get filled in a matter of days.
To sum things up
Setting up an app development team requires planning and research. Carefully analyze the requirements of your project and evaluate its complexity. Don’t hire too many people and overstretch the budget and don’t hire too few and have a slow and complicated development process. Besides hiring an in-house team or freelancers, the project can be handed to an already set up team of professionals through a development agency. This approach has many advantages in terms of price and ease of management. For more insights on how to choose talent for your project check our tips on hiring app developers.