async-go / asyncgo

AsyncGo is a collaboration app designed around async/remote team communication.
https://asyncgo.com
MIT License
11 stars 0 forks source link

Support natural flow of discussion (Phases) #210

Closed jyavorska closed 2 years ago

jyavorska commented 3 years ago

Problem to solve

More complicated discussions tend to have a flow: "first start with intent - do we all agree - then start with brainstorming - do we all agree - then a proposal and feedback suggestions - then a final decision - do we all agree". We don't model this at all in the discussions today.

Proposal

Add some kind of state to the discussion to ensure nobody is jumping ahead, and time is being given to the initial phases of the discussion.

Other details

Permissions and Security

N/A

Documentation

N/A

Links / references

N/A

jyavorska commented 3 years ago

@matteeyah do you agree that an MVC of this can be:

We can use Kenny's ideas for how to describe each state:

If so I think I can probably do it. If not I'd love to hear your ideas.

matteeyah commented 3 years ago

The MVC sounds fine. Our state could be something that's functionally similar to GitLab's issue health status.

As for the next steps, I'm not 100% sure if we should limit editing specific fields based on the state. It forces the process to be waterflow-y, while in reality most modern teams go back and forth and do things in parallel.

jyavorska commented 3 years ago

I had an even simpler idea @matteeyah that I think is better and easier. What if instead of defining phases, any heading (i.e., ###) in the markdown could be indicated as the current "phase". Or, you could just have none marked in that way. This would give you complete control to focus everyone's attention, it would be integrated dynamically with each topic's custom headings.

Thoughts?

matteeyah commented 3 years ago

That's an interesting idea, but sounds somewhat complex to implement.


Another alternative to defining phases as a standalone feature is to implement them through tags / labels


The more I think about this, the more I think we should implement phases as part of some other functionality instead of a standalone toggle / feature.

jyavorska commented 3 years ago

I thought about it slightly differently @matteeyah. Something simple like:

A simpler version of this is just a text field that lets you type whatever you want in the phase box, with no magic header dropdown.

A slightly more complicated version does some kind of matching (/\# #{phase}/) to highlight the heading in the description.

matteeyah commented 3 years ago

Ooh, I like this. It's definitely simpler and more flexible than the label approach. I guess we need to figure out if we want to make phases more or less structured 🤔

jyavorska commented 3 years ago

@matteeyah I had the idea while creating templates. It could make them all magically appear if you copy/paste a template. I.e.: https://asyncgo.com/docs/templates#integrative-decision-making-holacracy. Templates would come with their phases "for free"