Hacker News new | ask | show | jobs
by throwaway_12l4 2926 days ago
> Is it money, fear or gatekeeping that keeps these VBA programs untouchable?

I was involved in work with a regional financial institution. They had a suite of line-of-business apps written in Access and VBA.[0] This was in a pure support and maintenance mode. This series of apps was written over the course of a decade by one developer nee business user. It represented a literal Great Wall of Chesterton.[1] There was so much process and institutional knowledge tied into this suite and the original developer left after being absorbed into the IT organization.

Some fun observations from work that was done on this suite of applications:

- "We can tell where the original developer learned various programming techniques and when something was written based on that."

- There was a source control and deployment app written entirely in Access DBs and VBA

- There were two scheduling applications, one designed to replace the other, but the first never fully retired. These launched jobs based on dependencies and timings.

- The applications ran in Access 2010. No upgrade was possible due to observed breakages when attempting to change.

- A Windows security update caused an outage for a day.

- Some data was centralized into a SQL Server instance and Access was a thin app layer on these tables. Others held data in the Access database.

- Different apps could reach into and run arbitrary queries on data of other apps. This was sort of RPC. Huge spooky action at a distance.

- There is a ticking time bomb based on Access database size limits. They run compaction jobs on a regular basis, with increasing frequency. One of the core apps will simply stop working one day in the not so distant future when its database cannot be compacted to be smaller than the Jet engine limit of 2GB.

I mentioned that this thing was in perennial support and maintenance mode. There were several assessments over the years for a migration to .Net. All were eventually scuttled due to cost and fear of functionality shifts. No one knew if what was there was correct, and some of the bugs we fixed demonstrated that there was plenty that was incorrect, though scope and impact were difficult to measure. No one wanted to own a migration due to the likely fallout. Different would be wrong, even in the face of huge evidence to the contrary. A C-suite executive was ousted largely over this suite of applications. The Access lives on.

Eventually a migration, in part or whole, will be necessary. It will be expensive. It will be painful. Each day increases the expense and pain. But every day, it is cheaper and easier to run and maintain.

[0] This thing hit commercial and customer facing processes, internal things like HR, letter generation, asset management, and basic reporting, among other things.

[1] See: https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence

Note: Throwaway because of the level of detail