Ruminations

A lot happens before ideas become solutions.




At ElixWare we want to bring you more than just great, affordable software. We want to let you know how and why we do what we do.

Our Ruminations blog will bring you insights into how we got here and some of the things we consider when trying to help you run your business. We hope it gives you a better understanding of how we strive to better serve your needs.

A Little Hymn

A parable about code

From A Humble Seed
Occasionally our intentions are surpassed by what we accomplish. We may set out to do something specific, or something small, but sometimes it can take on a life of its own.

I'm currently reviewing a software package we developed years ago. It's being migrated to a new server and will get some updates in Q1 23. This codebase actually started as a small task back in 2014. It was simply designed to meet a client's need to transfer a specific kind of data to a partner company. It eventually evolved into a large project that is now a foundation of their daily operations. I like to say we built the car while we were driving it, which is just how it happened.

It started off small and became something larger than any of us ever imagined.

A Little Hymn
I'm reminded of how Simon & Garfunkel's "Bridge Over Troubled Water" came to be. It was originally written by Paul Simon as "... just a little hymn". But Art Garfunkel and producer Roy Halee wanted it "... to be bigger." Eventually Simon yielded, wrote an additional verse, and their most successful song was recorded. This quintessential Simon & Garfunkel song won four Grammy's in 1971.

You can watch the "The Story Of Bridge Over Troubled Water" on YouTube.

Legacy
I'm not comparing our code to "Bridge Over Troubled Water". But the project has become the largest, most complex and most used software package that we ever developed.

I know this all sounds like a small project that escaped its pen and careened out of scope. And in some sense, that's exactly what happened. But this was a situation full of unknown unknowns, and our initial code was just meant to patch a simple need. A bandaid, nothing more.

Once this "patch" was in place a lot of other simple needs started to become visible. And so, this journey began.

The original user interface is still in place, but after all this time it looks dated and limited. That's one of the changes that are coming next year. Newer systems we've produced for this client have a different look and feel, but this legacy system is still used more than everything else we've done for them combined. So, we're planning a facelift that we hope will provide more functionality without sacrificing any of the current features.

Reflection
While reviewing the code to add some compatibility updates, I've stumbled upon a conversation with myself. Back when this was originally developed, I wrote messages in the comments to Future James (or whoever would be maintaining this code). These comments explained why some things were done a certain way. Part of it was due to partner requirements, some due to limited resources, and some because of the client's specific preferences. It's an interesting and entertaining trip down memory lane.

Unlike some legacy systems, the core of this one is still essential to the client. The time and effort to update software, without adding any major features, isn't always embraced. But we all agree that this is a necessary step to extend the life of this system until at least the end of the decade. Any updates will also improve the codebase to make it easier to maintain moving forward and to look less like the car pieced together by Johnny Cash in "One Piece at a Time".

Also, I'm sure we'll be adding more messages to Future James while we're at it.

prev post: R is for Ransomware

next post: Internet Voting


more posts by this author

more posts in this section

Contact Us

ElixWare Software Solutions
solutions@elixware.com
P: (859) 644-2771

Social

About Us

We are a small team with a lot of experience, specializing in software development, design, and workflow, process & project management. We are fiercely dedicated to helping you do what you do best — run your business — without getting bogged down in the mountains of paper and hours of screen time required to do it. We are equally dedicated to protecting your privacy and your data. Learn more about our privacy policy.