Archi Forum

Archi => General Archi Discussion => Topic started by: rchase on June 17, 2017, 15:26:47 PM

Title: Looking for help/resources to understand custom viewpoints
Post by: rchase on June 17, 2017, 15:26:47 PM
Hello forum, been using Archi for archimate for a while but I'm just atarting to get into the viewpoint/view in more detail.

I'm a bit baffled - there seems to be a lack of information about creating new viewpoints.  I see the standard viewpoints.  But - based on this video - https://youtu.be/PwAqJamMfmA - it seems like it is expected that new/custom viewpoints will be created.  They made a change in Archimate 3.0 to make it more clear that the default set of viewpoints are indicative, rather than prescriptive. 

However, I can't find any information about how to create new viewpoints and the best way to do this in various scenarios.  This makes me wonder if everyone is just using the default viewpoints and no one creates new viewpoints?

Can anyone shed some light on this and/or point me to some good resources that speak specifically to custom view points? 

Thanks,

Ryan
Title: Re: Looking for help/resources to understand custom viewpoints
Post by: Phil Beauvoir on June 17, 2017, 16:15:55 PM
Hi Ryan,

as you found out, right now you can't create custom viewpoints in Archi. The implementation of the standard viewpoints in Archi basically consists of an advisory help text, and the UI limiting the types of elements that you can put in the view. Other aspects of viewpoints are stakeholders, purpose, concern, and content. So, a possible future implementation might allow a user to specify these things in a template and apply them to views. Or, as JB Sarrodie suggested once, take a given view that the user has already created and reverse-engineer, as it were, a viewpoint out of that.

Of course, some modellers simply add the elements to a view that they feel suits the target audience and that's it. Perhaps a note added to the view might be helpful, too - "This view is for managers & dunderheads", "This view is for techies" ;-)

Phil
Title: Re: Looking for help/resources to understand custom viewpoints
Post by: rchase on June 18, 2017, 06:34:44 AM
Hi Phil - thanks for the response.  At least I know that I haven't gone crazy.

My challenge is that I have 100s of components and I've managed to fit them all into a master view, but I also have 12 workstreams that all need their own view, and in the next stage of the program I will have 1-20 products per workstream, so the combinatorial explosion is not manageable, especially since the inclusion of a product in a workstream changes on a daily basis.  I can tag every workstream and product with all the attributes necessary, but I need a way to filter things from a view/viewpoint based on attributes that I define. 

At the moment I can duplicate my master view to create the other views necessary and manually delete the non-applicable things but then if I change the master view I have to redo that manual process.  If I can filter based on user param per view/viewpoint, then I think that will accelerate my workflow significantly. 

