O'Reilly logo

Real-World Maintainable Software by Abraham Marín-Pérez

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 4. Ten Real-World Use Cases

Perhaps the most important takeaway of this report is the fact that the Ten Guidelines aren’t just a theoretical exercise. In fact, the guidelines were created after examining what made software projects successful and maintainable, and once created, SIG applied them successfully to real-life projects.

In this chapter we will see 10 business cases where the Ten Guidelines were applied successfully.

Interamerican Greece

Interamerican Greece, or IAG, is the top insurance company in Greece. In 2010, it had 1,400 employees and worked with 1,800 intermediaries to provide insurance to more than one million Greeks. But by that time, the market was beginning to change. On one side, customers wanted to buy insurance directly from the insurer via the Internet; on the other side, intermediaries wanted to have more e-commerce options. IAG responded to the challenge to become the first company in Greece to sell insurance over the Internet.

However, the increased reliance on IT to drive business exposed a significant risk: much of IAG’s IT infrastructure had suffered from years of underinvestment—some of the systems were 40 years old. Failures couldn’t be completely ruled out, and these would be directly visible to the client, which would damage their reputation. IAG needed a new strategy.

The in-house programmers had already migrated some older systems to a newer Java platform, and the main question at IAG was whether this was the right approach for the other systems. SIG analyzed the migrated systems according to the Ten Guidelines using their EC score system, giving a score of three out of five. This wasn’t as high as desirable, but it was enough to prove that the strategy was sound. Therefore, IAG set out to migrate further systems using their in-house teams but with the assistance of SIG to aim at a score of four out of five. Thanks to monthly reviews and constant communication with staff, the values of the Ten Guidelines were transmitted and applied, helping IAG’s software nearly achieve the maximum score, five out of five.

Alphabet International

Alphabet International, part of the BMW Group, provides leasing and business mobility solutions in Europe. After acquiring ING Car Lease in 2011, their market share boosted dramatically: by 2012, the combined company had more than 490,000 cars under contract in 19 countries.

One of the main challenges in the acquisition of ING Car Lease, and in any other merger or acquisition, is consolidating the IT systems of both companies. Both Alphabet International and ING Car Lease had their own applications to manage lease contracts, some of them in-house and some of them provided by partners. SIG was brought in to analyze those applications, highlighting the ones that were too tied to operations in a particular region (and therefore not suitable for a global operation), those that didn’t align with long-term objectives, and those that would become part of Alphabet International’s main IT assets. This knowledge was instrumental for Alphabet International to lay out their long-term technological strategy, and provided a benchmarking framework to assess the quality of applications as they were being modified, created, or phased out.

Port of Rotterdam Authority

The Port of Rotterdam is the largest port in Europe and, until 2004, was also the busiest in the world. It is managed by the Port of Rotterdam Authority, a public company owned by the Municipality of Rotterdam and the Dutch State. Managing port activities is incredibly complex, and until recently this was done by a collection of multiple, independent systems connected with varying degrees of luck.

In order to remain competitive, the Port of Rotterdam Authority realized that they needed a new, fully integrated solution, one that could be managed more effectively and efficiently. They named their new system HaMIS, the Harbour Master Management and Information System. Although they wanted to create this solution in-house, they realized that managing complex IT systems is not part of their core business; this added the long-term goal of externalizing management of HaMIS to a third-party provider at some point.

SIG was hired to assist in the creation and externalization of HaMIS. The Ten Guidelines, implemented in the EC scoring system, were used with a double objective. On one hand, the objective was to ensure that HaMIS provided the same level of functionality as the previous, scattered solutions. On the other hand, they also needed to provide empirical data that demonstrated the high quality of HaMIS, which could be used by the Port of Rotterdam Authority to negotiate a better deal when externalizing the management of HaMIS. What’s more, once management had been transferred to a third party, the EC scoring system could be used as part of the Service Level Agreement to ensure that the third party kept quality high.

