Procedures

The structure of Surf

Currently, Surf consists of several distinct units:

Each unit has its own head, and some units have designated team leaders. They could be responsible for development in general or supervise groups of subordinate personnel.

Growth and development are hard to achieve unless you have a structure like this where everyone does what they are best at and an executive chain of command helps you manage the workflow more effectively. Even though we’re growing and expanding, we strive to keep the environment friendly and trust-based. No matter who comes up with it, a note-worthy initiative to adjust our workflow may be put into action. It could happen after the person has a one-on-one meeting with their superior or after the idea is approved by the committee that undertakes global initiatives in the studio.

Teams

A classic team assigned to our average project would have the following members:

Depending on a project, some roles might be omitted, e.g., we might have a designer or analyst on the client’s side. By contrast, new roles could be added, e.g., a back-end developer from Surf. However, in general, we strive to build a team that will assist us in running a project effectively, taking into account all of its aspects and providing the most effective solutions in terms of both technical implementation and UX.

More often than not, the back-end team is on our client’s side or provided by yet another contractor. Whatever the case, we establish communication between the front-end and back-end teams so that we can deal with everyday matters together.

Because we outsource development rather than stuff, even the smallest teams always have a project manager to deal with issues in collaboration with the client.

Development

Our workflow may vary depending on the project. Below, you can see the traditional way of implementing an MVP app, which we follow on most of our projects:

Here’s how we plan and implement tasks:

Thanks to this slight overlap between stages and the fact that the team leader is one step ahead of their team, we achieve continuous operation and avoid holdups between iterations.

After an MVP version is finished, the workflow for sprints stays the same. Only the tasks are now based not on the scope pre-defined at the start but on the feedback we receive from the client, users, business needs, and other stakeholders. The process goes through all the same stages: from analysis to development and testing.

Quality assurance

To assure that the quality of our projects stays at the needed level, we do the following: