1: It must have a repository (a real repository)
Many tools can create drawings, e.g. Visio, but for a modeling tool to be efficient, it must have a repository to save, reuse and analyze the objects that is being created on the drawings. The repository makes sharing models and objects between multiple users possible. Also sharing of objects and the re-use of objects across different models is possible.
The repository must be based on meta-model defining the different possible relationships between objects.
2: The meta-model must be extendable
Modeling projects are always different from project to project and from company to company. Having a meta-model that can easily be extended is crucial – with new relationships or objects. Extending the meta-model should be easy and preferbaly done in a graphical way by using models in the modeling tool.
3: User friendly interface
In order to create models efficiently it’s important that the interface is user-friendly, making it easy to re-use and insert, e.g. by using drag and drop, objects in models.
4: Out-of-the-box frameworks
The tool should have out-of-the-box frameworks like TOGAF, Zachman, NAF, DoDaf etc. making it easier for a user to start-up a new project.
5: Importing and exporting data
Most projects, at least Enterprise Architecture projects, start by importing a long list of data, e.g. Applications, Services, and Capabilities etc. into the repository. This import should be done in an efficient way preferably directly from tools like Excel, since most of the needed information is stored in Excel list, before companies are taking a repository based tool into use. Also exporting information from the repository into list in Excel is also a needed functionality.
6: Visualizations of models
Models are created and communicated most efficiently by using graphics and drawings. Most often the information stored in the repository has to be presented to non-technical stakeholders where diagrams is quite often the best way of communicating.
7: Analysis capabilities
The value of a modeling tool is no longer coming from creating drawings and models, but from extracting and representing information for different stakeholders. Being able to analyze different aspects of data in the repository, is today perhaps one of the most critical capabilities in a repository based tool.
8: Quality of Data
For users to find the models and information extracted from the repository credible, the data quality in the repository must be high. To achieve this, the tool must have good technical reporting capabilities as well as good search capabilities. Search capabilities is also crucial for making sure that objects and building blocks can be re-used across different models. It’s no good to enter a lot of information into a repository if the data cannot be found again when needed.
9: Interfaces to other tools
No tool is an island – and this goes especially for modeling tools that are quite often depending on information stored in other tools. A modeling tool should therefore support interfaces to other tools like ERP systems, CMDBs etc. preferably by having a strong API making these interfaces possible.
10: Good vendor support
Maintaining and supporting an Enterprise Architecture repository is a serious ongoing business. Having a credible vendor support, with a roadmap of regular updates is crucial. New methods, frameworks and solutions are constantly popping up, and having a good vendor that, based on a vast experience, can distinguish what is sound and what is not sound to put into the roadmap is important.