The purpose of Labs 8-11, is to create new Advanced Analytics Dashboard for RunKeeper.com [http://runkeeper.com/].
We will model Runkeeper's architecture solution for this dashboard using Healthgraph.com API services [http://www.healthgraph.com/].
All models we will build in this Lab aim to identify the SCOPE of our assignment.
At the end of this Lab you will have an architecture library to base your solution designs upon.
In SECTION A of this Lab, we will tailor our modeling environment to suit our needs and learn how to setup and trace architecture model elements.
Archimate makes heavy use of color-schemes to help understanding models easily. The original specification however was color independent. Over the years, two types of color conventions have emerged:
Color-scheme A: a primary - “Layer classification” - color scheme, and...
Color-scheme B: a secondary - “Actor classification” - color scheme.
The Archimate Specification 2.1 is based on color-scheme [A], meaning:
Archi's default configuration [http://www.archimatetool.com] is based on convention [A].
Below is an example of the "layer based" color-scheme in Archi:
While color-scheme [A] is a perfectly valid color-scheme, experienced architects prefer using color- scheme [B], meaning:
We have introduced this color-scheme in our previous Lab (Lab 1). Go back to Lab 1 to remember what 'active', 'behavioral' and 'passive' mean.
The first thing we will do to setup this second Lab is to configure our Modeling Environment to reflect the conventions defined in Lab 1.
Download the new stencils from Moodle onto your computer drive from this link
Start Archi if not done already
Go in "Edit" > "Preferences", then select "Colors and Fonts" from the preferences list on the left:
Click on "Import Scheme" (to the right of the dialog box)
Select the .prefs file you have downloaded from Moodle
Make sure you tick the check-box named: "Save the default colors for elements in the model file"
Make sure you also tick the check box named "Use these fill colors in the model tree and editor palette"
Click OK
Close and Restart Archi
Let's verify that our new color-scheme has been uploaded:
Start Archi once gain, unless done already
Go in "Edit" > "Preferences", then select "Colors and Fonts"
Expand the "Application element fill colors"
We can see our new color-scheme has been applied.
You will notice changes in the Palette. The model elements in the Palette have changed from the old color-scheme [A], to the new color-scheme [B].
Let's verify our new stencils work correctly:
Color-scheme [B] uses color tones to distinguish ELEMENT TYPES (as opposed to the default color-scheme, distinguishing LAYER TYPES). Color-scheme [B] also represents what Layer modeling elements belong to, using color shades.
Create a new blank model in Archi
Clone the figure below
In the figure above, Business layer modeling elements (top) are represented by light shades blue/yellow/green colors, while elements of the Infrastructure layer are represented by deeper colors (bottom).
The more complicated the model, the more important it is to use an unambiguous modeling convention... in this case choosing a good color scheme much more than a matter of aesthetics. It helps reading / instant understanding.
In Enterprise environments, many modeling conventions (other than color schemes alone) are agreed upon. Some conventions constrain the use of some modeling elements; others specify a naming rules for model elements, and/or modeling views.
For the purposes of this Lab, we will not introduce any more modeling conventions.
Architects like to build libraries of re-usable model elements. Overtime, this strategy pays off because it becomes possible to RE-USE elements previously created, and benefit from existing documented attributes, properties defined for each (as opposed to re-creating the same model elements from scratch over and over).
From a new blank model, create a 2 application components part of Runkeeper.com's IT landscape.
Click-right on the “Application“ folder in the Model Tree, then “New” > “Application Component”.
Create 2 new model elements of type “Application Component”. Name each respective element as follows:
“Fitness Tracking App”
“Fitness Tracking Web”
You will notice that the two new model elements are displayed in italic. Why? Because none are included into a graphical Model Canvas yet. Let's create a new blank canvas view, and drag each element onto it.
Now let's look back at our Model Tree. We can see that each model element isn't in italic any longer.
In the Model Tree panel, let's change the name of each model element:
From “Fitness Tracking App” to → “Fitness App”
From “Fitness Tracking Web” to → “Fitness Web”
...notice how the model elements on your Model Canvas are immediately updated to reflect the changes you have performed in the Model Tree.
A Model Tree stores the library re-usable Architecture model elements. It allows you to create model elements once and use them across many diagrams. You can update the attributes of the element once in the Model Tree, and changes will get reflected in all diagrams at once.
Furthermore, the Visualize panel provides insight on the relationships between model elements.
Using the Visualizer, an architect can browse all Elements from an architecture library using a graph browser, scanning through (n) levels of depth.
A Model Graph Visualizer is much more than a fancy widget. It is a very important way for architects to control the TRACEABILITY of their architecture. For example, starting from a Validation Component underpinning a Web Form, we can trace up to the Feature is implements, the Capability it realizes, all the way up to the Goal it helps to achieve.
In conclusion, we have seen that an architecture library of model elements can be setup independently from creating any Model Canvas. Knowing this, during the course of the next few Labs, we will incrementally add new elements into our architecture library, then find & re-use (drag-and-drop) these elements to model the Views of Runkeeper's Advanced Analytics Dashboard solution architecture.
In SECTION B of this Lab, we are introducing Runkeeper’s business context. The high-level contextual analysis we are about to embark on will provide you with the knowledge you need to model a solution architecture for a new Advanced Analytics Dashboard, …and enough room to base your own subject assignment on Runkeeper.com (if you wish to do so).
In January 2016, “Runkeeper.com” (http://runkeeper.com) is a subsidiary company of Fitnesskeeper Inc.
“Healthgraph” (https://runkeeper.com/developer/healthgraph/), is an internal division of Runkeeper.com.
In February 2016, Fitnesskeeeper has entered into a definitive agreement to be purchased by ASICS Corporation. Headquartered in Japan, ASICS is best-known for making running shoes and clothing, but also has its own training app for runners. The combined companies will work on physical products with digital fitness tracking features.
Runkeeper.com will continue to exist as a standalone offer, from the Customer standpoint, not much will change. However, starting in 2016 and over the next 2 to 3 years, the management board plans to split Healthgraph from Runkeeper.com, to create a new subsidiary company named Healthgraph.com. Doing so will make of Healthgraph.com a new business line of ASICS Corporation, independent from Runkeeper.com.
IT projects are tools to execute on a strategy. So first, let's capture the main constituents of the Management Board’s vision. To do so, we'll use an analytical framework as described in Lecture Group #1, Part 5.
In the Model Tree, under the View folder, create a new sub-folder named: “R1C5 – Strategy increments”
Within the folder newly added above, create a new Model canvas named “Vision”
In your Model Tree add the model elements you see in the figure below
Then drag the elements you have created on a new canvas and clone the figure below
In 2016, Runkeeper.com's focus will be to reach out to a wider audience via an increasing range of health and activity tracking devices manufactured by ASICS. Runkeeper.com will aim to invest in new ways of capturing health data points using the explosion of fitness-tracking technologies (e.g. via wearable devices coupled to phones, via improved phone motion co-processors, etc.).
Healthgraph.com will aim to invest in ways to enrich its database of personal health profiles beyond the list of Runkeeper’s customers only. The objective is to have more data points available to better match and correlate activities, body measurements, and nutrition data.
Being independent from Runkeeper.com, it is expected that Healthgraph.com will create partnerships with competitors of Runkeeper. Competitors to Runkeeper are: GymPact (http://www.gym-pact.com/), Caledos Runner (http://api.caledos.com/), TomTom MySports (http://mysports.tomtom.com/).
Ultimately, it is expected that ASICS Corporation will benefit from the synergies between Healthgraph.com and Runkeeper.com (for example, gain in accuracy of training, coaching, diet recommendations via advance data analytics & reporting).
In the Model Tree, under the View folder, create a new sub-folder named: “R1C6 - Mandate / Intent & directives”
Within the folder newly added above, add the model elements you see from the “DRIVERS” bullet list in the paragraph below DRIVERS:
Within the folder newly added above, create a new Model canvas named “List of Drivers”
Then drag the elements you have created on a new canvas and clone the figure below
You have been contracted by the CIO of Fitnesskeeper Inc as the main Solution Architect for proposing how to split Healthgraph from Runkeeper.com over the next 2 years. As part of your overarching assignment, your job is to design a new dashboarding capability for Runkeeper.com. This new capability - referred as “Advanced Analytics Dashboard”- will heavily rely on Healthgraph. This dashboard will be the first foray into successfully leveraging the API services of Healthgraph.com.
In the Model Tree, under the View folder, create a new sub-folder named: “R1C4 - Influencers / Environment constraints”
Withing the folder newly added above, create a new Model canvas named “List of Stakeholders”
In your Model Tree add the model elements you see in the figure below
Then drag the elements you have created on a new canvas and clone the figure below
In the Model Tree, under the R1C4 folder, create a new Model canvas named “List of key Constraints”
In your Model Tree add the model elements you see from the “CONSTRAINTS” bullet list in the below paragraph: CONSTRAINTS:
The “Advanced Analytics Dashboard” only displays data pertaining to activity & health metrics captured by the “ASICS Alive M10” device.
Activity & health profile metrics are received from the “ASICS Alive M10” device ONLY via Runkeeper.com App.
Activity & health profile metrics cannot be tempered with.
Activity & health profile metrics are strictly private and cannot be disclosed without consent.
Optional: Drag the elements you have created on the newly created canvas
In this step we will introduce a number of fictive goals to illustrate motivation modeling.
BUSINESS Goals:
IT Goals:
EXERCISE: → In the Model Tree, under the R1C6 folder, create a new Model canvas named “List of Goals” → In your Model Tree add the model elements you see in the figure below → Then drag the elements you have created on a new canvas and clone the figure below
In the Model Tree, under the R1C6 folder, create a new Model canvas named “List of Principles”
In your Model Tree add the model elements you see from the “PRINCIPLES” bullet list in the paragraph below
PRINCIPLES:
Optional: Drag the elements you have created on the newly created canvas
In SECTION C of this Lab, we'll build a few Inventory Sets that we can leverage later when creating Solution Architecture Views for the Advanced Analytics Dashboard. We will intentionally limit ourselves to the creation of 3 primitive models:
In the Model Tree, under the View folder, create a new sub-folder named: “R1C1 – Business capabilities / functions”
Within the folder newly added above, create a new Model canvas named “Runkeeper Capability Map”
In your Model Tree add the model elements you see in the figure below
Then drag the elements you have created on a new canvas
Set the Viewpoint type for this newly created Canvas to “Business Function” in the Properties panel
Clone the figure below
In the Model Tree, under the View folder, create a new sub-folder named: “R3C1 – System / Data Assets”
Within the folder newly added above, create a new Model canvas named “Runkeeper Data Map”
Set the Viewpoint type for this newly created Canvas to “Information Structure” in the Properties panel
Within the same folder create a new Model canvas named “Runkeeper + Healthgraph System Map”
Set the Viewpoint type for this newly created Canvas to “Application Structure” in the Properties panel
In the Model Tree, under the View folder, create a new sub-folder named: “R6C1 – Infrastructure”
Within the folder newly added above, create a new Model canvas named “Runkeeper + Healthgraph Infrastructure Map”
Set the Viewpoint type for this newly created Canvas to “Infrastructure Usage” in the Properties panel