archimatetool / archi-modelrepository-plugin

coArchi - a plug-in to share and collaborate on Archi models.
154 stars 52 forks source link

Architect workflow / Element status #111

Open jvdongen17 opened 6 years ago

jvdongen17 commented 6 years ago

We are working with the collaboration plug in in Archi with multiple users.

To facilitate a workflow or element status from draft - to be reviewed - reviewed - approved we created a folder structure. But a workflow is missing, so we can not assign the next reviewer in the flow, etc. It should be nice is the collaboration plugin could support a workflow for this.

Jurgen

WatchTh1 commented 4 years ago

Did you try to set up a workflow around element properties? I thought about it but found workflow possible only in following setup:

  1. Issue tracker holds an issue with a workflow and link to a git branch(es) containing model alternative(s)
  2. Master branch holds approved model;
  3. Issue to be closed has to have merged and approved pull-request.

So workflow is done outside of Archi. Maybe there is a way to integrate Archi with some issue-tracker to support commits, work progress and time spent when doing such things in a production environment,

jbsarrodie commented 4 years ago

Hi,

Issue to be closed has to have merged and approved pull-request.

As an important reminder: you can't use pull requests or merge outside of Archi ! This will lead to corrupted models. This is known to fail quickly. Again, Archi collaboration plugin adds an anti-corruption layer which fixes what git can't do the right way.

Re the original question: the spirit behind this plugin is to use typical development workflows (which have proven to work). So this means that if developers succeed in managing their work without a workflow engine, we (architects) should be able to do so. This plugin emphasis the "human" aspect of workflows.

So typical workarounds are:

WatchTh1 commented 4 years ago

As an important reminder: you can't use pull requests or merge outside of Archi !

Yes, i'm merging branches in archi. Pull requests are used as "job's done" notifiers.

  • Use branches to isolate work in progress (but don't keep branches alive during a long time as this will increase the risk of conflicts)

Typical gitflow it seems fine. ( https://datasift.github.io/gitflow/IntroducingGitFlow.html )

  • Use folders, maybe with folders named after your team members so that people can easily see what they have to do. The issue with this is that moving concepts of views across folder can lead to issues if you also edit these views as part of the same commit (this is a know issue we'll try to solve in the future)

Security model within collaboration plugin is an issue currently. We know how to track object properties changes, but object relations is what's making it hard to track. Currently we would like to have a diff tool embedded in Archi collab plugin to check object relations changes while merging branches. Now I can only see diff when conflict occurs.

  • Create some Kanban boards (using Canvas view) per people in your team or per "project" and add views to be worked on or reviewed in the right column.

+1 to Kanban boards, but in issue traker. I think there may be a need to make something for integration Archi with tipical issue trackers...