Care Schadeservice

Care Schadeservice is the largest car repair organization in the Benelux region. Repairing cars is a labor-intensive activity, which means repair costs can easily skyrocket for even the simplest breakdown. For this reason, Care Schadeservice aimed at finding as many efficiencies as possible, creating a streamlined workflow that minimized waste. Care Schadeservice initially used off-the-shelf IT products to manage their workflow, but being the biggest company in the care repair sector, they were the first to notice the limitations of standardised products. So in 2004 they set out to create their own in-house solution, CareFlow, with a second generation of the platform coming out six years later.

SIG was involved in the creation of both generations, although in different ways. During the creation of CareFlow v1, Care Schadeservice was part of a holding company listed in the stock market, which required them to include an objective assessment of any software developed in-house; SIG, with their EC scoring system based on the Ten Guidelines, provided such assessment.

When CareFlow v2 was needed, Care Schadeservice decided that they wanted to outsource the creation and maintenance of the system but with the requirement of obtaining a product of certifiable quality. The EC scoring system was perfect for this. Care Schadeservice contracted NetRom to perform the work, and with the help of SIG established a minimum score of three out of five for the software.

Vhi Ireland

Vhi Ireland is a leading private health insurance company. Like many other companies, Vhi Ireland had a combination of systems that had evolved over decades. On top of this, in many occasions the systems had to be modified by external developers and sub-contractors, which contributed to a lack of cohesiveness in the codebase.

The situation was such that Vhi Ireland had doubts regarding the suitability of their existing IT systems for their long-term objectives; their main concern was that there could be technical issues that slowed down or even blocked development of further projects. In order to objectively measure the state of affairs, Vhi Ireland contacted SIG to perform a full assessment of their software. The end result was the creation of a new online platform, which was implemented while instilling the quality values of the Ten Guidelines to developers and senior management.

Rabobank International

Rabobank International needed a new application for foreign currency transactions by bank employees and large clients. They analyzed existing packages but didn’t find any suitable ones, so they turned to a custom-built application. Nexaweb was contracted to create and maintain the new foreign currency application: RITA.

Unfortunately, RITA didn’t meet expectations. There were constant complaints from the trading floor regarding the stability of the application, and stakeholders were unhappy about the slow turnaround of new features. Rabobank International and Nexaweb had agreements specific to the architecture and code quality, but these were too abstract to be discussed effectively. A more specific way to measure quality was needed.

With the help of SIG, the underlying problems of RITA were slowly unearthed. Fixing the architectural problems provided stability to the platform, while improving the quality of the code made it easier to work with, which lead to shorter release cycles. This, in turn, lifted pressure on each of the individual releases, since a feature missing a particular release would soon be included in the next one. This ultimately increased confidence in the platform, allowing it to be deployed globally.

Ministry of Infrastructure and Environment in the Netherlands

The Ministry of Infrastructure and Environment in the Netherlands is responsible for, among other things, the electronic annual environmental report (e-MJV). This report includes, for each company in the Netherlands, the total amount of harmful substances they have released into the water and air. These reports are then sent to the National Institute for Public Health and the Environment, and from there to the European emission register. This way, the Netherlands can make sure that they comply with international environmental agreements such as the Kyoto Protocol and the European environmental agreements.

Up until 2000, all the reports were obtained through paper forms. Since this was too inefficient, a desktop application was created so that companies could report these details electronically. The desktop application worked well for a few years, but then its architectural flaws became apparent: making sure that the right version of the application was being used on all computers was administratively costly. A web-based second generation was therefore commissioned.

However, this second version was rushed out due to legislative deadlines, which affected the end result. The application was slow, the interface wasn’t user-friendly, and the system was buggy. Many changes were needed to bring the application to acceptable levels, and there were doubts about whether the state of the code would allow for such changes in a timely manner.

