Book a Demo

Author Topic: Practical way to do reviews  (Read 10823 times)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Practical way to do reviews
« on: May 21, 2020, 11:34:37 pm »
One of my tasks at a client is to perform model reviews.
The goal is to increase the quality and consistency of the model

The general idea is that every week or so, I look at the subjects that have been recently worked on. I then choose a subject and make an in-depth review.

One of the tools I'll be using is the EA Validator add-in we made. This add-in contains a bunch of "syntax" rules such a
- A BPMN business process must have a composite diagram
- A BPMN Activity may only be used on one diagram
- A BPMN Pool must have a valid PartnerRole, PartnerEntity or ProcessRef tagged value.

I run the validator, and if any error still pop up that will be a remark for that subject.

But of course the validator rules don't cover everything.
Some rules haven't been written yet, or might even never get written because the occurrence of such an error is deemed too low.
Other rules are more semantic in nature and cannot be formalized as an EA Validator rule.

So at the end of my review I'll have a bunch of remarks regarding the subject. Most of those remarks will be related to one or more things in the model.

So what I'm now looking for is a practical way to store and share these review remarks.
I have been looking in the manual to figure out what EA has to offer in that area and I found

Formal review: https://sparxsystems.com/enterprise_architect_user_guide/15.2/team_support/formal_review_elements.html
The problem I have with these is that it's going to take me a massive amount of time to register each item in the review, add a review to that element. It just doesn't seem practical at all.

Reviewing Elements: https://www.sparxsystems.com/enterprise_architect_user_guide/15.1/modeling/specification_review.html
Feels a bit similar to the formal review.

Reviews https://www.sparxsystems.com/enterprise_architect_user_guide/15.1/guidebooks/tech_reviews.html
I'm not sure how this fits in, but it doesn't seem practical at all.

Maintenance https://www.sparxsystems.com/enterprise_architect_user_guide/15.1/project_management/maintenancesupport.html
So maybe I can add issues to elements? That seems to be promising. It has text field, a status field and priority, resolver and resolved date.
But to my surprise the Resolved Date is automatically filled in with today's date, and the resolver is filled with my username.
Now I can remove the resolver, but I can't remove the resolved date.

I don't understand. Who thought it would be a good idea for an issue to automatically fill in the resolved date? I'm not creating issues that are already resolved, I'm creating issues because they still need to be resolved.

You can apparently also doubleclick on such an issue, and then you have the possibility to clear the resolved date. Looks fine in the popup dialog, but when it comes back to the list, it shows 30-12-1899 as resolved date. ???
sigh...

Currently I'm thinking along the lines of using excel to store my review instead of one of the many review tools available in EA.
Too bad, because then I'll probably want to add a button or hyperlink to select the element in the project browser in EA, because that where the element needs to be fixed, and before you know it this because a whole new application itself :(

So I'm asking if anyone has some useful experience to share, doing this type of reviews in EA?

Thanks

Geert

« Last Edit: May 22, 2020, 05:02:14 am by Geert Bellekens »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Practical way to do reviews
« Reply #1 on: May 22, 2020, 01:56:42 am »
Honestly, it mostly depends on the team you're working with. Creating issues (I use self-made elements from my MDG) is one thing. Putting them in a location where they can be found is the 2nd. But getting people to actually work on them is the main issue in working with issues. I remember times at Siemens many years ago. They had a strong hierarchy and QA was a whole department. Just ignoring them was impossible. But getting such an institution is impossible today. Everything is lean and smart and you develop on the go. Maybe that Siemens way from the past was the far one side. Today we're at the far other side. So, a practical tip? Good luck! (Not joking)

q.

RoyC

  • EA Administrator
  • EA Practitioner
  • *****
  • Posts: 1297
  • Karma: +21/-4
  • Read The Help!
    • View Profile
Re: Practical way to do reviews
« Reply #2 on: May 22, 2020, 09:54:55 am »
I'd encourage you to have another look at Formal Reviews, especially in Release 15.2. You can create a Review diagram underneath the Review element, and adding the Issue elements (or the elements causing the issue) to the diagram will put them in the review. You don't have to have one review per element. On the other hand, you wouldn't just keep adding elements to one review ad infinitum - you'd have to strike a balance. You can also just open a review and click on any element, and it puts it in the review; however, that can get a bit undisciplined and harder to manage.

There is also the Informal Discussions facility, in which you can manage the conversation quite easily but you'd have to do a bit more mental work to use it to do strict reviews.

As qwerty says, the main obstacle to doing a review is getting people to use the process, so doing a bit of work to create a review structure (Formal Review) would make it easier further down the track to get your reviewers to engage in the process.
Best Regards, Roy

Nizam

  • Prolab Moderator
  • EA User
  • *
  • Posts: 320
  • Karma: +15/-2
  • Model Sharing - Simplified
    • View Profile
    • Professional Model Collaboration
Re: Practical way to do reviews
« Reply #3 on: May 22, 2020, 10:20:44 pm »
I understand this is regarding reviews within Enterprise Architect application, but i would suggest you please take a look at the following articles if time permits
https://prolaborate.sparxsystems.com/resources/articles/streamline-stakeholder-reviews
https://prolaborate.sparxsystems.com/resources/documentation/review-enterprise-architect-models

The review utility was designed to foster engagement from the non-EA users and incorporate them in EA.

You can also watch a quick 2 min video
https://www.youtube.com/watch?v=ooxosRmuV6s

