Hello everyone, I thought I’d kick off the blog by introducing myself and then talk briefly about what Holocentric does, before looking into the past and the future.
Who am I?
I’m Derek Renouf, Chief Technology Officer at Holocentric. Holocentric Modeler and Holocentric Modelpedia are both products, which my team and I have been building for many years. I’m an avid Object-Oriented and Model-Driven Design developer, keenly interested in SCRUM and other related methods. I’ve worked as a director of a consulting firm, designed business process accelerators, spoken at international technology conferences, written training material, designed and implemented graphics frameworks, code generators, language parsers, runtime and scripting engines. Outside of my work, I love reading, spending time with my family (I’ve got two young boys and a beautiful wife) and when I make time, I meditate.
What is Holocentric?
Holocentric is a software company that builds modelling and collaboration tools, as well as operational frameworks for organisations wanting improve their governance, processes, work practices and IT systems, and in doing so reduce the cost of operating.
We do this by taking a holistic approach that captures the vision and strategy of an organisation, encompassing value chain, processes and procedures. All of these things when implemented help to drive a business. In doing so we solve one of the greatest challenges faced by organisations: how to implement strategy or policy in a consistent way, from top level executive views to detailed working practice in an organisation, without enormous effort and duplication of work. When populated, we call this operational framework a Business Management System (or BMS for short).
How did our products come into existence, where are they going and how do organisations gain benefit from this today? These questions are going to take some time to answer. I thought I would start by sharing some of my background, motivation for being here and basis of much of our technology today. In later posts I plan to discuss more technical aspects of the product strategy, including our Web 2.0 product offering and how this provides a scalable platform for modelling and collaboration.
I’ve always had a passion for writing software that involves people. At a young age I was motivated to learn how to program because I wanted to write adventure games. This would let others experience a created world. It took me a number of years, but I eventually learnt BASIC, went on to write story lines, design graphics and code entire applications. This all happened at a time when using computers was strictly for nerds, Apple Computers were even expandable and Bill Gates and Steve Jobs had not yet commercialised the technology already developed around user interface, object-oriented programming and networking.
Adventure games for me were really a precursor to writing larger applications and toolsets. For games, a critical mass of features had to be present before a person can enter a world that had been created. There are many parallels between this and the software at Holocentric today. For instance, tools exist to capture models of a business, including their processes, and a platform provides the means to share this information with others and ultimately improve the way people work. In this environment people are invited into a world of process and related information, in order to validate a view of the business so that work will improve. The experience needs to be holistic in order for this to succeed and at the same time provide compelling value.
So, although we’re not creating games today, I like to think that we’re improving the experience many people have around business processes, so as to make them as enjoyable as possible, to a point in the future where I dare say they will have fun.
Back in 1993 Holocentric Modeler started life as an application to model items and relationships between them. Prior to this at university I always curious as to how “MacDraw” worked. Whilst this vision may sound like it’s a pretty broad abstraction, I wanted to build an environment that could host various kinds of models rather than just creating a drawing tool. Anyway, it would also be fair to say that the technology began life being developed in a “garage”. Of course since then the product has been re-engineered and today we have a great team of people both expanding and maintaining the product.
When I talk about models, I’m not just talking about a diagram, a collection of diagrams or a spreadsheet. I’m referring to a collection of items that represent things like requirements, goals, objectives, documents, processes and activities, as well as the relationships between these things. A model therefore is both content, as well as relationships to other content that is not stored directly; it can be seen as the glue that binds things to create an ecosystem. Another important factor around models are the views they provide; not everyone needs to see the same view, in fact people need specific views that are relevant to who they are and what they need to do. The language of one community in an organisation is often different to another. For instance, an Executive is likely to want to see different information to the process improvement and software application implementation team. Models help by presenting views that are familiar to each community, and at the same time provide relationships between elements of these views to ensure that concepts are truly related.
Well before UML or even the Unified Notation came into existence, early versions of Modeler were directed towards designing and generating software and the provision of consulting services around this. An early requirement of the product was to unify the myriad of methods and notations around software development to begin with, so this easily adapted then to encompass UML as it emerged, as well as the capture of requirements and business processes. Whilst software modelling was the original application of the Modeler, it is certainly not the principal destination of it. The focus has been long since adapted to squarely focus on a more holistic approach, whereby business and IT architectures can be captured.
The ability for the Modeler to change itself really has been key part of the tool’s longevity; we want to continue to make this as easy as possible for users to do this, without requiring compilation, installation of JAR-files or DLLs, and certainly not require the installation of complex memory-hungry application shells that are only suited to programmers!
To date, we have achieved much of what we set out to do. The latest Modeler version has pushed the envelope further, especially around the provision of role-based perspectives and simplifying how the tool can be used by a variety of users.
Modelpedia enables our Business Management System approach. It is both a set of repository services and Web 2.0 interface for model content. It has been designed using Modeler and is in fact almost 90% code-generated, based on our own Model-Driven Architecture.
Modelpedia has come a long way over the past few years. Looking back, I remember a cornerstone meeting where I sat down with Aaron Davison (our then Senior Developer, now Modelpedia Product Manager) wrote up a product vision. We quickly gained the support of not only the key decision makers within the company, but also from many of our largest customers. This has led to the product we have today, and a platform for the future.
Behind most ideas are influences. Some of the main ones for us came directly from repositories and object databases – not just the advantages, but also the pitfalls to avoid with this kind of technology. I wanted to use an environment where items are free to roam, updated by many people and for them to have explicit relationships, rather than being sterile rows in mindless tables. This environment was not simply a database then, but something that had database-like capabilities along with an integrated toolset that included diagrammatic capabilities and even animation.
Following on from this, in order for organisations to get real benefit from a software environment, we needed to provide an enterprise-class platform that is scalable. This includes the ability to version control model content, provide configuration management facilities and have good control over user-defined metadata. Just dumping content into a database was never going to be a solution for this. We needed something that was intelligent, that would save people time and effort, as well as take advantage of Internet protocols and integrate with other services. It is this kind of thinking lead to the technology behind Modelpedia.
Modeler and Modelpedia really just part of the story; other important facets include integration with widely used products such as HP Quality Center, Microsoft Office, SharePoint and Team Foundation Server, IBM’s WebSphere, MicroFocus’ Caliber RM and Optimal Trace; and there are others still to come. Modelpedia opens the door to a whole world of integration beyond what typically has been considered for interfaces and it may be surprising to some how far we push this envelope in the future.
Anyway, this provides some background and motivation for the future topics. Our software has always provided great benefit to customers. I am personally committed to building on this heritage to meet the challenges of a changing world where an organisation’s ability to be flexible, nimble and meet their own customer’s expectations will be a deciding factor in their success. To this end we’re not just focusing on the toolset, but how people can gain benefit from it. This has led us not simply towards providing models (in the broader sense), but also Business Management Systems.
If you have any topics you’d like me to comment on please send me your thoughts to firstname.lastname@example.org. Stay tuned for more to come!!!!