Roles in software development

Roles in software development projects

If you have read How to proceed with mobile app development, you already know that the process of mobile or web development is quite complex. Sometimes lots of people are involved and sometimes it’s only a few. The size of the team for mobile or web app development actually depends on the specifics of the project. And roles in software development projects also vary, so in this article I’ll try to describe them.

Project Manager

Project manager isn’t actually included in every project. It’s very common to use Scrum as a framework for mobile development and in that case there is no Project Manager. Scrum Master supports the Scrum Team and the Product Owner decides about the project workflow. This is rather an abbreviated and simplified description of the model. Kanban and a hybrid of those two also gained much popularity recently.
This position varies greatly depending on the specifics of the project and client’s requirements. At FiveDotTwelve, a project manager primarily deals with the management of a project (time, resources etc.), as the job title suggests. So it’s the person who most often speaks with the client about the development and organisation-related matters. PM makes sure that deadlines are met and that all the client's expectations are fulfilled.
Along with the client/product owner, a PM decides what will be done in a certain period. Then, there are daily meetings to check if everything is going as planned. This is a big summary of what the organisation of the time and work of the whole team looks like.
The Project Manager also takes care of recruiting additional people to the team.
An Account Manager can also be involved — his range of responsibilities aren’t very obvious and can particularly link to the PM's or PO’s tasks. The Account Manager aims to learn as much as possible about the client's needs — it’s the main responsibility of this role.

Designer(s)

Designer creates graphics for the app, wireframes, prototypes and finished designs that are later used by developers during implementation. Wireframes are frameworks that show the simplified appearance of the app screens. They’re rather black and white and don’t have specific features. Prototypes are built out of wireframes. They are clickable so you can see the overall functions scheme. There are also Hi-fi screens. They are final screens with target design, colors and buttons. Designers can also give advice on the idea based on their trend knowledge and best practise.
The design creation process is described in detail in our article Mobile app development with nothing but an idea. It depends on the project — this person may be responsible for creating the entire design from scratch or adapt/improve what they have received from the client.

Developers

Developers implement the features of the app according to the client's preferences. They are responsible for the implementation of all features on the basis of designs.
However, remember that with their experience in building software, they are always able to advise. So don’t be afraid to use their help. Certain options often seem to be useful and well thought out at the beginning and then it may turn out they aren’t. An experienced developer will tell you how similar solutions have worked in other projects.
Whether or not you are familiar with the technologies, they will also help you choose the right one. Specifically for your project. At meetings, you'll establish what you, as the client, expect from the product, and they'll tell you what the best solution is.

Quality Assurance Specialist(s)

The job title tells us a lot. QA specialists ensure the quality of the product. What does it mean? In a nutshell, that there are no bugs and that everything works as it should. But it's not just about the end result. Apps are tested all the time, during development. This isn’t the person who checks the developers' work at the end. A QA specialist is responsible for taking care of the product at every stage of development.

Product Owner & Client

If the team works in Scrum, the Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team.
This role can be on the client’s side or on the agency’s side. In the first case, the Product Owner is the person representing the customer or stakeholders commissioning the product development. In some projects, the role isn’t even named. What really matters is that everyone involved in the project has their duties and responsibilities. The Project Manager always supports the Representative when it comes to tasks, team and process management.
As a customer, you are involved throughout the process in a more or less obvious way. You don't commission this task to a software development company just to get the project done without you. For everything to work as it should, the team needs to know your expectations and requirements for all aspects of the mobile/web app.
You will often talk or meet at calls and meetings to keep you up to date. No decision on designs or features will be made without you.
It’s also possible to have the Product Owner on the development company’s side. But it never means that the client is less involved in decision making.