0% found this document useful (0 votes)
331 views10 pages

How To Use GitLab For Agile Software Development - GitLab PDF

1) GitLab supports key Agile artifacts like user stories, tasks, epics, and sprints through features like issues, task lists, epics, and milestones. 2) An Agile iteration in GitLab involves mapping user stories to issues, tasks to task lists, epics to epics, and sprints to milestones. Development teams use issue weights, assignees, and boards to track progress. 3) Product backlogs, prioritization, and burndown charts can also be managed through GitLab's issue lists, labels, and reporting features.

Uploaded by

Tchokouani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
331 views10 pages

How To Use GitLab For Agile Software Development - GitLab PDF

1) GitLab supports key Agile artifacts like user stories, tasks, epics, and sprints through features like issues, task lists, epics, and milestones. 2) An Agile iteration in GitLab involves mapping user stories to issues, tasks to task lists, epics to epics, and sprints to milestones. Development teams use issue weights, assignees, and boards to track progress. 3) Product backlogs, prioritization, and burndown charts can also be managed through GitLab's issue lists, labels, and reporting features.

Uploaded by

Tchokouani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 10

How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

Mar 5, 2018 - Victor Wu (/company/team/#victorwuky) ! (https://gitlab.com/victorwu) " (https://twitter.com/victorwuky)

How to use GitLab for Agile so!ware development


How Agile artifacts map to GitLab features and how an Agile iteration looks in GitLab.

← Back to engineering (/blog/categories/engineering)

Ever wondered if GitLab supports Agile methodology? If you're considering using GitLab it might not be obvious
how its features correspond with Agile artifacts, so we've broken it down for you…

Agile is one of the most important and transformative methodologies introduced to the so!ware engineering
discipline in recent decades. While not everyone can agree on the detailed terminology of Agile concepts, it has
nonetheless made a significant positive impact on so!ware teams e"iciently creating customer-centric products.

GitLab has been designed to be flexible enough to adapt to your methodology, whether Agile or influenced by it.
In this post, we'll show a simple mapping of Agile artifacts to GitLab features, and explain how customers have
successfully run high-performing Agile teams with GitLab.

Mapping Agile artifacts to GitLab features


Agile artifact GitLab feature

User story Issues (https://docs.gitlab.com/ee/user/project/issues/)

Task Task lists (https://docs.gitlab.com/ee/user/markdown.html#task-lists)

Epic Epics (https://docs.gitlab.com/ee/user/group/epics/)

Points and Weights (https://docs.gitlab.com/ee/workflow/issue_weight.html)


estimation

Product Issue lists (https://docs.gitlab.com/ee/user/project/issues/#issues-per-project) and prioritized


backlog labels (https://docs.gitlab.com/ee/user/project/labels.html#prioritize-labels)

Sprint/iteration Milestones (https://docs.gitlab.com/ee/user/project/milestones/)

Burndown Burndown charts


chart (https://docs.gitlab.com/ee/user/project/milestones/burndown_charts.html)

Agile board Issue boards (https://docs.gitlab.com/ee/user/project/issue_board.html)

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 1 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

An Agile iteration with GitLab


User stories → GitLab issues
In Agile, you o!en start with a user story that captures a single feature that delivers business value for users. In
GitLab, a single issue (https://docs.gitlab.com/ee/user/project/issues/) within a project serves this purpose.

Task → GitLab task lists


O!en, a user story is further separated into individual tasks. You can create a task list
(https://docs.gitlab.com/ee/user/markdown.html#task-lists) within an issue's description in GitLab, to further
identify those individual tasks.

Epics → GitLab epics


In the other direction, some Agile practitioners specify an abstraction above user stories, o!en called an epic, that
indicates a larger user flow consisting of multiple features. In GitLab, an epic
(https://docs.gitlab.com/ee/user/group/epics/) also contains a title and description, much like an issue, but it
allows you to attach multiple child issues to it to indicate that hierarchy.

The GitLab issue page has a title and a description area in the middle, providing a space to document any details, such as the
business value and relevant personas in a user story. The sidebar at the right provides integration with other Agile-compatible
features like the epic that the issue belongs to, the milestone in which the issue is to be worked on, and the weight of the issue,
reflecting the estimated e"ort.

Product backlog → GitLab issue lists and prioritized labels


The product or business owners typically create these user stories to reflect the needs of the business and
customers. They are prioritized in a product backlog to capture urgency and desired order of development. The
product owner communicates with stakeholders to determine the priorities and constantly refines the backlog. In
GitLab, there are dynamically generated issue lists (https://docs.gitlab.com/ee/user/project/issues/#issues-per-
project) which users can view to track their backlog. Labels (https://docs.gitlab.com/ee/user/project/labels.html)
can be created and assigned to individual issues, which then allows you to filter the issue lists by a single label or

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 2 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

multiple labels. This allows for further flexibility. Priority labels


(https://docs.gitlab.com/ee/user/project/labels.html#prioritize-labels) can even be used to also order the issues in
those lists.

Sprints → GitLab milestones


A sprint represents a finite time period in which the work is to be completed, which may be a week, a few weeks,
or perhaps a month or more. The product owner and the development team meet to decide work that is in scope
for the upcoming sprint. GitLab's milestones (https://docs.gitlab.com/ee/user/project/milestones/) feature
supports this: assign milestones a start date and a due date to capture the time period of the sprint. The team
then puts issues into that sprint by assigning them to that particular milestone.

Points and estimation → GitLab issue weights


Also in this meeting, user stories are communicated, and the level of technical e"ort is estimated for each in-scope
user story. In GitLab, issues have a weight (https://docs.gitlab.com/ee/workflow/issue_weight.html) attribute,
which you would use to indicate the estimated e"ort.

In this meeting (or in subsequent ones), user stories are further broken down to technical deliverables, sometimes
documenting technical plans and architecture. In GitLab, this information can be documented in the issue, or in
the merge request (https://docs.gitlab.com/ee/user/project/merge_requests/) description, as the merge request is
o!en the place where technical collaboration happens.

During the sprint (GitLab milestone), development team members pick up user stories to work on, one by one. In
GitLab, issues have assignees. So you would assign
(https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html) yourself to an issue to
reflect that you are now working on it. We'd recommend that you create an empty and linked-to-issue merge
request right away (https://docs.gitlab.com/ee/user/project/issues/issues_functionalities.html#18-new-merge-
request) to start the technical collaboration process, even before creating a single line of code.

Agile board → GitLab Issue Boards


Throughout the sprint, issues move through various stages, such as Ready for dev , In dev , In QA , In
review , Done , depending on the workflow in your particular organization. Typically these are columns in an
Agile board. In GitLab, issue boards (https://docs.gitlab.com/ee/user/project/issue_board.html) allow you to
define your stages and enable you to move issues through them. The team can configure the board
(https://docs.gitlab.com/ee/user/project/issue_board.html#board-with-configuration) with respect to the
milestone and other relevant attributes. During daily standups, the team looks at the board together, to see the
status of the sprint from a workflow perspective.

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 3 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

The GitLab issue list pulls in issues relevant to the particular group or project scope. There are powerful filtering and ordering
capabilities that allow you to quickly narrow down that list. For example, you can see a product backlog of prioritized user
stories by filtering by prioritized labels. You can see user stories planned to be worked on in a particular sprint by filtering by
milestone.

The GitLab Issue Board also pulls in issues dynamically, similar to the GitLab issue list. But it allows for more flexible workflows.
You can set up individual lists in the board, to reflect Agile board stages. Your team can then control and track user stories as
they move from for example, Ready for dev , all the way to Released to production .

Burndown charts → GitLab Burndown Charts


The development team wants to know if they are on track in real time, and mitigate risks as they arise. GitLab
provides burndown charts (https://docs.gitlab.com/ee/user/project/milestones/burndown_charts.html), allowing
the team to visualize the work scoped in the current sprint "burning down" as they are being completed.

Toward the end of the sprint, the development team demos completed features to various stakeholders. With
GitLab, this process is made simple using Review Apps (https://docs.gitlab.com/ee/ci/review_apps/index.html) so
that even code not yet released to production, but in various testing, staging or UAT environments can be demoed.

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 4 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

Review Apps and CI/CD features (https://docs.gitlab.com/ee/ci/README.html) are integrated with the merge
request itself. These same tools are useful for Developers and QA roles to maintain so!ware quality, whether
through automated testing with CI/CD, or manual testing in a Review App environment.

The GitLab Burndown Chart allows a team to track scoped work "burning down," as they are being completed in a sprint. This
allows you to react to risks sooner and adapt accordingly, for example, informing your business stakeholders that certain
features are anticipated to be delayed to a future sprint.

A team retrospective at the end of the sprint can be documented in the provided wiki
(https://docs.gitlab.com/ee/user/project/wiki/index.html), so that lessons learned and action items are tracked
over time. During the actual retrospective, the team can look at the milestone page
(https://docs.gitlab.com/ee/user/project/milestones/), which displays the burndown chart and other statistics of
the completed sprint.

Hopefully this answers your questions about how GitLab supports Agile! Please leave a comment or tweet us
@gitlab (https://twitter.com/gitlab) @victorwuky (https://twitter.com/victorwuky) if there's anything else you
want to know.

Photo (https://unsplash.com/photos/HSXv_s2gH3U?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) by
Andrew McElroy on Unsplash (https://unsplash.com/search/photos/sprint?
utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)

How to use GitLab for Agile so!ware development via


@victorwuky

(http://twitter.com/share?
text=How%20to%20use%20GitLab%20for%20Agile%20so!ware%20development%20via%20@victorwuky&url=https://about.gitla
for-agile-so!ware-development/&hashtags=) Click to tweet! "

agile (/blog/tags.html#agile) features (/blog/tags.html#features) workflow (/blog/tags.html#workflow)

collaboration (/blog/tags.html#collaboration)

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 5 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

# " $ %
(http://twitter.com/share?
(http://www.facebook.com/sharer.php?
(https://www.linkedin.com/shareArticle?
(https://plusone.google.com/_/+1/confirm?
url=https://about.gitlab.com/2018/03/05/gitlab-
u=https://about.gitlab.com/2018/03/05/gitlab-
mini=true&url=https://about.gitlab.com/2018/03/05/gitlab-
hl=en&url=https://about.gitlab.com/2018/03/05/gitlab-
for- for- for- for-
agile-agile-
agile-agile-
so!ware-
so!ware-so!ware-
so!ware-
development/&text=How
development/)
development/&title=How
development/)
to to
use use
GitLab
GitLab
for for
AgileAgile
so!ware
so!ware
development)
development&summary=&source=)

! Previous (/2018/03/02/functional-group-updates/) Next " (/2018/03/06/reconfigure-inbound-email-for-gitlab-notification/)

(/stages-devops-
(/) Product Pricing(/pricing/)Resources(/resources/) Blog(/blog/) Support(/support/) $ Explore(https://gitlab.co
lifecycle/)
Follow us: Sign up for GitLab’s twice-monthly newsletter:
"
Your email address
(https://twitter.com/gitlab)
$
(https://www.linkedin.com/company/gitlab-
Subscribe
com)
&
(https://www.facebook.com/gitlab) I agree to the GitLab Privacy Policy (https://about.gitlab.com/privacy/) and understand I can unsubscribe

# (/atom.xml) at anytime.

Try all GitLab features - free for 30 days


GitLab is more than just source code management or CI/CD. It is a full so!ware development lifecycle &
DevOps tool in a single application.

Try GitLab for Free (/free-trial/)

7 Comments GitLab !
1 Login

$ Recommend t Tweet f Share Sort by Best

Join the discussion…

LOG IN WITH OR SIGN UP WITH DISQUS ?

Name

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 6 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

Daniel Schwiperich • a year ago


Good Article. But epics for example are only usable in the Enterprise Ultimate Edition and therefore not an option if you are
an agency having many customers (external users which only need access to issues and wiki).
We would love to pay for gitlab but it's not possible with the current pricing model which only suits internal teams or
companies with one or very few customers.
Gitlab is missing huge money here imho.
See Ticket: https://gitlab.com/gitlab-o...

We have 80 users in our Gitlab CE. 12 of them developers and internals, making it around 70 external user. One customer has
multiple personal accounts for their employees for sure.
We run some maintenance Projects and around 3 agile Projects at a time.

Running Jira (100 users) with Gitlab CE ist a third the money than using Gitlab Premium (6600$ vs 18240 $). And we then got
epics with Jira.
Compared to the Ultimate the diff is just insane 90.000 $ ! How shell a company with 12 people afford that? We automate all
that stuff and work agile and would love to use a Gitlab Enterprise. But the current pricing model makes it impossible
37 △ ▽ • Reply • Share ›

Will Grant > Daniel Schwiperich • a year ago


Gitlab clearly isn't after the small team such as your company. They are mainly targeting the FORTUNE companies
with huge budgets. What a shame considering they still receive lots of free development time from the community..
△ ▽ • Reply • Share ›

Alanna • 22 days ago


Perhaps we have our Ultimate Self-Hosted setup wrong, but it seems strange to me that I can only access group epics
through the 'Milestones' tab and then selecting an existing epic; whereas I would expect epics to be an overarching and
accessible entry point to view project management. I've been researching how people use GitLab features to drive their agile
development and looking for additional resources based on these limitations.
△ ▽ • Reply • Share ›

Dan Whitston • 4 months ago


It would be *really* helpful if you could mention directly in the text above that epics require the Gold tier. I just wasted half a
day putting together a workflow to bring issue tracking across to a paid GitLab setup before I spotted that. Our company's
setup means that almost every issue crosses multiple projects, and the people creating the issues won't usually know which
projects are relevant in any case. I thought epics could resolve this and allow us to keep code and project management in
one place, but you're locking the solution into a tier that costs around fifty times what our current split solution costs, and
includes loads of other stuff that's completely pointless for our purposes.
△ ▽ • Reply • Share ›

Victor Wu > Dan Whitston • 4 months ago


Hi Dan. I'm sorry you weren't made aware of epics being in Gold earlier. It's probably already too late now, but here's
the docs for epic, and a pricing page telling you which features are in which tier.

https://docs.gitlab.com/ee/...
https://about.gitlab.com/pr...
△ ▽ • Reply • Share ›

Gittaca • a year ago


Hello and thanks for this useful advice :-)

In light of "can be documented in the issue, or in the merge request description" and the following paragraph, do you see a
chance to do away with the distinction of issues and MRs, as discussed here: https://gitlab.com/gitlab-o... (5-10min read)?

Cheers!
△ ▽ • Reply • Share ›

GitLab Mod > Gittaca • a year ago


Hi Gittaca,

Thank you for your suggestion. Let's continue the discussion in the issue.

^D
△ ▽ • Reply • Share ›

✉ Subscribe d Add Disqus to your siteAdd DisqusAdd ( Disqus' Privacy PolicyPrivacy PolicyPrivacy

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 7 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

$
" # ' (https://www.linkedin.com/company/gitlab-
(https://twitter.com/gitlab)
(https://www.facebook.com/gitlab)
(https://www.youtube.com/channel/UCnMGQ8QHMAnV
com)

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 8 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

Why GitLab? Resources Community Support


Product (/product/) All resources (/resources/) Customers (/customers/) Get help (/get-help/)

Solutions (/solutions/) Blog (/blog/) Contribute (/contributing/) Contact Sales (/sales/)

Services (/services/) Newsletter Partners (/partners/) Contact Support


(/company/contact/) (/support/#contact-
DevOps lifecycle (/stages- Resellers (/resellers/)
support)
devops-lifecycle/) Events (/events/)
Explore repositories
Support options (/support/)
DevOps tools (/devops- Topics (/topics/) (https://gitlab.com/explore)
tools/) Status
Training (/training/) Source code
(https://status.gitlab.com/)
Is it any good? (/is-it-any- (https://gitlab.com/groups/gitlab-
Docs
good/) org)
(https://docs.gitlab.com/)
Releases (/releases/) Shop
Install (/install/)
(https://shop.gitlab.com)
Pricing (/pricing/)
Direction (/direction/)
Get started (/get-started/)
Contributors
(http://contributors.gitlab.com/)

Core Team (/core-team/)

Hall of fame
(/community/mvp/)

Company
About (/company/)

What is GitLab? (/what-is-


gitlab/)

Jobs (/jobs/)

Culture
(/company/culture/)

Team (/company/team/)

Press (/press/)

Analysts (/analysts/)

Handbook (/handbook/)

Security (/security/)

Contact
(/company/contact/)

Terms (/terms/)

Privacy (/privacy/)

Trademark
(/handbook/marketing/corporate-
marketing/#gitlab-
trademark--logo-
guidelines)

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 9 sur 10


How to use GitLab for Agile software development | GitLab 16/04/2019 17*46

Edit this page (https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/source/posts/2018-03-05-gitlab-for-agile-so!ware-development.html.md.erb) — open Web IDE


(https://gitlab.com/-/ide/project/gitlab-com/www-gitlab-com/edit/master/-/source/posts/2018-03-05-gitlab-for-agile-so!ware-development.html.md.erb) — please
contribute (https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/CONTRIBUTING.md). (https://creativecommons.org/licenses/by-sa/4.0/)

https://about.gitlab.com/2018/03/05/gitlab-for-agile-software-development/ Page 10 sur 10

You might also like