In a resource constrained world, one always looks for potential efficiencies. As the leader of both the Engineering and Geoscience development teams at IHS Markit, I focused on one glaring example: our analytical tools all had different Decline Curve Analysis (DCA) functionality that also had their own team to focus on developing the different functionalities (on top of fixing bugs, and scheduling work to enhance their product). This was the perfect candidate for our first deep dive at creating a reusable software component.
We evaluated and picked the best and most robust implementation of DCA: Harmony™ DeclinePlus. We created a small team to build this first reusable software component. A challenge the team addressed is that it is more difficult to develop reusable software components than the normal development processes our teams were accustomed to. Not only did we have to extract the code from DeclinePlus, but it had to be refactored, simplified, and made reusable.
Happily, I can say we have finished this first reusable software component project and it has changed the way we look at software development as a whole at IHS Markit. Not only are we building once for reuse (and maximizing efficiency), but we are also able to add significant enhancements to this single code base that would have never been possible while supporting the identified variations of the functionality.
Further, as we implement the common DCA into each of the identified applications that will use it (7 in total), we no longer need to question why our customer solutions provide different answers, given the same data input. Most significantly, we have removed barriers to cross functional teams using our different applications, as teams can rely on the same user interaction regardless of which program they use.
Currently, we have five reusable software component projects in progress and the development teams have enthusiastically embraced the model, namely because it saves time and effort in the long run. New paradigms take time, patience and strong management support, but I am happy to say we made it!
We now have the benefits of much more robust code, development teams interacting to share best practices in ways not experienced before, a common user experience, and a level of integration between our product lines. This translates to a better user experience to our valued customers.
Russell Roundtree is Vice President of Geoscience and Engineering at IHS Markit.
Posted 30 May 2017