[go: up one dir, main page]

Skip to content

Project Templates - Best Practices

Problem to solve

As new organizations and teams adopt GitLab, they must configure GitLab in order to adopt project management / GitLab best practices. Unless they intimately know the design trade-offs of how to use GitLab's features of Labels, milestones, CI pipelines, Issue Templates, etc, they are forced to learn on the fly and face a steep learning curve.

We recently implemented the ability to have a Compliance Framework project template, and this is an opportunity for us to create other possible project templates to solve two specific problems:

  1. For Totally New GitLab users, a small set of pre-built GitLab Project Templates where the templates could be copied and applied for new projects, will make it easier for teams to set up and configure their GitLab projects. The templates should include:
  • A set of scoped labels for specific workflows
  • Prioritized labels to showcase how to prioritize work
  • Milestones and/or iterations to pre-configure the use of sprints/time boxes
  • Issue Templates (with the right folder structure etc) so they have templates
  • A read.me file that explains the project configuration with key links
  • Several boards to showcase different scenarios such as Kanban, Assignments, Milestones, etc
  • Some reference to managing work through epics (even though they may not have epics in their account)

This configuration for Totally New GitLab Users might also have several variations for example

  • Scrum
  • Kanban
  • Cloud-Native Development (or other specific technologies)
  • Non Sw Development (like Marketing, events, etc)

GitLab would provide and define these best-practice templates for our future users.

  1. For Existing GitLab customers/users, this feature would be very, very valuable so that organizations could pre-define their Organizational project templates such that they could establish and encourage teams to follow/adopt their standard practices and policies. Such as:
  • Define common issue templates for specific common issue types (bug, vulnerability, idea, etc)
  • Reference other organization policies and standards in the read.me file
  • etc.

Intended users

The typical user for this would be GitLab administrators and teams that are rolling out GitLab to larger organizations. Probably some mix of the following

User experience goal

Proposal

  • In a Gitlab Group, administration, include a list of available 'Project Templates', where the Group Owner / Maintainer can manage the Project Templates
    • Effectively, a Project Template would be a hidden/invisible project in the Group UI.
  • The Group Owner/Maintainer could edit a project template, rename a template, copy a template to create a new template, or delete a project template
  • SubGroups would have an option to Inherit the Parent Templates and have no specific templates, or they could add additional templates.
  • When creating a new project, a user would be able to select from the list of Project Templates and then GitLab would create a new project as a copy of one of the Project Templates

Note:

  • Project templates would ONLY drive project creation/definition.
  • Project templates would NOT be able to update or change existing projects.

Further details

Permissions and Security

Documentation

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

Links / references

Edited by John Jeremiah