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 team members. The team structure and size in mobile or web app development actually depends on the project’s scope and the client’s vision. 

In this article we’ll dig into software development team roles and responsibilities.

Project Manager

This position varies greatly depending on the development project’s specifics 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. The PM makes sure that deadlines are met and that all the client's expectations are fulfilled

Along with the client/product owner, the 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. 

Scrum in agile software development projects

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 instead of a project manager, there’s a scrum master. 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

Designer(s)

Designers create graphics for the app, wireframes, prototypes and finished designs that are later used by developers during implementation. They take care of the user interface and user experience

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. 

In software development projects clients often have their own vision for these graphics but designers can also give advice on the idea based on their trend knowledge and best practise. 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. 

The design creation process is described in detail in this article

Mobile app brief template

Developers

Developers implement the features of the app according to the client's preferences, relying on the designs. 

However, remember that with their experience in building software, they are always able to advise. 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. Quality Assurance is a procedure that ensures that a software product or service is produced with due care — it is simply good quality. What does it mean? It is primarily about ensuring that the product is efficient. It’s not possible to ensure that the product will be entirely free from defects and errors but testers continuously check throughout the development period whether the product or service meets the generally accepted requirements. 

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. The project manager always supports product owners/representatives 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. 

Software development team’s contribution

All team members should communicate with the client at some point of the project duration. It is not necessary to involve everyone in every conversation, but as a customer you should be in contact with the whole team if necessary. Usually emails and Slack are used for day to day communication.

At FiveDotTwelve, our Partners and the team get a dedicated channel on Slack to exchange ideas and resolve doubts that arise on an ongoing basis.

 

Software development is nowadays usually carried out entirely remotely. Learn how to get through the process efficiently from this article

Here you’ll also find out when and why it’s time to change your partner and what to do once you decide to do it. 

App development outsourcing