This is the product vision for Create. The Create stage of the DevOps lifecycle covers code creation, which includes source code management (Git, Git LFS etc), merge requests, wiki, snippets and Web IDE. Please read through to understand where we're headed and feel free to jump right into the discussion by commenting on one of the epics or issues, or by reaching out directly to our product manager leading this area: James Ramsay (E-Mail | Twitter)
Git's distributed design made new collaborative workflows possible, and has been adopted rapidly over the last decade. Powerful simplifying concepts like forking and merge requests have been embraced in the everyday routines of nearly every developer, yet few significant changes have been made in recent years to embrace the global scale of collaboration between open source and private companies, or improve the way complex real world code is written, reviewed and merged.
GitLab has made it faster and easier to get ideas into production by creating a single integrated application. This is just the beginning. Greater maturity in the tools we use for creating, collaborating and reviewing will make it easier for everyone to start contributing, engineers to work better together, improve quality and build better application faster. It is still day one.
There are a few categories that are critical for success in this stage; each one is intended to represent what you might find as an entire product out in the market. If you have thoughts or questions on any of these, feel free to jump into the conversation in the vision epic.
Enable coordination, sharing and collaboration across the entire software development team. Track and merge branches, audit changes and enable concurrent work, to accelerate software delivery.
Learn more • Documentation • Vision
Review code, discuss changes, share knowledge, and identify defects in code among distributed teams via asynchronous review and commenting. Automate, track and report code reviews.
Learn more • Documentation • Vision
A full featured integrated development environment built into GitLab so you can start contributing on day one with no need to spend days getting all the right packages installed into your local dev environment.
Documentation • Vision
Review and share UI designs with versioning and point of interest discussions.
Pair programming in the Web IDE
❤️ More Complete (Minimally Lovable) Features to Solve Complex Problems
We build software with small mininal iterations, but at the same time we need to continue to improve the features that are proven to be valuable into complete, lovable features that exceed our users expectations.
This is particularly pertinent to the Create stage of the DevOps lifecycle which is relatively mature and the foundation on which GitLab is built.
✌️ Amplify Best Practices
Focussing on reducing the cycle time of development can result in good habits being forgotten. We should amplify the benefits of following the best practices when writing and reviewing code, so that when our customers grow we've helped build a foundation that will help them move even faster.
Being a single application provides unqiue opportunities to features that connect different parts of the GitLab application, with greater efficiency, or in entirely new ways. We must balance creating flows between stages of the DevOps lifecycle and the flows and feedback loops within the Create stage too.
We follow the same prioritization guidelines as the product team at large. When prioritizing new features and significant improvements we consider reach, impact, confidence and effort to find the most valuable improvements. This is based on RICE: Simple prioritization for product managers. Requests from customers and upvotes are an important signal for this process.
The 'Create: RICE scoring' spreadsheet is available on Google Drive to all GitLab staff. The spreadsheet is not public because it contains sensitive customer information.
Our entire public backlog for Create can be viewed here, and can be filtered by labels or milestones. If you find something you are interested in, you're encouraged to jump into the conversation and participate. At GitLab, everyone can contribute!
Issues with the "direction" label have been flagged as being particularly interesting, and are listed in the sections below.
There are a number of other issues that we've identified as being interesting that we are potentially thinking about, but do not currently have planned by setting a milestone for delivery. Some are good ideas we want to do, but don't yet know when; some we may never get around to, some may be replaced by another idea, and some are just waiting for that right spark of inspiration to turn them into something special.
Remember that at GitLab, everyone can contribute! This is one of our fundamental values and something we truly believe in, so if you have feedback on any of these items you're more than welcome to jump into the discussion. Our vision and product are truly something we build together!