LaForge's home page (Posts about corporate)https://laforge.gnumonks.org/blog/tags/corporate.atom2022-06-21T07:49:57ZHarald WelteNikolaDeutsche Bank / unstable interfaceshttps://laforge.gnumonks.org/blog/20151030-deutschebank_fileformat/2015-10-30T00:00:00+01:002015-10-30T00:00:00+01:00Harald Welte<p>Deutsche Bank is a large, international bank. They offer services
world-wide and are undoubtedly proud of their massive corporate IT
department.</p>
<p>Yet, at the same time, they fail to get the most fundamental principles
of user/customer-visible interfaces wrong: Don't change them. If you
need to change them, manage the change carefully.</p>
<p>In many software projects, keeping the API or other interface stable is
paramount. Think of the Linux kernel, where breaking a
userspace-visible interface is not permitted. The reasons are simple:
If you break that interface, _everyone_ using that interface will need
to change their implementation, and will have to synchronize that
with the change on the other side of the interface.</p>
<p>The internet online banking system of Deutsche Bank in Germany permits
the upload of transactions by their customers in a CSV file format.</p>
<p>And guess what? They <a class="reference external" href="https://twitter.com/zecke42/status/656400812273364992">change the file format from one day to the other</a>.</p>
<ul class="simple">
<li><p>without informing their users in advance, giving them time to adopt
their implementations of that interface</p></li>
<li><p>without documenting the exact nature of the change</p></li>
<li><p>adding new fields to the CSV in the middle of the line, rather than at
the end of the line, to make sure things break even more</p></li>
</ul>
<p>Now if you're running a business and depend on automatizing your
payments using the interface provided by Deutsche Bank, this means that
you fail to pay your suppliers in time, you hastily drop/delay other
(paid!) work that you have to do in order to try to figure out what
exactly Deutsche Bank decided to change completely unannounced, from one
day to the other.</p>
<p>If at all, I would have expected this from a hobbyist kind of project.
But seriously, from one of the worlds' leading banks? An interface that
is probably used by thousands and thousands of users? WTF?!?</p>