or a slightly detailed video (with review setup, notifications, dashboards, etc)
https://www.youtube.com/watch?v=GMXmg24WYtk

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Practical way to do reviews
« Reply #4 on: May 22, 2020, 11:03:43 pm »
Thanks Nizam.
I'm sure that is useful, but it's a different use case.

In this case I'm the reviewer and I'm reviewing other EA users work. No non-EA users involved.

Geert

Nizam

  • Prolab Moderator
  • EA User
  • *
  • Posts: 320
  • Karma: +15/-2
  • Model Sharing - Simplified
    • View Profile
    • Professional Model Collaboration
Re: Practical way to do reviews
« Reply #5 on: May 26, 2020, 03:20:11 pm »
Hello Geert,
Thanks for the note,  we used to have an approach with Model Views (WIth Notifications) + Workflow scripts to enable reviews in EA, however it does require a fair bit of setup / scripting to make this happen.
I'm sure you would have considered this.

Best Regards
Nizam Mohamed

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Practical way to do reviews
« Reply #6 on: May 26, 2020, 06:32:22 pm »
Hi Geert,


I don't have a good answer for you, but I'd like to hear myself talk for a while offer some suggestions.

My background is in defence contracting, which is a high-QA environment to the point where it's more important to get it right, and to prove that it's been done right, than to streamline the QA processes. So that's where I'm coming from.

It's good practice to separate syntax checking, which a machine can do, from content checking, which requires understanding. Reviewing should focus primarily (exclusively, really) on the latter. If you're working with documents, an author is expected to spell-check, format and structure their document correctly before sending it out for review; asking a team of subject matter experts to check a document for spelling errors is just a waste of skills, time and money.

So a model validator should be seen as a tool used by the modeller, not by the reviewer. Once the validator OK's a model, it can be sent out for review. Now in your case you're doing both the syntax checking and the content checking, but it's still a good idea to keep them separate in your mind.

When it comes to storing and sharing review remarks, a cardinal rule is that the CI (configuration item under review) must not be altered in any way by the review. This means that any way of working which involves creating elements in the reviewed model -- adding notes to CI diagrams, setting properties in CI elements, adding connectors to CI elements -- is out. The review suggests changes, but only the author makes changes. This might be less of an issue when there is only one reviewer, but as soon as there are more than one it becomes impossible to keep track of what each reviewer actually saw, if you allow the review process to make changes to the CI.

(There is an alternative way of working with reviews which involves making changes in a local copy of the CI, and submitting diffs as a result of the review. Possibly something like this could be achieved in EA using baselines and a multi-project setup, but unless each CI model is completely self-contained it gets pretty complicated pretty quickly.)

The doctrine of no CI change means EA's maintenance items are out. They're not much use anyway, it's far too hard to navigate them in anything but a single-package-single-diagram-two-element scenario, aka the real world.

In general, I feel EA's functionality in this area (indeed, the whole collaboration area) is a bunch of half-baked ideas, nothing coherent that can actually be used. I haven't dived deep into the team library, but I note that the manual says it "can be used to conduct model reviews from any number of perspectives, including walk-throughs, formal model reviews, or ad-hoc reviews" -- but there's no laid-down process for how to do any of those things. Not even an outline. So it comes across as sales-pitch, demo-level stuff.

So it's roll your own, but I think there's a pretty handy way to do it: in-model RTF documents with hyperlinks.

Set up a package structure for reviews, in a separate root node. The substructure obviously depends on how the rest of your project is set up, but at the lowest level you'll want one package for each review of a particular CI. So the package at this level would be called something like "Review of model 'bla bla bla', 2020-05-26".

In this package, each reviewer gets one RTF document (document artifact). You can create a template for these; it's basically just a simple table.

The reviewer adds their remarks to their document, adding hyperlinks to diagrams/elements where appropriate. (If you want you could modify your validator to direct its output to such a document too, of course.) Hyperlinks are light and one-way, so the CI model is not changed by the review. Importantly, the hyperlinks are only there to ease navigation. The actual remark is expressed in free text.

In addition to allowing the reviewer to write free text, they can work on their remarks in the context of their review, not in the context of the CI model, and not tied to some half-baked "discussion" structure. This is important.

Then on top of this there is the question of what to do with the remarks once the review is completed. Some remarks should be implemented, others could be rejected. You could add a column for that to the review template, or you could collate all reviewers' remarks into a separate document where the author (or whoever makes the decisions) can record their decisions.

I really think document artifacts with hyperlinks are the best way to do reviews in EA. None of the built-in functions are going to work without a lot of customization, and while the artifact way will require some customization as well it's very simple to set up, to understand and to work in. The reviewer works from the project browser, but at the same time with a review focus and without making changes to the CI.

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Practical way to do reviews
« Reply #7 on: May 26, 2020, 07:28:01 pm »
Thanks for your answer Uffe.

It sort-of confirms the direction I'm currently taking.
Conceptually I was thinking along the same way as you: a document with remarks, a status, and hyperlinks to EA elements.
I'm thinking about using Excel, with a bit of VBA magic to do the hyperlinking, instead of RTF document artifacts because those are easier to edit/store outside of EA.

The EA Validator is also available for the modellers, and some of them actually use it already.
My reviews will probably also serve as an education tool,and will hopefully encourage more users to use the automated validator.

Geert

PeteEA

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: Practical way to do reviews
« Reply #8 on: May 27, 2020, 11:37:25 pm »
Have you considered the Collaborate window (Start - Discussions - Discuss in 15.2).

You can annotate a review point against any element (but seemingly not a relationship - informally I guess you could pick the source element).

Then under Start - Review - Review History - Discussions you can see all the comments made.

I've used that to review a model with a colleague.