At Linkurious we have worked with 100s of organizations interested in using graph technology to solve complex problems such as financial crime, drug discovery or national security. Like with any new technology, graph projects generate their share of issues when not properly conducted. In this article we’d like to share some of what we have learnt.
This article covers the main common steps in graph projects, their associated tasks and who they involve. The project described here involves Linkurious but could involved another tool. The recommendations here are purely indicative and by no means meant to be used as strict rules.
Here are our suggestions about the 4 steps of graph projects and the people who conduct them.
The perfect team
In graph projects, there are generally 4 distinct roles that need to be filled:
- The graph champion or project manager who is responsible for running the project
- The end-users who are the ultimate users of the future solution and responsible for evaluating it
- The graph expert who has the technical know-how necessary to implement graph technology
- The IT expert who has knowledge about the organization’s IT landscape
- The decision maker who is usually in charge of setting the project’s objectives and making the decision regarding its final approval
A single person may have one or multiple roles. An IT expert can also act as a graph expert for example. It’s usually useful though to identify within the organization who can fill each role and make sure that no role is left out of the project. Running the project without the end-users for example can only lead to troubles when the implementation comes.
Projects that are well prepared are not guaranteed to have a positive outcome but projects which start with unclear objectives are certainly less likely to succeed.
During the preparation stage, there are 3 main tasks:
- Defining the project’s objectives: this requires describing what outcome should the project achieve and if possible identifying some concrete KPIs based on which to evaluate the end result.
- Defining the requirements: based on the project’s objectives, what key functionalities are necessary? What IT infrastructure needs to be available? These questions need to be asked to identify potential constraints (the availability of servers, the security policy) and to know what exactly to check during the evaluation.
- Defining the project team, budget and milestones: once there’s a good understanding of the objectives and requirements, it’s time to define how to address them. Does the organization have the right individuals to fill the roles involved in a graph project? Is the budget for the project compatible with the costs of the solution? Finally, what calendar to put in place for the next phases of the project?
The project sponsor should be the one defining the project’s objectives. The end-users and IT are usually the ones defining the requirements. The project manager is defining the project’s team, budget and milestones by collaborating with all the stakeholders.
At the end of this stage, there should be a definition of the business problem and KPIs, high level functional requirements, high level IT requirements, a project team, a budget and project milestones.
This can be accomplished with one or multiple workshops. It’s usually good to have one workshop with all the stakeholders to validate the final result of the project’s preparation phase.
Once the project is launched, it’s time to setup the graph solution. There are a few things that need to be accomplished:
- Gathering data source(s): what data will be part of the graph? It’s necessary to identify the relevant data sources and get access to them. Sometimes there will be a need to clean the data if it’s not ready to be used
- Modeling data as a graph: based on the available data sources and the business requirements, it’s time to define how to structure the data as a graph. What will be the nodes, relationships and properties?
- Setting up the infrastructure: the software will need to be installed on a machine. Is a laptop enough at first? How to size the hardware based on the data size and the analytics workloads?
- Setting up the graph database: in order to store the graph data, you need to choose and install a graph database. Which one makes sense for your context?
- Importing data into the graph database: now that the server, the raw data, the graph model and the graph database are available, it’s time to actually create the graph. This requires importing the raw data in the graph database based on the graph schema.
- Setting up Linkurious Enterprise: time to install Linkurious Enterprise and do a first round of configuration. Before installing the software, pick your search strategy. After Linkurious Enterprise starts for the first time, pick your style settings and add users
The setup phase mostly involves the technical part of the project team. The IT expert should collect the raw data and set up the server. The graph expert can model the data, setup the graph database, import the data and setup Linkurious Enterprise.
At the end of this phase there should be a live Linkurious Enterprise instance connected to a graph database populated with data.
It’s usually a good practice to setup one review session at the end of the setup stage to make sure the solution works according to the expectations.
With the Linkurious Enterprise set up, the actual evaluation can start. This means:
- Running initial tests: the project manager and/or a couple of end-users can start using Linkurious Enterprise to start validating the requirements and identifying potential issues.
- Adjusting the setup: the feedback from the first round of tests can lead to many adjustments. Maybe there are some other data sources which are necessary to achieve the objectives? Maybe the data should be modeled differently to be comprehensible? Maybe the server and software need to be changed to address performance issues? Maybe the Linkurious Enterprise configuration can be tuned to better suit the business needs?
- Setting up advanced features: this is usually the time when it makes sense to get into the most advanced features of Linkurious Enterprise. Are there some investigation workflows that can be automated via alerts or query templates? What access rights and security make sense? Is there a need to integrate the graph capabilities within other apps?
- End-user training: in order to prepare the end-users to evaluate the software, it’s necessary to conduct some training
- Final testing: with the users fully prepared and the solution it place, the final round of testing can happen
Adjusting the setup and configuring Linkurious Enterprise is the graph expert’s work. The project manager and end-users are involved in the training and tests.
At the end of this stage the graph solution should be fully implemented, the users should be familiar with it and feedback about their experience should be collected.
In practice, for the testing phase to be successful it’s important to cultivate agility. The end-users’ feedback can drive rapid iterations on the data, the data model or the Linkurious Enterprise configuration.
With the end of the evaluation stage, it’s now possible to compare the feedback with the initial objectives and KPIs. Everything accomplished so far can lead to a decision, negative or positive, which can be made quickly and with full information.
This is also at this stage that prior mistakes or oversights can show up. Maybe a key requirement wasn’t identified? Or some feedback hasn’t been addressed in the way the solution was configured? This can lead to delays or to a decision based on insufficient facts.
Hopefully this article should give you an idea of the people and phases involved in a graph project. Feel free to reach out if you have any questions!