Articles | August 13, 2020

Agile Process & Team Setup

Agile methodology is the preferred way of developing mobile apps. Read about Agile development and get to know how to set up a team.



Our client from the e-commerce industry needed the support of iOS and Android teams to develop their mobile application.

Find out how JCommerce's specialists supported the project. Read the client's story!

Agile development

The Agile process of development is one of the main trends in software development and the preferred way of developing mobile apps. With Agile, we use the so-called sprint – it’s a set period of time during which specific work has to be completed and made ready for review.

The length of the Sprint is fixed and chosen at the start of the project – for example 2 weeks. Then, at the beginning of each sprint, we set goals – what we want to implement and function – and, after the sprint, that part is ready. After the sprint we can evaluate the current state of our product, and redefine priorities or even the design of the application. Each sprint is designed to have relatively small, but fully working functionality added or modified.

Thus we make use of Agile methodology to maintain the flexibility to make changes after each sprint. There is freedom for the client to make changes during the development to react to the market, user opinions or changing business priorities. Changes can be made at the beginning of the sprint (planning phase), but not during the sprint itself (development phase).

Agile development in the mobile world

The above description is true for all software development, but is particularly important in the mobile world. Current distribution platforms (App Store, Google Play, and Windows Marketplace) make it very easy to publish an early version of the product, and even easier to update it often without any effort from the end user. This, along with the Agile development flow, allows clients to publish the app early, see user reviews and reactions, and iterate functionality with each sprint, publish new versions and get feedback from the real market. Feedback from real usage makes it possible to set priorities that benefit users the most, and to alter the original vision so as to make the most attractive product. Agile, along with the frequent publish model, makes it faster to iterate toward a polished, functional product.

Product Owner in the Agile development model

The Product Owner represents requirements in terms of software development. The client should select a single person for this role, who will be the main point of contact responsible for providing a vision of the product from the client’s side, for cooperating with the team which will transform this vision into the product design process, and then for implementing this design. The Product Owner is not responsible for the technical details of implementation (unless the client so desires). Product Owner is responsible for understanding target audiences and desired functionalities, and answering questions about projects, and the ongoing process of selecting the priorities for the next sprint.

The PO doesn’t need to have programming experience, but it’s good if he has some understanding of the market, knowledge of similar solutions and possibilities, as well as a basic level of technical knowledge. The Product Owner should have enough time to be available for communication with the development team throughout the process.


Are you searching for the best support model for your IT project?

Discover the advantages of Agile outsourcing! Read the text to find out more! 

Scrum development team

The Scrum team is responsible for executing the Product Owner’s vision and requirements. This team creates the technical architecture for the application, implements it, and tests it. The Scrum team is in constant communication with the Product Owner during development. At the beginning of the sprint, the Product Owner is responsible for selecting the most important tasks to implement, and the team is responsible for estimating how many of those tasks they are able to do within the confines of this sprint. They consult on the details of requirements with the team owner throughout the sprint process, and the results of their work is tested, then submitted for review at the end of each sprint.

Read also: Tester’s role in a Scrum team

Depending on the cooperation model, the entire team (except the Product Owner) can be from the service provider, or composed from among both the client’s and service provider’s specialists.

Team setup

Setting up the team can be done after defining the requirements and scope of the project, as well as defining the expected deadlines for project development. The typical composition of such a team is as follows:

Native development

  • Team leader / Scrum Master responsible for managing the team, tasks, and overseeing development
  • iOS/Android/Windows Phone developer(s) – at least one developer for each platform, responsible for the implementation of mobile apps
  • Server developer(s) – responsible for integrating existing data sources or creating new ones
  • Testers – responsible for testing the app, finding and reporting quality issues

Cross-platform development

  • Team leader / Scrum Master – responsible for managing the team, tasks, and overseeing development
  • Front-End HTML / JS developer(s) – responsible for the implementation of the mobile app for all platforms
  • Server developer(s) – responsible for integrating existing data sources or creating new ones
  • Testers – responsible for testing the app, finding and reporting quality issues


The exact size of the team depends on the scope and complexity of the application, as well as deadlines, and should be determined after consultation with the service provider. Setting the requirements and the final team are important when starting a project. After that, the next step is to set the testing strategy.

Pawel Smagala
Delivery Manager

He has been involved in the IT industry for over 10 years. A graduate of the Faculty of Computer Science at the University of Silesia, he has managed projects in various industries, from cloud alarm systems to autonomous driving systems. He has extensive experience in conducting business analysis, designing and implementing mobile applications and managing developers teams.