Just as with labels in #21147 (closed), users won't be able to navigate to Milestones or Iterations if their project does not use our Issues. This is a huge problem because Milestones and Iterations are not only used for Issues, but also Merge Requests and related to other features.
Solution
We should follow what we did in #21147 (closed) with Labels and also move Milestones and Iterations into Project information, as these three items are closely related to each other.
Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
In recent left sidebar navigation tests we asked participants Where can you view your team’s progress against the project’s milestones? using an accordion pattern #323874 (closed) and tabs https://gitlab.com/gitlab-org/ux-research/-/issues/1384. In the accordion approach 10/10 participants went "Project information > Milestones" and in the tabs 6/10 participants went "Project information > Milestones"
@mvanremmerden this feels like the opposite direction that I was personally hoping we would go in terms of simplifying the navigation, but I'm not going to make a fuss if this is the direction we end up heading 😄
My $.02:
We are merging Group and Project behind the scenes so the navigation in each would theoretically be identical.
We haven't decided if we are going to eventually call them the same thing or not, so we would have Group Information > Milestones, Subgroup Information > Milestones, Project Information > Milestones. This is subtle but the variable name adds a bit of cognitive overhead IMHO.
In Group, we have Epics > List, Boards, Roadmap and Issues > List, Boards, Milestones, Iteration. In Project, we have Issues > List, Boards, Service Desk, Milestones, Iteration. This has always been a bit confusing to me.
I almost want to consolidate things together like [insert top-level nav name] > Issues, Epics, Roadmap, Boards, Milestones, Iterations, Service Desk, Labels OR make each of those top-level nav items. In either case, we should have the option in Settings (or better in a dedicated settings area under this new proposed top-level nav) to enable/disable each feature independently. If each is a top-level nav item, we could also make Members a top-level nav item and then rename Project Information to Activity in order to completely remove a barrier to more easily navigating around a group/project.
Eventually Epic, Issues, Requirement, and Test Case will all be a type of Work Item (&6033) and we intend to introduce "saved views" (#14512 (closed)) which will more or less be a saved query/filter + view type (Board, List, Grid View, and so on) so I'm not sure how to best handle that from a navigation perspective either, but it could further simplify the nav down to Views, Milestones, Iterations, Labels.
If we do go this route, we will need to update Milestone (and eventually Iteration) to remove any Issue related UI elements if issues are disabled in Settings.
@mvanremmerden I have no specific concerns about this move as an MVC but @gweaver brings up a great point. The more time that passes, the closer we get to seeing the outcomes of the Group/Project consolidation effort. We'll likely have to take a fresh look at the categorization with this lens and be prepared to propose another significant update to the navigation.
The good news is that with the refactored sidebar, making these changes is approximately 1,000,000 times easier than it used to be. 🎉
@mvanremmerden I think this makes sense for now though I do agree with Gabe that as we merge groups and projects as well as introduce work items, the navigation will need to be revisited. @tauriedavis I wonder if our conversation about the placement of Requirements in the nav is appropriate to touch on here? It didn't feel entirely right to put it under Issues, though eventually issues and epics will be associated with work items so I could see them all merging in that way in the future.
I don't have specific concerns with this either @mvanremmerden . I think I might sort it by type, something like:
Activity
Members
Labels
Milestones
Iterations
^ In the future, perhaps all timeboxes could be within one item as well so they don't need to be listed independently.
💡 Some other potentially wacky ideas:
Add Milestones under the Merge Request nav item as well. The duplication could potentially be strange, but it could be an interesting small experiment and MVC.
Perhaps moving it within Analytics or something similar, since reporting is a large job here.
The two docs pages are both devopsplangroupproject management, so you'd want to involve @msedlakjakubowski to do the updates. I don't know the Project Management docs at all. Marcin will know if other pages that need updates as well.
Amy got the correct pages, and I don't think this is mentioned anywhere.
I was thinking where in the docs should we say that you need to have enabled the issue tracker to be able to use these, but it's not true - we're talking about getting to these features. Alternatively, the docs troubleshooting section could straight up say "Go to https://gitlab.example.com/<group>/<project>/-/milestones" 🤔