In order to understand what the best way to improve the application was, SIG was contacted to analyze e-MJV and provide an assessment of weaknesses. Thanks to the Ten Guidelines, SIG was able to indicate that the code was of average quality (three out of five), and summarize the main issues within it. A decision was made to address the most important ones until the code quality achieved a score of at least four out of five, the level at which e-MJV could be considered maintainable. After this point, working with e-MJV became much easier, changes were performed faster, and the future of e-MJV seemed safer.

ProRail

ProRail is responsible for the maintenance and operation of the rail network in the Netherlands. The Netherlands might be a small country, but it boasts an incredibly busy rail network: 6,500 kilometres of track, 3,000 crossings, 4,500 kilometres of overhead lines, 8,600 railroad switches, and 390 railways stations. On top of this, the Netherlands is home to Rotterdam, where the largest port in Europe is located. This indicates the level of passenger and freight traffic that the Dutch rail network has to support.

Being responsible for the maintenance and operation of the rail network means that ProRail needs to control every single aspect of the infrastructure. In order to achieve this, ProRail makes use of technical drawings that describe each aspect of the infrastructure: a signalling drawing shows the different signals, an overhead drawing shows the structure of overhead power lines, and so forth. The administration of these drawings was a source of problems for ProRail for two reasons: one, most of the technical drawings were managed manually on paper; two, the different types of designs risked imposing restrictions on each other and often these restrictions weren’t apparent until the installation was being performed, leading to delays and extra costs.

To fix this, ProRail made use of the services of LOXIA, who developed a new software to manage the drawings electronically. However, the responsibilities of this new software were far-reaching: security, safety, operational costs—there was a lot at stake. ProRail needed to ensure the software was of the highest quality, and SIG was employed to help with the quality assessment. SIG’s score system based on the Ten Guidelines acted not only as a way to measure the quality of the software, but the score itself served as a motivating catalyst among staff. Now ProRail can easily share electronic designs with operators to assist them in creating timetables for their trains while employees keep a vigilant eye over code quality for reliable results.

ING Bank

ING Bank is a global bank with a presence in more than 40 countries and a workforce comprising more than 75,000 people. For any company this big, constantly adapting to new practices and techniques is a matter of survival. ING Bank had already performed a transformation towards Agile development, but then they needed to take it one step further to institutionalize code quality beyond the scope of the team.

Work started with their Mijn ING website, a product with which more than 40 teams are involved. Each team curated its own code to make sure the quality was good from a local perspective, but there were fears of cross-team inefficiencies. To solve this, SIG was brought in to perform a holistic analysis. As we have seen, the Ten Guidelines also cover overarching architectural concerns, and this enabled SIG to pinpoint weaknesses that were invisible to the individual teams. Thanks to this, ING Bank was able to provide higher transparency regarding the quality of their software and, therefore, a better vision for senior management on the overall status.

Nykredit

Nykredit is the largest credit company in Denmark. Mortgages and commercial banking activity make up the core business of Nykredit, although they also offer personal pension plans and insurance. They also lead the way in Internet banking, having received the award for “the most digital company in Denmark” in 2010 and 2011.

By 2010, it became apparent that they had outgrown their IT infrastructure. The monolithic IT solution that Nykredit had hitherto used was aimed at small- and medium-sized banks, and it was time to move to a new, more tailored solution. Nykredit decided to use Finacle by Infosys, but with an important number of customizations. They were planning to employ 150 people over five years for this project, and they needed a way to make sure their investment would go in the right direction.

SIG helped Nykredit create their own quality assessment tool: Nykredit Quality Tooling, or NQT. NQT analyzes all the Java code written by or for Nykredit, highlighting portions that violate the Ten Guidelines or other quality metrics established as part of their agreement; this flagged code is reviewed by software architects before a final report is produced for senior management. Thanks to this, Nykredit has been able to gradually deprecate their old platforms and substitute them with the new software.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required