We have a portfolio of applications and projects and we are trying to come up with a way to group projects into logical buckets for reporting, etc.
Right now we have the following constructs:
A project can have one or many milestones
A funding grouping when represents which funding bucket it comes from (LightsOn budget, Discretionary budget, initiative budget) so a project has to map to one of those categories.
Tags: A project can have one or many tags. This is just a label (like stackexchange tags) that allows people to provide metadata to projects so people can group by these tags.
Because #1 is very high level and in #2 a project can have many tags, we are trying to come up with another "container" to represent a stream of work of related projects. The reason we don't want to use Tags is that in this case we want a project to only belong to a single stream.
So the idea was to create a new container called "Stream" which looks like a tag but you could only select one of them per project.
I am just trying to validate if this makes sense and if there is another construct or container that would suit better as I feel like having initiatives, streams and tags can get confusing and i am trying to keep things as simple as possible. The alternative idea would be to have the idea of having projects have parent projects so instead of "stream" its just another higher level project.
Any suggestions around best practices when trying to group projects that is intuitive and supports the items above?