Getting started with GitLab: Mastering project management

1 week ago 7
News Banner

Looking for an Interim or Fractional CTO to support your business?

Read more

Welcome to our "Getting started with GitLab" series, where we help newcomers get familiar with the GitLab DevSecOps platform.

GitLab is much more than just a place to store your code. It is an AI-powered DevSecOps platform with tools to help you plan, organize, track, and successfully deliver your projects. This post will guide you through GitLab's key project management features and show you how to leverage them effectively.

Why GitLab for project management?

Imagine having your code repository, issue tracker, and communication platform all seamlessly integrated in one place. That's the power of GitLab. By centralizing everything, you can streamline your workflow, enhance collaboration, and keep your projects moving forward. No more jumping between different tools and losing track of information. GitLab brings it all together, making it easier to manage your projects from start to finish.

Key components of GitLab project management

Let's break down the essential elements:

  • Epics: Think of epics as the big picture. They represent major features, overarching goals, or long-term initiatives within your project. Need to revamp your website? That's an epic! Epics help you organize your work into larger, manageable chunks.
  • Issues: Issues are the individual tasks or work items that contribute to your project goals. Each issue represents a specific action, like "design the homepage" or "write the 'about us' page." Issues are the building blocks of your project, and they provide a clear way to track individual tasks.
  • Labels: Labels are like tags that help you categorize and filter your work. You can use labels to indicate priority (e.g., high, medium, low), status (e.g., to do, in progress, done), or assign issues to specific teams or individuals. Labels provide a flexible way to organize and prioritize your work.
  • Boards: GitLab's issue boards are your visual workspace. They provide a Kanban-style view of your project, allowing you to see the status of all your issues at a glance. Drag and drop issues across different lists (e.g., "To Do," "Doing," "Done") to visualize your workflow and track progress. In GitLab, you can create boards for issues and Epics.
  • Milestones: Milestones mark significant checkpoints or target dates within your project. They help you track progress towards specific goals and deadlines. For example, you might have milestones for completing a major feature, releasing a beta version, or launching the final product.
  • Tasks: For those extra granular steps, break down your issues into smaller tasks. This helps with delegation, clarifies individual responsibilities, and ensures nothing gets overlooked. Tasks provide a way to create checklists within issues, making it easier to track progress on complex tasks.

Deep dive into the features

1. Epics: The big picture

  • Creating epics: Navigate to your group's "Epics" menu under “Plan”. Click New epic and give it a descriptive title and a clear description outlining the goal. You can also specify the start and end date of the epic – this is useful when using Roadmaps.

Epic creation page

  • Roadmaps: Add your epics to a roadmap to visualize your project timeline and long-term goals. Roadmaps provide a bird's-eye view of your project plan, making it easy to see the big picture and track progress towards major milestones.

Roadmap view

2. Issues: Getting things done

  • Creating issues: In your project, go to the "Issues" menu under “Plan” and click New issue. Provide a concise and descriptive title like "Design Homepage Wireframes," assign it to a team member, set a due date, and add a detailed description outlining the task's requirements.
  • GitLab Duo: You can leverage the power of GitLab Duo to create detailed issue descriptions with just a little hint of what you want to achieve.
  • Weighting: Estimate the effort required for each issue by assigning weights. This helps with planning and prioritization. For example, a simple task might have a weight of 1, while a more complex task might have a weight of 5.

Issue with weight of 4 assigned

3. Labels: Organizing your work

  • Creating labels: Go to your project's "Issues" tab and click Labels. Create custom labels with clear names to categorize your issues. For example, create labels like Priority: High, Status: In Progress, or Team: Design. Apply these labels to your issues to keep them organized and easily filterable.

Labels screen

4. Boards: Visualizing your workflow

  • Kanban boards: GitLab's boards provide a Kanban-style view of your project. Create lists like "To Do," "Doing," and "Done" to represent the stages of your workflow. Drag and drop issues across these lists to visualize their progress.
  • Customizing boards: Tailor your boards to match your specific workflow. Add more columns, filter issues by labels or assignees, and set up swim lanes to categorize issues by epics or other criteria.

Visualize workflow with issue boards

5. Tasks: Breaking down the work

  • Creating tasks: Within an issue, use the checklist markdown syntax to create a task list. Each item in the list represents a smaller step within the larger issue. For example, in the issue "Design Homepage Wireframes," you might have tasks like "Sketch initial concepts," "Create digital wireframes," and "Get feedback from stakeholders." To create a Task, click on the Add button in the "Child Items" section of an issue’s page. Then, enter the title of the task, and click Create Task.

Issue with create task button

6. Milestones: Tracking progress

  • Setting milestones: Define milestones to mark significant points in your project, like completing a specific feature or reaching a key deadline. Give your milestones clear titles and due dates.
  • Associating with issues: Link issues and epics to milestones to track progress towards those goals. This helps you see how individual tasks contribute to the overall project plan. Creating a milestone: Under the "Plan" dropdown menu, click on Milestones > New milestone. Specify the milestone title, description, and start and due dates.

New milestone screen

New page wtih milestone on it

7. Iterations: Working in sprints

  • Defining iterations: If you're using an Agile workflow, define iterations (sprints) with specific start and end dates. This helps you break down your work into smaller, more manageable time boxes.
  • Assigning issues: Assign issues to iterations to plan your work in shorter cycles and focus on delivering incremental value.

8. Time tracking: Measuring effort

  • Logging time: Within an issue, use the "/spend" quick action followed by the time spent (e.g., "/spend 2h 30m") to log your work. This helps you track the actual time spent on each task.
  • Analyzing data: Generate time tracking reports to gain insights into project progress, team efficiency, and identify potential bottlenecks.

Time tracking report

9. Dependencies: Managing workflow

  • Linking issues: Create dependencies between issues to ensure tasks are completed in the correct order. For example, if issue A must be completed before issue B can begin, you can create a dependency between them. This helps you visualize the workflow and avoid potential roadblocks.

10. Templates: Streamlining issue creation

  • Creating templates: Create issue templates to standardize the information captured for common tasks, saving you time and ensuring consistency. For example, you could create a template for bug reports that includes fields for steps to reproduce expected behavior and actual behavior.

Collaboration is key

GitLab fosters collaboration through the following:

  • Comments: Discuss issues and epics directly within GitLab. Use comments to provide updates, ask questions, and share feedback.
  • Mentions: Use @ to mention specific team members and notify them of updates or request their input.
  • Discussions: Engage in threaded discussions within issues and epics to brainstorm ideas, solve problems together, and keep everyone informed.

Ready to get started?

Now that you've explored the power of GitLab's project management features, it's time to put them into practice! Create a sample project, experiment with different features, and discover how GitLab can transform your workflow. You can also learn more about how GitLab can help you facilitate Kanban and Scrum in the GitLab documentation.

Don't have a GitLab account? Sign up for a free, 60-day trial of GitLab Ultimate and GitLab Duo today!

Learn more

Read Entire Article