The Template Trap
Design and development should never take a break.May 3, 2022
Never Stop Innovating
Here’s a typical scenario; you spend a few months and thousands of dollars creating a new website. Celebrate the launch for fifteen minutes and now, finally, you are done… forever… right? Not quite.
Here’s the thing, no matter how competitive and shiny your new web app is at it’s conception, it’s going to look dated sooner than later. Web technologies come and go. Browsers start supporting styles and methods that were just the seeds of an idea when you launched. The browsers themselves seem to get faster, while your application becomes slower and no longer stands out as a star in your industry, but instead stands out as an eyesore that you’d rather no one see.
So, what can you do? There is a good chance you have actually heard the answer before. There are a couple of terms web developers use all the time, terms you have likely heard yourself, Continuous Integration (CI) and Continuous Development (CD). You may have understood these terms, often abbreviated CI/CD, as jargon developers use to describe the devops processes by which they write and deploy code. And while that is true, CI/CD is much more than that. It has become the philosophy of constant iteration and improvement of the business processes that underlay an organization. CI/CD is no longer just for developers, IT and devop managers, but the serious work of everyone directly or tangentially connected with an organization’s operations.
Can you think of a company, or organization that might use CI/CD in their operations? Chances are, you barely notice them. Companies like SalesForce, Microsoft, and Twitter. This is especially true for open source projects. These companies are constantly improving their business applications, always. You may login to one of your favorite sites, and you may notice a new icon, or a better widget that made check-out faster, but you probably wouldn’t have realized how much things had changed, unless you saw a snapshot of this app from a year earlier. The application would appear almost unrecognizable to you. And using it would probably feel clunky and awkward in comparison. That’s because companies now never stop rolling out new improvements and features.
What am I, a Millionaire?!
So now you may be thinking, “Sure SalesForce and Twitter have millions in the bank. They can afford it.”, but actually, most any size organization can benefit from a philosophy of constant iteration and improvement. It’s actually much cheaper in the long run, and you don’t need an army of developers, and product designers to do it.
What do you think makes more sense; spending a budgeted amount on strategic improvements every month with an eye towards ROI for every iteration? Or spending thousands upon thousands, in bulk, every two to six years to reinvent the wheel? Internal studies show huge savings, when even a quarter of that budget is dedicated to consistent development programs.
The Template Trap
The title of this story refers to implementing a code base or a template that no one can change or knows how to contribute to. Software, originally developed to streamline and solve business needs, often turn into an incalcitrant monolith which has become a chore to so much as look at. In my experience, this is due to a kind of involuntary buy in, which is what happens when a business owner/executive is forced to put blind trust in the people steering the decision making process. They come and go, but the legacy of these decisions can haunt us for years.
We all mean well, but we can sometimes mistake what is good for ourselves, with what is good for the company. For example, someone may know everything there is to know about Wordpress, and so reason that it is handily the best option for the company. Plus, they know a guy who can take an off the shelf template and customize it to your brand in a couple of weeks. And while this might be a perfectly reasonable first step to get something up quickly, more often than not, it lingers there for a couple years, before it is given another thought. And now, once again, you are in a position where you need to overhaul the whole thing, or start from scratch.
The New Paradigm
Building a web application from scratch is very expensive. And, if you are doing that over and over again, it adds up to a fortune, without necessarily addressing any real business need. And while continuous integration and developments may exceed original costs, every improvement decision is informed by strategy, return on investment and quantified by real data. Don’t let your staff or vendors tell you “it’s doing great!” Make them prove it.
How to Identify Areas of Improvement
If you are starting a new company or launching a new service or product, the first goal it to get that to market as quickly as possible. Don’t over think it. Do what you can and then make it better, one sprint at a time. At some point, things will be fairly satisfactory, so how do you identify what is next?
First, it’s imperative to define concise business objectives. Without them you’re a ship without a compass. Think in terms of smaller, achievable goals. Listen to your clients, your team, and listen to the data.
Try to identify inefficient processes. What is your cart abandonment level? Where are you losing them? Are you getting paid on time? Don’t let clients leave you for another service because you are not addressing their pain points.
There is almost always room for visual improvements. Pay attention to usability patterns. A ‘Read more’ button under a story, for example, may have seemed brilliant at the time, but now, people are more accustomed to the entire story card linking to the story. Can you make your navigation better? Does your app look great on any device?
Many improvements don’t even need to be visible. Are you supporting different languages? Have you thought about A11Y (accessibility)? These kinds of improvements are not just good for your clients, they also improve your Search Engine rankings. Are you using micro-services? If so, are these services fully integrated? Can you do more to take advantage of the systems you are already paying for?
What Could Go Wrong?
Complacency is the biggest enemy, but there are other things that can derail your projects. It’s critical to have a few things in place.
- Contribution should be frictionless for everyone involved (designers, developers, marketing, sales, maintainers, etc.)
- There must be an approval process in place to avoid updates that end catastrophically.
- Documentation!! Be sure contributors and project managers document their work. If your entire team leaves all at once, can another team pick it up? This is almost entirely dependent on your documentation.
- Code must be reusable – This keeps software bloat at bay, and is an important part of the documentation process.
- User push back – ’the client is always right,’ but not all of them, and not all the time. There will always be one person that doesn’t like your improvements. This is more likely than not because they feel like they need to ‘relearn’ how to use your product. If the update makes life better for 90% of your customers, that’s an update worth keeping. A few folks will just have to adapt.
- Be sure your data is portable. Never use any service that doesn’t believe your data belongs to you. Your data belongs to you. Period.
It’s a Win-Win
It is absolutely possible to keep your essential business services looking amazing and functioning perfectly. A philosophy of continuous integration and development keep business applications up to date. Constant design improvements make the site a joy to use and look at. And, implementing the tools your developers and contributors need, makes your business applications a joy work on.
In the long run, you will benefit from lower IT costs, and avoid losing customers. You’ll be able to react faster to your competition, and more importantly, the needs of your clients.
Photographs by Annie Spratt on Unsplash