Nov 032016
 
 3rd November 2016  Posted by at 7:29 pm 2 Responses »

Last week I had the great opportunity to co-present at The Open Group’s October Conference in Paris, France. After Phil Beauvoir presented a summary of Archi’s history and we described the challenges of ArchiMate 3.0, I spoke about a vision for the future of Archi, EA and the ArchiMate ecosystem, taking ideas from DevOps and applying them to Archi and ArchiMate tooling. For those that weren’t with us, here is a 2nd chance…

New tools for a new EA practice

For the past 10 years, a strange thing happened: while (Enterprise) Architects used to have some of the best tools for their work, tool vendors seem to have forgotten to innovate, while at the same time, tools for Software Developers started to take off and offer some really new and exciting features. Why? How?

While I can’t speak for EA tool vendors, I can at least look at what happened in the software development domain. It seems to me that it all started back in 2005 when Linus Torvalds (yes, the same guy who created the Linux kernel) decided to create his own version control system, Git. Did Linus decide to change the world at that moment? No. Did he decide to create a whole new ecosystem for development? Again, no. What Linus did was simply to create a small piece of software for his own needs, but a free/open piece of software with some great features. Basically, what Linus created was a software version control system which allows easy creation of branches, and the ability to merge those (sometimes conflicting) branches. These simple but powerful features then became the building blocks for a powerful new toolset, which in turn laid the foundations for a whole ecosystem now known as DevOps. If I had to summarize what DevOps is, I’d say that it is a software development Capability. In short, a great mix of knowledge, processes and tools. Furthermore, most of these are open – open-knowledge, open-tools.

The GRAFICO plugin

The GRAFICO plugin for Archi

Between 2012 and 2014, there were many discussions on Archi’s Forum about how to make Archi usable in a multi-user environment. While most people tried to solve the problem using the same approach that existing commercial tools took (save the model in a database, and require user to lock part of the model to avoid conflicts) some users suggested to workaround this issue using existing tools like Git. Some early attempts proved that it was feasible, but no plugins were maintained after the initial proof of concept. That’s why in 2015 I decided to work on it with the help of Quentin Varquet. What we created then was a really simple plugin for Archi whose only goal was to save and load an ArchiMate model in a way that makes it manageable by Git, thus the name GRAFICO (Git FRiendly Archi FIle COllection). With the help of this plugin and some GitHub-like solution (e.g. GitBlit or GitBucket) I was able to work with my colleagues on the same model at the same time without any issues.

This work could have stopped at that point, but I decided to make this plugin available under a Creative Commons licence (the choice of a non really open licence was driven by the fact that too few people have donated to Archi, and that this was one opportunity to get some funding for it).

Experiment turned into crazy idea

When the experiment turned into a crazy idea

The great thing about open source is that there are always some people that think out of the box and then take your ideas and use them in an unexpected way. That’s what happened with the GRAFICO plugin. Despite being a proof of concept in beta, some people started to use it, and then shared with me this crazy idea:

Do with Enterprise Architecture what developers did on DevOps

OK, but what does this mean?

ArchOps explained

ArchOps explained

Let’s think out of the box… Ready? Go!

Imagine that there exists a solution to share an ArchiMate model. And that this solution doesn’t require you to lock in advance part of the model before you change it. Imagine that you are free to clone this model, to create branches and then to merge your work with your colleagues. Imagine that you can keep a local copy of the model, work offline and send your changes to the central model when your want (or can). Imagine that there is in fact no “central model” because you can choose to create multiple copies of this model and sync them. Imagine a toolset that allows you to create conflicting changes because it can then raise a warning, allowing your team to discuss the issues, and understand why and how they arose. Wouldn’t it be great? If your answer is yes, then you’ll be happy to know that this is what you can already do with GRAFICO and Git (the only drawback is that it requires you to have Git skills).

Now, imagine that these exact same features could be used with models saved in the Archi native file format but also the ArchiMate Open Exchange File Format designed by The Open Group. Imagine that all these features are packed in a single open-source solution that never requires you to know Git but still provides the powerful interoperability features. What you now have is a solution that can trigger some events when (part of) the model changes. What you can do from here is up to you, but what about:

  • generating a static HTML rendering of the model in order to share it,
  • exporting the model to another repository, such as CMDB,
  • automatically checking that no changes appear in the as-is/baseline branch that could affect a project branch (automatic gap analysis).

