
syniqal
- November 28th, 2008
The last week has been an experience I would prefer not to repeat. On Monday, 24th November, 2008, Her Majesty’s Treasury announced a 2.5% reduction in VAT to enter into effect on Monday, 1st December, 2008, for a period of thirteen months. Implementing this change in a well-designed computer system is fairly simple: Alter a setting in one or two configuration files or a database and test for unexpected results, fixing any bugs which appear during the process. Unfortunately, a lot of computer systems are not well designed, and herein lies the source of a very major problem which is currently affecting businesses across the country.
Most of my employer’s business activities are centred on two core systems: An e-commerce website through which all our customers manage their services, and an interface which provides white-label access to our services to resellers and other service providers. These were both designed and maintained by my predecessor – a man who taught himself to programme over night with a book named to that effect. Considering this fact and the scope of the system he eventually built and managed, the code he wrote is impressive, and it does work. To an extent.
On Monday morning, I began the process of devising estimates of the length of time this VAT change will take to implement on our systems. Most of this process involved divining the amount of code that would need to be changed. Our main web servers contain 6 gigabytes of files, not including backups. This is about equivalent to a modern computer game or every piece of coursework and thesis submitted by the students of the University of Kent for the last two years. Of these files, about 200,000 contain code which is of interest to me. This is an extraordinary amount of files, to the extent where I actually re-checked the results I was getting five times.
So, after working out how many files were relevant to the problem at hand, I did a search of these files for “1.175” – the number by which a cost is multiplied to append VAT to it. The number of results returned by this search made me want to curl up in a ball and hide. Of those 200,000 files, two thirds contain that value. Half returned matches for “0.175”, and another quarter contained “17.5%”. All of these values, and the countless other combinations in which 17.5% was expressed in our system, need to be changed to reflect the new rate, preferably in a manner which is easily updatable in the future when the rate changes again.
That the VAT rate is written directly into files at all is unforgivable. That it is done so in so many different ways is even worse. I have spent most of the last three days hastily scouring this code and replacing the hard-coded VAT rates with something which we can control globally for all our software. It is now Friday, 28th November, 2008, and I am having to put live code which is not ready for deployment or properly tested because, if we don’t have it done today, we will be charging our customers 17.5% VAT on Monday, and that way be dragons.
It seems the one thing which Alistair Darling and his team failed to take into account when deliberating this VAT cut was the amount of time it will take businesses and software engineers like myself to implement. I have lost the last five days’ development time to the VAT change – time which neither I nor the company for which I work will be able to get back. This time could have been spent fixing other, more serious problems with the system, or developing new features which we will need to offer our customers to remain in business through the recession. Instead, we are hurriedly implementing a poorly tested solution to a problem which never should have existed because of a lack of notice that it would need to be changed.
To date, the VAT change has cost this company £2,500 in development time across my team and has taken 100 hours of our time, not including lost lunch breaks and unpaid overtime from when we’ve stayed late into the evening to work on this issue. There will be problems with invoicing and billing for at least the next two weeks as we iron out the remaining problems in the system, and this will require time from our Accounts department as they manually process refunds and re-calculate order totals to make up for the errors in the code. The true cost of the VAT rate change will not become apparent to us until well into next year.
All over the country, people like me are reaching for the headache pills and preparing for a long week and weekend of late nights. By the time this rate change is complete, I believe it will have cost this company more than it could possibly make us through new and continued business.
Oh, and how long do I think it would take to properly change the VAT rate in our system? Fifteen working days. That puts the VAT change date on Monday, 15th December, 2008. Thanks, Darling.
© Benjamin Nolan, 2008.