Landscape maps

For many years as an Enterprise Architect I have been drawing landscape maps in Visio to communicate the health of a domain's application portfolio. While they are a valuable communication tool, these diagrams are time-consuming, complex to draw and ever-changing. The landscape map visualisation tool at its simplest renders a table, splitting and joining table cells as needed, but also provides functionality to optimise the axes ordering for maximum joined cells. These diagrams conform to the Archimate landscape map viewpoint.

Landscape maps are a technique for visualizing enterprise architectures. They present architectural elements in the form of an easy to understand 2D map. A landscape map view on architectures provides non-technical stakeholders with a high-level overview, without burdening them with technicalities of architectural drawings.

For a more in-depth example, including a time-dimension, see the projet page.

Links: Project; GitHub; Archimate.

Pivot tables

The pivot table library is a spin-off project from the landscape library. It provides a minimalist pivot table capability, slicing data into cells defined by two dimensions. The resultant data can be aggregated with some basic numerical aggregates, or other queries applied such as those used in the landscape library to present subsets of the source data.

The table above uses the same pivot cube as the landscape map view above, but shows the counts of applications in each cell.

Links: Project; GitHub.

Executable state machines

Finite state machines are a staple of computer science theory, yet this rigorous analysis discipline rarely finds its way into application code. The last project I ran used executable finite state machines in order to manage its business process as it had a wider variety of external event sources with non-deterministic sequencing of events.

Links: Project; GitHub.