Yes, you can have continuous delivery without DevOps. To understand why you wouldn’t want to, follow the journey of Sofico from its CD of olden days to its CD rooted in DevOps today.
A Very Brief History of Sofico
Its founders started Sofico 27-years ago as a small family company. Today Sofico is a multinational organization with approximately 170 employees. Sofico creates software for automotive financing, leasing, and fleet and mobility management. “We create software for companies that manage all aspects of leasing a car to, say, an employee for example, in case you get a car from your employer,” says Jan Swaelens, Software Architect & Member of Solution Management, Sofico.
Sofico offers its customers websites where they can configure and quote the car they want from their boss. Sofico also creates back office software that processes orders and contracts and supports billing and accounting functions. “We offer a complete solution, which you could compare to a large ERP system like SAP, but specifically for the leasing sector,” says Swaelens.
Sofico CD, Sans DevOps
Sofico started out using CD / CI approaches about seven years ago, first migrating its old systems to do CI for software delivery. “We were using really ancient things like batch scripts to do our software builds and Windows timers to schedule them,” says Swaelens. Sofico took a lot of manual steps in deploying software.
Sofico used Waterfall development methodologies, moving step-by-step through the development process in small chunks. The process was not interactive. “We had separate departments for the analysts, for the designers, with developers working solely with other developers, testers working only with testers, and business consultants working only with other business consultants,” says Swaelens. Sofico moved the work from one silo to the next, with several silos literally isolated by differing geographical locations.
The Challenges of Manual CD
This configuration of continuous development presented several challenges. “We had problems getting software done on a reasonable time scale. It took quite a while to get software built in the first place. Deployment was another matter,” says Swaelens. The quality assurance processes were manual, which created issues for large projects that required a lot of changes in short time periods. The CD process led to many functional and performance errors. “We had some serious technical regressions that caused malfunctions in the products,” says Swaelens.
Staff in one group would return work to its originating group. Development would return work to the consultants who had created bad specifications. Operations would return work to development because it didn’t work right. “The customer bore the cost of these mistakes because his issue or feature either wasn’t done correctly or wasn’t done on time,” says Swaelens.
These homely CD processes also affected Sofico in its growth into other countries. Sofico had to grow fast to gain momentum and succeed at its new locations. It was difficult for the company to pull all the knowledge necessary to work with those processes together fast enough to keep pace with its large projects to make sure those took off so that its new locations could thrive.
Sofico In Search Of Something Better
Automating stuff is one thing; getting people to work together efficiently is something else, according to Swaelens. Sofico was looking for a way to improve how its people worked as an organization. It was important to make customers happy, and to make employees happy. Working in those silos reduced people’s enjoyment of their work because they were stuck in one kind of job doing only one thing. “We hoped that switching to DevOps would also give them more rewarding jobs,” says Swaelens.
Sofico also wanted to improve software quality by automating an increasing number and types of relevant tests such as testing for software performance. Delivering software functionality was not enough for Sofico. They wanted to guarantee internal and external software product performance to their customer. “In our market, that is very important. It directly impacts their end customer in a very visible way,” says Swaelens.
Sofico sought faster go-to-market time, too. When under the old processes the customer called Sofico asking for a new feature set, Sofico had to reach out to each and every silo more than once with communications back and forth whenever there was not sufficient clarity about project requirements. “The advantage of what we were trying to achieve was that it would reduce the time required when crossing those silos just to get the right answer and to secure the prospect of project delivery,” says Swaelens.
To learn what Sofico did to achieve DevOps nirvana, come back and read part two of “Sofico Adds DevOps Approaches, Updates CD”.