--- title: "How to manage Agile teams with microservices" author: Suri Patel author_gitlab: suripatel author_twitter: gitlab categories: insights image_title: '/images/blogimages/agilemultipleteams.jpg' description: "GitLab Groups and Projects can help teams divide work by product or system." tags: agile, collaboration, DevOps, workflow cta_button_text: 'Join us at our first user conferences in Brooklyn and London!' cta_button_link: '/events/commit/' postType: content marketing --- We’re getting closer to the 2019 finish line, but there’s still time to jump on the microservices train to accelerate your team’s delivery. We’ve written about microservices in the past, including discussing [best practices for microservices implementation](/blog/2019/06/17/strategies-microservices-architecture/) and [GitLab’s integrated vision for microservices](/blog/2018/11/26/microservices-integrated-solution/), but I’m here to share something a little different: How you can use microservices to manage your team. But first, a recap: Microservices is a collection of independently deployable services that advances a goal, with each application managing a specific function _really_ well. > “The term ‘Microservice Architecture’ has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services.” – [Martin Fowler](https://martinfowler.com/articles/microservices.html) ## GitLab microservices for Agile team management Using GitLab [Projects](https://docs.gitlab.com/ee/user/project/) and [Groups](https://docs.gitlab.com/ee/user/group/), teams can organize their work to increase visibility and collaboration. GitLab supports Agile teams by providing [Milestones](https://docs.gitlab.com/ee/user/project/milestones) (or sprints), [Issues](https://docs.gitlab.com/ee/user/project/issues/) (or user stories), [Weights](https://docs.gitlab.com/ee/workflow/issue_weight.html) (or points and estimation), and other common [Agile artifacts](/blog/2018/03/05/gitlab-for-agile-software-development/). Here are a few ways to use groups and projects: ### Organizing your team by system One of the more traditional ways to divide work, organizing by system separates teams by component and subsystem. For example, the teams that handle mobile iOS, mobile Android, and website have different projects, each with their own code repo and [issue tracker](https://docs.gitlab.com/ee/user/project/issues/). This type of structure works well with operations-driven organizations, but it’s not a modern approach, so we recommend one of the following structures instead. ### Organizing your team by product area Dividing work by product is a best practice that drives business value. Using GitLab Groups, you can create `Code` and `Teams`. Within `Code`, separate projects represent various components (e.g. mobile iOS and user accounts), with individual code repositories and sets of [merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/). Once you’ve created your projects (and code repos), you can build another group for `Teams`, which includes fullstack product teams (i.e., engineers, PMs, designers), enabling parallel milestones and Agile boards. The benefit of organizing work by product area is that there’s a separation between code repos and work, so that every piece of code in your organization is open to contributions from all teams. ### Organizing your team with a hybrid approach This approach combines both product and system organization structures and is well suited for organizations that have cross-platform teams. For example, a mobile team has dedicated iOS and Android engineers rather than full teams for both platforms. In this model, the `Code` group will have individual projects according to component, but `Teams` is consolidated so that there’s only a website and mobile team. Watch this demo and check out its corresponding [example application](https://gitlab.com/trustful-finance-demo) to see groups and projects in action. 🍿
Does your team use microservices for Agile development? We’d love to hear your thoughts. Cover image by [Martin Sanchez](https://unsplash.com/@martinsanchez?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/photos/MD6E2Sv__iA) {: .note}