(it's a cap markets project with many workstreams and many products that form a ragged matrix)

Maybe I can do this with layers?  I'm happy to read more about layers if that's a good direction.

edit:  the combination of querying via my custom attributes then using "generate view from ... " had me excited for a bit but after testing I can see that it creates a view that has all the right elements but is devoid of any of the previous nesting, placement, or styling information so that's too bad.  and it doesn't help my viewpoint problem.

maybe i can hack in an xslt in my workflow/pipeline if i can find the xml spec?  that smells funny.  i'm going take a break from rubber duckying this forum and switch back to learning go for fun.  it's sunday, after all. 
Title: Re: Looking for help/resources to understand custom viewpoints
Post by: Phil Beauvoir on June 18, 2017, 08:39:13 AM
Hi Ryan,

I'm trying to figure out whether there are some things that you are trying to do in Archi that simply aren't implemented (in which case you could add to the growing list of feature requests at GitHub - https://github.com/archimatetool/archi/issues) or whether there are things that can be achieved through best practice. I'll see if any experts chime in...

Phil
Title: Re: Looking for help/resources to understand custom viewpoints
Post by: rchase on June 21, 2017, 01:14:56 AM
Hi Phil - yeah I agree, I'm not sure if these are Archi or archimate limitations or if I'm over complicating things.  I'm still investigating some different modelling options and I'm reviewing with my other archs but i'm happy to hear anything else others have to say on this topic.  I'll hold off on adding a feature request or issue until I know more.
Title: Re: Looking for help/resources to understand custom viewpoints
Post by: Jean-Baptiste Sarrodie on June 21, 2017, 20:39:57 PM
Hi,

It seems there are some confusion about what a viewpoint is. Let's try to clarify...

A viewpoint is not a tool thing, really, not at all. A viewpoint is a way for you to avoid the mess and make sure your stakeholder will understand you and will like working with you.

But how ? Just by taking some time to think about your work and people you interract with frequently.

Let's take an example. If you and your team help projects to design their target architecture, you'll frequently have at some point to discuss with CISO (Chief Information Security Officier). Of course you'll have to have your CISO validate your choices (that's to say you don't just have to inform him). Now think about it, what are the key drivers of CISO: security as a whole of course, but what are important to them in your organization? For the sake of the example, let's say your CISO mainly focuses on dataflow related to internet (because internet is not safe, while your intranet is) and on GDPR (General Data Protection Regulation (https://en.wikipedia.org/wiki/General_Data_Protection_Regulation)). This will lead you to create some kind of document (part of the global design document) to address their concerns.

Now in addition to this, what level of detail do you need. Well, your CISO might not be too technical so you'll have to provide an overview, not something too detailed.

Lets summarize what we have: for each projects, you have to provide a short document that allow CISO to quickly understand project impacts on internet dataflow and GDPR. Nothing more because you know that your CISO won't care.

What we've done here is defining a viewpoint in Enterprise Architecture. But for the moment there's still no link with ArchiMate. So let's dig...

What kind of "document" will you show to your CISO. You could decide to provide the catalog of network flows related to internet and impacted by the project. But as a picture is worth a thousand words, you decide to provide some diagrams and as you know ArchiMate, you'll do them with ArchiMate. At this stage let's ask this simple question: does your CISO know ArchiMate. Maybe just a little bit, so you decide to use only a subset of ArchiMate (Node, Network...). In addition, because several network security guys often do it that way using visio, you decide to draw network zones as big boxes inside which you put nodes (that you call "servers" for your CISO). As an ArchiMate expert, you know that the right relationship to link (communication) network and nodes (as servers) is association, but association is not meant to be shown as nesting, oh dear! So in this case you decide that as this will really ease communication with your CISO and avoid him having to take time and learn something new (and them hate you for that) you'll use nesting for association in this case and will configure Archi for that (and if someone uses another tool, he'll just have to create the relationship in the model but don't show it on the view). Of course, flows that are at risk are colored red because this is the defacto standard.

Is it enough... Wait a minute, you know that some members of the team will reuse this document (always good to reuse a document) but some of them are color blind, so you take care of using lablel in addition to color so that this document is still usable for them (and btw by this super hero guy that solves most issues just by looking in is printed book that contains all your wonderful documents... but printed in black and white).

(I now let the reader imagine a similar story for the other viewpoint about GDPR)

Let's wrap up: the full definition of your viewpoint is:

Viewpoint Name: Internet dataflow Viewpoint
Key stakeholder: CISO
Key concerns: avoid any security breach related to internet dataflows
Purpose: make a decision: obtain CISO's agreement on target Architecture
Level of detail: Overview
Type of representation: diagram
Standard/metamodel: ArchiMate
Restriction on concepts: only "basic" concepts, mostly Node and Communication Network but other concepts allowed if used on purpose
Modelling conventions: Network zones will be modeled using Communication Network as big boxes inside which Nodes will be nested. Associations will be used to connect them. This is a non normative usage of nesting that is accepted in this viewpoint to ease communication. Flows (modelled using flow relationship) that are at risk will be colored red and label "risk" (to make it still readable for color blind people and/or when printed in b&w.
Other: Limit yourself to a maximum of 20 concepts and should be printable in letter/A4.

That's good, isn't it? But how much of this is related to tool? Almost none. At the best you could just make sure the tool lets you add a label/comment/property to a view to know that the view has been created with this "Internet Dataflow Viewpoint" in mind. Is it useful to have a tool that forces you to use only Communication Network and Nodes? IMHO no because in some cases you might need another concept. So the only thing really needed is a way to describe your viewpoints as I just did. But as this is mainly text and maybe some images to provide examples, you can do it in Archi using Canvas. This way you can save your viewpoint descriptions as Canvas Templates and import them in each models that use them, just to provide some guidance and documentation.

Hope this helps.

Regards,

JB