If you find it useful, then you have an idea of what ArchOps could be. But the most important is that this is not about tools, it’s about opening new opportunities for our EA work, defining new way of working.

A Boundaryless Information Flow

How to move on?

As Archi is open source, we can’t really provide a definite roadmap for this work, but the key point is that we’d really like to make all this happen in the near future. For this to happen, we are looking for passionate people that could sponsor our work and invest some time with us to discuss ideas in more details and beta-test our solution. I heard that some companies could help us but for the moment no one has really decided to do so. Do you want to be the first?

Jun 052016
 
 5th June 2016  Posted by at 11:56 am Comments Off on The Archi Philosophy

Jean-Baptiste Sarrodie and I have been emailing back and forth for some time with some positive ideas and we now agree on what amounts to an “Archi Philosophy”, a set of principles that guide our future development of Archi and associated services. But these principles have already been written about in detail in the book, Rework, so all I can really do is talk about key points that relate to Archi and quote relevant passages from the book that resonate with us. I want to expand upon these principles and where we see Archi going (a.k.a the “roadmap”) in future blog posts, but, for now, regard Rework as our manual of truth and guiding light.

In this post I want to talk about open source and some of these guiding principles.

Archi’s code has a liberal open source licence, the MIT licence. It means that anyone can take the code and build a commercial product based on it. You can build a commercial product from the code, Microsoft can build a commercial product from the code, and your great aunt Edna can build a commercial product from the code. Heck, even I can build a commercial product from the code. So, what’s to stop somebody else from hijacking Archi and making something commercial from it? Actually, nothing. And, in fact, we want this liberal licence to stay in place because many organisations and developers have already built some interesting things based on Archi’s code, and they use it in a commercial setting. Also, the MIT licence is compatible with other licences.

Here’s a relevant passage from Rework that summarises our view:

Decommoditize your product

If you’re successful, people will try to copy what you do. It’s just a fact of life. But there’s a great way to protect yourself from copycats: Make you part of your product or service. Inject what’s unique about the way you think into what you sell. Decommoditize your product. Make it something no one else can offer.

Look at Zappos.com, a billion-dollar online shoe retailer. A pair of sneakers from Zappos is the same as a pair from Foot Locker or any other retailer. But Zappos sets itself apart by injecting CEO Tony Hsieh’s obsession with customer service into everything it does.

It’s unlikely that somebody would sell a product that has the exact same functionality as Archi using the code but, even if they did, here’s the thing:

Make you part of your product or service.

You see, Archi is a way of doing things and this is what sets it apart. So let’s list some of the guiding principles that make my and Jean-Baptiste’s philosophy part of the product:

  • There will always be a free and open source version of Archi
  • Archi is agile, intelligent and lightweight
  • We believe in elegant and simple design
  • We do not ask you for your contact details (but please get in touch!)
  • We believe in “open”, in open standards and in open source, and are therefore open and transparent in what we create
  • We want to build services based on trust
  • We believe in sharing
  • We want to create new ways of doing things
  • We want to make Archi and its services fun

So, if somebody does take the code and tries to sell another product based on Archi, then good luck to them because they ain’t us!

But let’s be perfectly clear about one thing. When we say that “there will always be a free and open source version of Archi” this does not mean that we will necessarily work for free or that we might not develop some paid-for services that would support Archi in the future. ArchiMate 3.0 will be released on June 14th and it’s important that Archi implements it, both for itself, for its thousands of users, and for the sake of The Open Group’s ArchiMate Exchange Format. This work is not trivial and will take a lot of effort, but unfortunately I cannot do this unpaid as I like to eat and pay bills. So we are now seeking sources of funding that would support this development. We are also thinking about how we can generate some form of income that would help sustain Archi for future support and features. Jean-Baptiste and I have some great ideas for Archi, but first we need to implement ArchiMate 3.0. Let’s work together in bringing you some great tools with the Archi Philosophy.

Image courtesy of Jean-Baptiste Sarrodie

Image courtesy of Jean-Baptiste Sarrodie