plantuml / plantuml

Generate diagrams from textual description
https://plantuml.com
Other
9.73k stars 881 forks source link

[FEATURE REQUEST] User Story Maps #423

Open terrystrachan opened 3 years ago

terrystrachan commented 3 years ago

PlantUml is fast becoming THE one stop shop for fulfilling all of my diagramming requirements

I think a great addition to the suite would be User Story Maps

something like

Activity 1 +User Task 1a ++Story 1 Release 1 ++Story 2 Release 1 +User Task 1b ++Story 3 Release 1 +++Story 4 Release 1 ++++Story 5 Release 2 Activity 2 +User Task 2 +++Story 6 Release 1 +++Story 7 Release 1 +++Story 8 Release 2 Activity 3 +User Task 3 ++++Story 9 Release 2 ++++Story 10 Release 3

or

user story map text

Which would generate

example story map

arnaudroques commented 3 years ago

Nice idea!

With last beta http://beta.plantuml.net/plantuml.jar you can have:

@startboard
Activity 1
+User Task 1a
++Story 1 Release 1
++Story 2 Release 1
+User Task 1b
++Story 3 Release 1
+++Story 4 Release 1
++++Story 5 Release 2

Activity 2
+User Task 2
+++Story 6 Release 1
+++Story 7 Release 1
+++Story 8 Release 2
Activity 3

+User Task 3
++++Story 9 Release 2
++++Story 10 Release 3
@endboard

It's a first release, so don't expect too much. The drawing is not exactly what you have shown. For example, we put "Story 1 Release 1" and "Story 2 Release 1" in the same row, not in the same column. It's not a final decision, it was just simplier to implement this way.

I let you play with this alpha release to have your feedback.

Thanks!

terrystrachan commented 3 years ago

Awesome, I'll give that a try thanks...

Looking at my example - I didn't really show the vertical correlation very well in the diagram... As in, story 1 and 2 relate directly to user task 1a and story 3 relates to user task 1b and both user task 1 a and b relate to activity 1

Maybe some vertical swim lanes or actually just lightly coloured separators (as we have horizonal swim lanes for releases)

Berkmann18 commented 3 years ago

It would be indeed great to be able to also generate User Journey Maps on PlantUML and so far it doesn't like it's possible to do.

sidey79 commented 2 years ago

Any Updates in this feature? I agree, that this feature would bei very nice to have.

arnaudroques commented 2 years ago

Any Updates in this feature? I agree, that this feature would be very nice to have.

It's not documented, but it is available on last versions. See for example.

It's really an alpha version and there are plenty of limitation. We are just waiting for user feedbacks to improve this feature, so that we better understand what people expect.

So do no hesitate to make suggestions !

sidey79 commented 2 years ago

I die some tests with this alpha :)

What would bei nice to have:

Support multiline text: Currently the boxes do not scale and if text is longer, it overlaps the box.

Support different boxes: I was thinking that i want to tell a story from a use r perspektive. So i woud Like to group tasks to an user which is possible, but the boxes have no different Style. Have eine style options to visualize what ist user,task,story.

User 1 +Task 1 ++Story 1

Ist would bei nice to style every layer to some color.

Swimlane support: I currently have no idea how to do, but it would bei nice to group storys into releases with swimlanes. Currently every layer ist grouped in swimlanes, but every layer is displaying seperate detail level instead of prioritys.

May ist is possible to specify lanes and group inside the lanes.

:Lane Release1 :Lane Release2

User A +Task A1 ++User Story1 in Release1 ++User Story2 in Release1 ++User Story3 in Release2

sidey79 commented 2 years ago

Some Idea about styling similar to the wbsdiagram:

@startboard
<style>
.Story {
  BackgroundColor red
}
</Style>

++SomeStory <<Story>>
VladimirAlexiev commented 2 years ago

@terrystrachan @Berkmann18 @sidey79 I think the terminology is a bit fluent. Jira and most agile processes have Epics/Stories/Tasks, and Releases (fixVersions). Here you also talk of Activities and User Tasks.

sidey79 commented 2 years ago

There are some ressoures which explain the process of user story mapping:

https://www.aha.io/roadmapping/guide/release-management/what-is-user-story-mapping

In general the mapping produces user Storys, but the method explains what activities are done by a person.

davidhorm commented 2 years ago

Awesome! I was considering making some sort of mdx plugin to generate a user story map, but using PUML would be way easier. I propose using the Markdown List syntax because IMO fewer pixels makes it easier to read:

Activity
- Task
  - Release
    - Story

I can envision highlighting the - Release line in my VSCode, then using Alt+Up or Alt+Down to move the line as we discuss the scope of the Release.

Jeff Patton came up with the idea of User Story Mapping. In his Quick Reference he describes how the Tasks act as the backbone and grow along with the x-axis. The Stories then act as the ribs and grow along the y-axis and same column of the Task.

DrGriff commented 2 years ago

I had a quick play and have a couple of suggestions:

Can't wait ...

DrGriff commented 2 years ago

This functionality could also be tied to a "features board", for example, three features: 1 - Search for an item 2 - Add items to the cart 3 - functionaltity in cart page

And under each of these, a particular use-case

 [Search]            [Add to cart]       [Cart]
     |                      |              |
 [via keyword]       [Single item]    [Change Quantity]
    |                       |              |
 [via Category]      [Multiple items]  [Delete item]
                                           |
                                     [Add Comment]
                                           |
                                    [Add Cost Center]
                                           |
                                      [Empty Cart]
                                           |
                                      [Checkout]

The name of each feature (top row) could have one background colour. Then each use-case could be coloured according to each delivery phase. For examples, the Cart's "Ad a comment" may be considered a nice-to-have and therefore Phase X.

PortnovAlex80 commented 11 months ago

Is there new updates?

h4m24 commented 5 months ago

this looks great, any chance to support this

trimble commented 4 months ago

Playing with this today and love where it seems to be headed. Some feedback as requested:

1) Add automatic or manual word wrapping to keep text inside the boxes and I think you have a releasable MVP 2) It would be great to have a way to distinguish user tasks from system tasks...often indicated on physical maps either by rotating sticky notes 45 degrees or using a different color 3) It would be great to have a way to either label each "release" section with a number/tag/date along the left of the diagram or as a label on the separator lines between releases (as in the mockup in original post) 4) Manual or automatic colorization of items would help at the big-picture view

Overall, great stuff, though. I applaud and thank those behind it!

VladimirAlexiev commented 3 weeks ago

Should we document this?

The-Lum commented 2 weeks ago

Hi @VladimirAlexiev,

@arnaudroques can you start a page story-board and add it to https://plantuml.com/sitemap-language-specification. I'll flesh it out

FYI a new page (since 2020) was created here:

Awaiting now doc. contribution...

Regards, Th.

VladimirAlexiev commented 2 weeks ago

Ok @The-Lum I added some description, links to reference material from above, and the desired diagram by @terrystrachan . But Terry, can you please fix your example? Eg Story 4 Release 1 falls in RELEASE 2, which is confusing.

@arnaudroques and @The-Lum , I think the page should be renamed to story-board, because the word "diagram" in board-diagram is parasitic.

arnaudroques commented 2 weeks ago

@arnaudroques and @The-Lum , I think the page should be renamed to story-board, because the word "diagram" in board-diagram is parasitic.

Sounds like a good idea to me. Ok for you @The-Lum ?

The-Lum commented 2 weeks ago

Sounds like a good idea to me. Ok for you @The-Lum ?

Yes, of course... I create this page... by imitation of:

But there are some some counter-examples:

And now you can rename board-diagram to story-board... And could you also add title/description?

Regards, Th.