Building platform-based applications, breaking down the monolith
We at DNV GL are on a journey to transform our suite of world-class products that are currently deployed as unique desktop applications to a platform-based Pipeline ecosystem of interacting business applications. Hold on – that’s a very buzzword compliant statement, so let’s break it down.
Business Applications versus a Multi-purpose Monolith
If you google ‘business apps’, you’ll likely find results that reference SAP, SalesForce, Oracle, and similar large-scale enterprise applications that help large (and small) companies run their businesses. In these examples, the applications cover a broad range of business functions ranging from human resource management to finance, client resource management, inventory control, and so on.
In the context of our Pipeline Ecosystem, I’m referring here to those business applications that assist our clients in carrying out functions that ensure the safe and efficient design, management, and operation of their pipeline assets.
Traditionally, we have built and deployed our products as single, multi-purpose monolithic applications in which the same application is used to support a wide range of business functions. I am casting no shame or negativity in this statement. We are extremely proud of the world-class, market-leading solutions that have stood the test of many technology generational changes over our 50-year history. Our designers and engineers have over the years discovered numerous innovative techniques for overcoming the limitations imposed by accessible and affordable computing machinery available to our end users.
But our clients continue to ask for new features and capabilities. The industry continues to face new problems requiring advanced analytics and automation. Pipeline networks are becoming more and more complex, and the computing resources to model and simulate them are increasing. Realtime information, sensor data, and IOT-related devices are producing an enormous amount of data, that if harnessed and properly analyzed, can provide new insights into the state and condition of our pipelines and networks. Continuing to expand the monolith to respond to these challenges is not an option – either from a software architecture and maintenance perspective, or from an end-user usability perspective.
Platform-based applications – the way forward
Our strategy as we embark on this transformational journey is to break down the monolith into a series of purpose-built business applications. The goal is to provide our clients with easy to use, workflow oriented solutions that address specific tasks or problems. We believe that this design philosophy will make our end users much more efficient – and proficient. Our clients tell us it often takes years for an engineer to become an expert user of our technology. This is perhaps due to the wide range of tools and configuration settings one must learn, understand, and retain to perform certain specialized tasks. The aim of the business app is to eliminate, or at least minimize, the number of repetitive configuration actions required of the user, walk the user through the process, and present results in a manner that delivers real insights. User proficiency should be greatly enhanced – especially for inexperienced users as well as experienced users performing those tasks or studies that are executed on an infrequent basis.
Extended benefits of platform-based applications
Designing and deploying business focused platform-based applications offers extended benefits that may not be readily apparent to the end-users. I’ll offer a basic example. All applications must undergo rigorous testing and verification prior to release. For monoliths, all combinations and permutations of configurations and functions must be regression tested for each release – a huge undertaking, both resource and calendar-wise. Any delays in development or testing in any single function, will impact the availability of the entire application to the client – even if they are not interested in any new functionality being released. A point solution business app, on the other hand, need only be tested and certified for its specific functionality. The testing period is significantly shorter, and it can be released independently, which in turn gets it into the hands of the end-user sooner. Our goal is to use these concepts in order to offer solutions that respond to new and changing market needs more quickly than in the past.
We at DNV GL recognize that transforming our full suite of desktop product functionality to a new cloud-based platform architecture is a journey that will take time. An additional benefit of ‘breaking down the monolith’ is that it will allow us to incrementally deploy apps that deliver real value without waiting for the full range of functionality to be developed and released. Our first industrial-grade app – a solution to assess the impacts of an overpressure event at a regulator station – is now in private preview phase, with many more platform-based applications in the queue to follow.
Don’t forget the experts
While simple to use business-focused apps may significantly benefit new users, we recognize that in the complex world of network planning, analysis and operations that a multi-purpose tool may be more efficient for the seasoned user’s expert daily usage. Engineering studies often require functionality that spans multiple apps. We agree, and by working with our end users to understand their needs and workflows, we will find the balance between simple-to-use and efficiency for the experts. For more information on our methodology for designing our next generation UX (User eXperience), please take a look at the Mihaela Negura’s blog post: Developing software applications that customers love.
Apps + Platform = Collaboration
The key to these platform-based applications, or perhaps, the key to these individual apps providing real business value for our clients, is that they all participate in a common platform. As Architects for Business and ICT (AE) define in their blog, Platforms and ecosystems: what’s all this buzz about?,
“A platform is the way a particular community or ecosystem is organized to interact with one another and to create value. A platform typically is focused on bringing the ecosystem together and reducing friction for interactions to take place.”
In our case, the ecosystem is related to our clients’ pipeline assets. The platform provides the basis (and reduces friction) for the apps to interact and collaborate. It also provides the basis for different users in different departments to interact and collaborate on a broad range of business tasks for a common set of real world pipeline assets.
From the end user perspective, the Pipeline Ecosystem platform should be perceived as a single environment or entry point for information about the pipeline with respect to both the integrity and risk of the physical network, and the hydraulic characteristics of the products flowing through it. The platform-based applications are the user’s conduit to retrieving, analyzing and manipulating the data in order to confidently make efficient and timely business decisions. The interactions between apps will greatly enhance the richness of the results to those junior engineers who may not have extended historical knowledge of the system.
Customers + DNV GL = Success
As we continue our transformational journey by designing and deploying purpose-built apps, we want input and direction from our user base. We are interested in your insights, and challenges as we prioritize our efforts to break down the monolith to create a more insightful customer experience. DNV GL is committed to customer success and your opinion counts. To participate in our private preview program of the platform and related apps, please drop in a comment below or write to us at firstname.lastname@example.org.