by

The Seven Deadly Sins of Enterprise Software

Reading Time: 4 minutes

In July of 2019, I was given the opportunity to speak at SDL Connect, which would be taking place in October.

We debated a bit at EXLRT on what the topic should be, but we finally settled on, “The Seven Deadly Sins of Enterprise Software”

Settling on the topic was easy enough, but then we had the task with coming up with the content.

So, instead of drawing inspiration from Roman Catholic Tradition, we decided to take some inspiration from Urban Dictionary, instead.

What I’d like to do is share a brief synopsis of the sins, and how they might relate to enterprise software. I’ll eventually expand on each “Sin” in detail in their own separate articles.

You can watch the video here, if that’s your thing

What’s the goal here?

Really, I had three goals in mind with this presentation:

Share

Give you an example or two of what the “sin” looks like in real-world businesses. No analogies, metaphors, or fables. Actual cases of the “sin”

Believe

Talk through why this mistake was harmful for the business and how it affected business at an enterprise level.

Repent

The word for “repent” in the original Greek meant something more akin to, “turn and go the opposite way.” In the business software sense, we’re talking about “course correction,” e.g., what could we do after making this mistake and recognizing it’s bad for business.

Bleeding Edge-ism

(Ab)using the most cutting-edge technologies until it leads to bleeding

You’ve got an enterprise level CMS, like SDL Tridion. You decide to build your corporate website using Gatsby.js, which is a static website framework built on React. Because of how publishing works, and how Gatsby sites build, every time you republish a page, the entire gatsby site rebuilds.

Course Correction

Technology is a too, not a solution. Build things that solve problems you have, don’t build things because the tech exists. If you think there’s a super cool new tech, try small, lightweight POCs.

Data-Hoarding

Collecting more data than you actually need

Add Google Analytics, Adobe Analytics, entrance surveys, exit surveys and a few others to your static brochureware site. Now you’re having to throw up GDPR notices, but no one actually even knows why you have to. No one even knows if anyone’s looking at the data

Course Correction

Data doesn’t answer questions you’re not asking. First figure out what questions you have. Then implement data capturing tools that will get the answers you need.

Software Negligence

Neglecting to keep up with software, not doing hotfixes, patches, or general maintenance to keep software running well ed

There’s over 50 hotfixes or patches to Tridion that need to be applied. Because it’s so many, applying all of them would be too time-consuming, so none get applied. Now bugs are impossible to diagnose.

Good habits are hard to keep. Software maintenance is a habit.

Invest in cloud-based solutions or budget time and money on a quarterly basis for keeping your implementation up-to-date.

Copy-pastaphilia

Copying well-known experiences and pasting them into your own brand regardless if those experiences make sense for your users.

“We’re not really sure how to design our search. So let’s just use the search style that Amazon uses”

Ummm. No. Don’t do that. Amazon sells over a million products and they have to support IE7. We’re a static site with a B2B model. We don’t have Amazon’s problem.

Course Correction

Paraphrase, don’t plagiarize.

Some companies do come up with creative solutions to their experience problems. First evaluate if you have a problem similar to theirs, and then take inspiration from the solution and apply it to your own problems.

First-paging

Basing decisions on the first page of search results or the summaries of Gartner and Forrester reports

A single review on Gartner says that SDL’s partner ecosystem is weak, so you question the SDL ecosystem

Course Correction

Internet content is written for short attention spans and hidden agendas; there’s always more to the story and it’s rarely the whole story.

Go to conferences, dial in to presentations. Read Blogs. Reach out on Twitter. Join a Slack workspace. Go to a Stack Exchange site.

SDL is a great example of an amazing partner ecosystem. There are partners in every corner of the social media space sharing info. But I could give you examples for Node.js, Webpack, heck, even databases! Get info from people, not just the people who are writing articles on the internet.

Baby-Giraffing

Always picking the lowest-hanging fruit. Choosing the cheapest tools and fastest shortcuts possible, even if they aren’t the best ones for your requirements.

I had a client that needed to get an internal facing site out the door yesterday. We were in the process of implementing their public Tridion site, but this needed to go ASAP.

So I implemented a WordPress site for them.

They were a Java and IBM shop. And I just implemented an open-sourced CMS written in PHP, using MySQL, and hosted in Apache. I was the only person that knew any of these technologies and I had just a one year contract with them. I baby-giraffed the implementation.

Course Correction

The low hanging fruit is fine while your growing, but if it becomes a habit it strains your neck

If you have to use less-than-ideal technologies, don’t make your whole stack less than ideal. Implement software that has at least some commonalities with your tech stacks.

Bandwagon-driven Development

Developing something because that’s what everyone else is doing

“Hey, should we be using blockchain?” — Real words spoken in a meeting where a friend of mine works. He works at an oil rigging company.

He’s in marketing.

The person asking the question was also in marketing.

Course Correction

Don’t develop on a technology just because everyone else is.

If they jumped off a bridge, would you?

(in web development, the answer is, “No. I’d build my own bridge inspired by theirs and jump off that. It’d be 15% taller and more reactive”)

Technologies are the tools, not the solutions. Unless you have a problem that the tech solves, you don’t need the tech.

<plug class=”shameless”>

I sometimes get emails or DM’s from folks through Quora, Twitter, or even my blog asking if I can do front-end work for them. I don’t have time for side projects, and also, EXLRT, my employer, would very much like me to stick around.

Of course, you could ask EXLRT to provide a whole slew of front-end devs and we’d knock it out of the park. But that doesn’t really help if you need just one good front-end dev.

So there’s another way: over at TopTal, they’ve got a great writeup on how to hire a good front-end dev that won’t lead you astray. If you need a good front-end dev, check out that article.