Pointed Development

Hide Complexity Within a Sexy Exterior

| Comments

Pay no attention to the enterprise behind the curtain.

It’s the same old story: You’ve worked for months to refine a product. Everything is working flawlessly: All of the pieces have perfectly aligned and (from a technical perspective) it’s amazing. Maybe you’ve been working within an agile development environment, maybe not, but it doesn’t really matter. You’ve built the engine of a Ferrari. It’s beautiful.

And now you’re about to show your beautifully architected product to The Business. They’re smart and they’re looking for a smart solution.

You enter the conference room. It’s you and maybe two or three other Technologist, plus a dozen business users. The Business has been looking forward to your product and they’re excited to finally see the results of all of your hard work.

I think you can see where this is going.

You connect your laptop to the projector and all eyes turn to behold your beautiful creation. And there it is, a single button on an empty form, the words “Run” emblazed in black Ariel against a solid, soulless gray background.

You can almost hear the sigh of bitter disappointment from the business.

You created a Ferrari engine but you wrapped it within the body of a Yugo.

Complex Software is Complex

One of the most rewarding projects I ever worked on was an application for the mortgage industry that assisted distressed borrowers with their mortgage payments. That’s a gross over-simplification, but that’s more or less what it did.

Behind the scenes, we had a legacy mainframe. We had an enterprise data warehouse. We had several application-specific databases. We had ETLs and nighttime processes running behind a very complicated scheduling application. We had multiple web services and Windows services sitting behind message queues. We had rules-based data validation and decisioning models. We had data flying left and right.

All very complex, all very robust, all very fast.

And all of this beautiful architecture sitting behind a user interface written in Excel.

That’s right, Excel. The spreadsheet application. The one by Microsoft.

It was always an interesting thing, too, to see the reaction from our client. We managed to distill an incredibly complex and useful system into something extraordinarily… boring.

Because the interface was so ho-hum, The Business couldn’t see or feel or understand the impact of the technology behind it.

That’s a problem.

Make the Time to Make it Sexy

If I could go back in time and do anything differently with that project, I’d change one thing: I’d throw out the Excel-based UI and wrap it inside a much more elegant Windows-based application shell.

I’d make it sexy.

The purpose of making it sexy isn’t to add a bunch of useless bells and whistles. Far from it. The purpose is to visually illustrate the background complexity in a meaningful fashion. The Excel UI displayed the results of a loan evaluation, but we could have done so much more with the information we had at our disposal. We could have added drill-down information, we could have exposed a lot more details on the screen in a much more elegant fashion than we were doing. Hell, even if we kept the UI in Excel, we could have demonstrated more with charts and graphs and diagrams.

But we didn’t make the time to streamline the user interface. I partially consider this a failure.

By illustrating the complexity of a system to the business in a concrete visual representation, you pull the business in: You give them more of a reason to be excited about your product. They no longer question why a “simple” change takes two weeks because you’re no longer hiding the complexity of your system behind a degenerate UI.

Schedule the time to make your product look amazing. You’ll appreciate it and – more importantly – your users will appreciate it.

Even though they never asked for it. Even though they’ll never really see the engine of your Ferrari: They’ll still see the body.

And more than anything, they’ll want to take it for a drive.