Digital Innovation — Building Successful Systems And Architectures

Jan Kammerath
14 min readJan 11, 2019

--

We all know examples of everyday annoyances, awkward self-service systems and websites that just don’t seem right. We’ve all browsed retail, travel, banking websites and apps for ages just to figure out we couldn’t buy the desired product or services the way we’d expect. At the beginning of the 21st century it was accepted that some technology was just not mature enough to be used in our everyday lifes. But today? Why do so many digital initiatives and systems by so many organisations just don’t succeed, don’t work the way we’d expect or become some sort of awkward beast?

Five people in suits around one computer used only with one hand.

It is more than a decade ago that I was involved in a discussion around artifical intelligence and machine learning where someone refused to accept that the computer would make business decisions itself without a human being able to understand each decision. Hence, the system was downgraded to be a mere set of easily understandable and traceable rules than an autonomous automated machine learning system. People were reluctant to hand the decision-making process over to the machine. It was about that time when I became curious why organisations of all types seem to struggle with technology.

I’d like to share some observations I made talking to companies, their management, employees, engineers and customers about why digital projects and services for some just don’t seem to take off. Yet, Amazon, Microsoft, Google, Apple and others seem to nail it almost all the time. I hope to be able to outline some of these challenges and maybe also provide an insight on how to overcome these.

1. Missing benefit for the consumer

Out of the blue during the budgeting meeting the manager exploded: “Our customers need an App!” and continued “It should all be electronic!”. While some wonder what the cause behind this sudden interference in brain cells was, others jump aside and said “We need to become a technology company!” or “Let’s overcome our legacy business model!”. Phrases that sound all too familiar for many and often are the early beginning of technology initiatives going into the wrong direction before even starting.

But how do you start? It’s simple and can be found online on Amazon’s corporate website in their leadership principles section unter “Customer Obsession” which, to no surprise, is the first of their principles.

Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.

Successful technology projects don’t start with “Doohickey 4.0”, but instead with a fully fledged analysis of the customer lifecycle or journey. From the first contact a customer ever makes with the company until the very last contact in the customer’s life. Answering the question what role the organisation plays in the customer’s every day life and what benefit it provides.

It starts by putting yourself into your customer’s shoes, being the customer, following each possible path specific customer personas need to take with your organisation. Then identify the major ptifalls and obstacles. Evaluate their impact, their financial impact and their potential to improve your customer’s every day life. Then, only then, decide which technology to use to solve which problems or remove which obstacles.

It never starts with technology itself. Technology is not a self-fulfilling prophecy. It always starts with the customer.

No need to be a hipster: It is possible to build innovative solutions without ever growing a beard.

2. Perfect solutions and the missing problem

It is the “self-unpacking chocolate bar”, the “personalised printed newspaper” or the “bluetooth-enabled coffee cup” — awesome solutions using technology, except no one really needs them. These solutions were invented because they were technically possible, not because they solved a specific problem of mankind using technology. All too often new and exciting technologies arise and people start looking for problems this technology could solve.

Although generally deemed a bad practice to find a problem new technology could solve, it can be helpful to re-evaluate existing problems or solutions when new technology appears on the horizon.

Yet, it should only be used if the technology is really a perfect matching solution to a problem. All too often technology is used as a solution for problems where different, existing technology, might be a significantly better solution. Technology is not an end in itself, instead it can be used as part of a solution to solve a problem. Therefore successful projects begin with the identified problem and not with the technology.

3. Microinventing overhyped

When communication like “We now provide all product images in high resolution” is celebrated as an innovation then an organisation has successfully engaged in overhyped microinventions. Don’t get me wrong: it is crucial to improve and optimise your offerings continuously, but it is important to focus on the big picture. All too often those microinventions, with only a small impact on customers, are celebrated as galactical achievements.

Microinventions need to happen, but they need to happen at the right level. If, for example, the accounting department optimises it’s automated booking of payables using machine learning techniques, then of course this is an invention, but a microscopic one that does not prove immediate benefit to the customer other than that payments might be processed slightly faster. Would you be excited if your electricity company told you that they automated their accounting systems further using machine learning? I doubt it.

Accept microinventions and thank those who helped create them, but don’t overdo it. There is no need for a microinvention to be broadly published or advertised if there is no greater benefit for the customer or the society. Stay focused on the big picture and the big inventions with noticable impacts. By noticable impacts I mean a direct significantly positive benefit for the customer which can be experienced immediately.

4. Reinventing the square wheel

How about an app were you can easily send messages to all of your friends and family. Doesn’t that sound awesome? Yes it does and it is called Facebook, WhatsApp, Hangout, Telegram or Signal. And how about a service with only a text-field and a button that easily allows you to find websites and information on the Internet? Exciting. And that is called Google.

I am not saying that you should not reinvent things, challenge existing structures, processes and offerings. All I am saying is not to reinvent basic, proven or well-accepted solutions built to perfection. You have got to have really solid arguments to be able to reinvent the wheel successfully. Reinventing the wheel often results in inventing a square one and the longer you work on your square wheel the more convinced you are of it.

Instead of reinventing perfect solutions, either optimise existing solutions to create a better one or built your solution on top of these solutions. Always focus on solving a problem that the existing solution does not already solve. Wheels are often reinvented, because the inventor is unaware of the existing solution. Do your research to figure out whether you are reinventing the wheel or not.

Building innovative software is not a party — it’s people sitting in front of a computer writing code.

5. User centricity — “It looks too programmed!”

Have you ever been inside a nuclear power plant’s control room, inside an aircraft cockpit or a submarine? They are full of switches, buttons, screens, controls and other things you can kill thousands, if not millions, of people with. If you then look at complex software like the image editing software Photoshop or the 3d rendering software Blender, you might get a similar impression.

All of these systems, from nuclear power plants to the 3d rendering software, can only be used by trained and experienced people who continuously need to train and learn how to use the systems. They are a small group of people able to fully understand the system, the way it works and how to use it. It is absolutely intended to be like that. Highly flexible, highly configurable and able to solve unexpected challenges even the inventors of the systems were not aware of.

On the opposite, if you have a closer look at how to order a pizza online, buy a book on Amazon or create an account with Google, you’ll realise that it is so simple, even a six-year old can easily do it. It is built to be used by absolutely everyone without any prior knowledge of anything. With YouTube’s voice search and large preview thumbnails of videos, not even reading or writing is a prerequesite for using YouTube. The exact opposite of nuclear power plant control room systems.

The trend in technology is definitely to be a YouTube and not a power plant. In fact only in a very few and rare, life and mankind threatening systems would you have to provide such complex and secure systems. In the commercial world and majority of other systems, you will always aim to be a YouTube.

Building applications that do not come with giant configurable and flexible user interfaces, but simple interfaces that lead the user to apply the defined solutions as quick, simple and easy as possible.

Ask yourself: Will even the dumbest member of my target audience be able to use my solution without any prior knowledge, introduction or training?

Software engineers and system architects often tend to assume or expect their end users to have the same knowledge of computer systems that they theirselves have. This behavior also grows in any project member the longer they participate in technology projects. It is therefore vital and essential to have in-depth knowledge or experts on User Experience and User Interface Design at hand. The best solution is worth nothing, if the intended user can not or does not know how to apply the solution — meet the expectations of the user’s “Mental Model”.

6. Distrusting technology — even in technology

It is not uncommon to hear things like: “If we migrate to super cloud, then super cloud controls us, can steal our business. We become hostages of super cloud. Super cloud is evil.”. Not all people in technology are the same. Some prefer Linux, others Windows and many others Mac OSX. Some program in Visual Studio Code, others use Sublime Text, some prefer plain text editors. Some people love to use AWS Cloud, others prefer to use Google Cloud and some think that “there is no cloud, just other people’s computers” and deem cloud computing and cloud services evil.

This means that even inside the technology industry or technology departments there are people who fear technology and innovation. As much as you actually do have people working for Airlines while afraid of flying.

If you have no experience with something or do not know anything about it, then your perceptions start to kick in. You start to imagine or perceive things about a specific technology that are just not true. It is important to stay open minded, learn about new technology and adapt to the ever-changing technology landscape. Overcome that fear by learning about and familiarising with new technology and inspire others to do so.

Judge by the numbers and not by your gut feel, the media or what others say. Read through the documentation, learn about technology and figure out whether a specific technology can be part of your solution.

“Blockchain” is an extremely good example. There are a number of very good use cases and applications for Blockchain and there are even more bad examples of when not to apply cryptography-based distributed database systems with very high transaction security and integrity. Define the main arguments pro and contra for the technology you want to and the one you don’t want to apply and make a neutral, nonbiased and informed decision.

A plan without execution is worse than an execution without a plan. Execute more than you plan.

7. Plan, plan, plan — never execute

The meeting ended with a “We should carefully review and evaluate the decision before starting the project” and there goes execution down the dish washer. A good plan is always there to be changed. In fact looking at methods like the Unified Software Development Process or the Scaled Agile Framework, you will notice that execution is key. In the digital era, absolutely nothing is set in stone. Software can be updated almost instantaneously. A bugfix for a website can be deployed in seconds, a mobile App updated in minutes. Server-side code fixed immediately. With state-of-the-art DevOps processes including continuous delivery, patching software has become a process end-users don’t even notice anymore.

Further consumers accept a certain amount of imperfections in newly released software products as long as they get the impression of continuous improvement and innovation. That is why we have adapted agile software development methods. Execution is key, but many organisation lack the workforce able to execute.

It can be gathered from a couple of answers on Quora that around 25% to even 40% of employees at Google, Apple, Facebook and Amazon are software engineers — people that are technically capable of executing software projects, writing the program code theirselves.

If you have defined the greatest solution of all time for the biggest challenge of mankind, it is absolutely useless if you are unable to execute it. In fact numerous people with great ideas are out there. Yet, a very small amount of these people are actually able to execute their ideas. Facebook is a good example as the idea of it could have been from the Winklevoss brothers, but in the end it was Mark Zuckerberg who was able to successfully execute the idea.

Building digital solutions means: software engineering, database engineering, systems engineering, user experience, user interface design and last but not least often also digital marketing.

It means you need to have the capabilities to build software, databases, APIs, messaging systems, administer server software, do security scans and much more. The only way to figure out whether you or your organisation are capable of applying the solution is by starting to build the application immediately. There is a good reason for methodologies like “Minimum viable product” development and Prototyping — to figure out whether the application’s foundation works and you are capable of building it.

Colored notes look nice, but don’t produce code. Stay organised, but build more than you organise.

8. The Water-Scrum-Fall Daily Stand-Up

“We’re an agile organisation” said the managing director and added that he himself often participates in the “daily stand-up meeting”. Their new super technology, according to the project plan, will be finished and released in around six months. If you’re aware of software development methods and the core foundations of agile frameworks, then you’ll realise that there’s a conflict in that information.

Scrum and many other modern agile frameworks and software development principles highly recommend releasing changes fast after relatively short iterative development cycles, often called “Sprints”. The large twelve or even twenty-four month or five year projects that previously caused prominent software project failures should be avoided by all cost in favor of short iteratives development and release processes.

Yet, agile for many organisations is represented by daily stand up meetings and colorful Kanban boards while senior management expects the project to meet tight deadlines. This is often called the “Water-Scrum-Fall”, part the dated, never recommended, waterfall development model and part the Scrum model. Those mutated Frankenstein development methods have unfortunately become the standard for many organisations.

Making stake-holders transparently aware of the project management method, the software development model and their foundations is key to avoid frustrations with digital projects. There is flexibility in many agile frameworks and software development methods or models. Yet, their flexibility has limits and breaking base rules of these methods will not just lead you to a Frankenstein model, but ultimately bring any project into trouble. Learn the method you intent to apply, understand it and apply it properly. Make sure stakeholders understand the way your project is organised and make them accept it. With all its advantages and more importantly its disadvantages.

9. The almighty arguments against it

You all heard “this will never work”, “our systems can’t handle it” or “that change is a risk for our infrastructure”. My favorite argument however is that “this is technically impossible”. Impossible is impossible in a world were it just takes people, time and money to complete something.

In technology it seems that some software engineers and system managers develop a sort of parental behavior where they protect their systems and software against any changes they deem risky or too extensive. In an ever-changing industry this will ultimately lead to systems that were never able to grow and to system architectures that were not able to mature over time.

In order to enable digital innovation, any system’s right to exist needs to be reviewed on a regular basis. Fundamental technology changes such as with cloud computing, new database technologies, machine learning, decoupled architectures, APIs and messaging buses require any architecture and their right to exist to be reviewed on a very regular basis.

When vehicles pay their parking tickets electronically or drivers order them through a smartphone app and no one uses the ticket machine anymore, then of course there is no need to keep the ticket machine and any systems associated with it. Ultimately that also means people in charge of these systems need to get new duties assigned. There need to be rock-solid arguments for keeping systems alive when they are no longer needed. There will always be people that insist in keeping systems alive even when they are really no longer needed. These systems often become the future obstacles.

Become successful by solving important problems using technology — as simple as that.

10. This doohickey is the future!

It sometimes starts with “Supercorp uses Bogustech now, so we should also implement Bogustech as soon as possible” and there we have “the next big thing” apart from that there really is no next big thing anywhere in the world. All the products we love are products of sweat, tears and hard work.

“The only way you can predict the future is to build it.” — Alan Kay

The iPhone was never the first smartphone as Windows Mobile and Palm OS launched before and thus it was also never the first large screen mobile device. The first iPhone did not even have 3G back then although other devices already had it. In the beginning, the Google search engine was nowhere near the quality of AltaVista, let alone Yahoo. But they all succeeded as they solved a tricky problem for the users and stayed focused on serving their users in the best possible way.

What the iPhone did was that it allowed using the fingers instead of a pen and it came with a newly build operating system tailored for finger usage besides a fully fledged web browser, HTML-enabled email and maps for navigation. People could use it like a computer, but without the annoying tiny buttons. It did right what Windows Mobile and Palm were doing wrong — and you no longer lost that pen you never liked.

When Google started it solved the problem of finding relevant information online, but so did AltaVista and Yahoo. Google however developed further and managed to find the most relevant information in the shortest possible time. They developed a new database system for speed and build a completely different algorithm and approach to searching the web than AltaVista had. You finally found the information you were actually looing for on Google, while AltaVista decided to turn into a complex web portal with a cluttered homepage.

Looking at Amazon back in ‘99, a lot of people questioned whether they could sell anything else than books, let alone things like clothing. Clothing was always considered something you’d have to try before you buy — especially shoes. Twenty years later all these doubts have vanished and few people remember the dubiety associated with e-commerce in the early days.

Nothing explodes overnight

Decades ago no one knew whether the iPhone, Google or Amazon would succeed, but both continued to solve important problems for their customers and users. They did that for a very long time until they became successful. All of them are extremely user focused, never accept anything as given, continuously question everything including their own work and they are willing to remove things if unsuccessful. They work on data and don’t believe in myths or technological fairytales. At the end of each of their projects, there very often is a very successful product.

You can read the Amazon Leadership Principles and the Google Philosophy online — it’s all there. All you need to do is to understand their success and apply their learnings. Hundreds of books on software engineering principles, innovation and technology exist. All you need to do is read, learn and apply. If you do, then digital innovation is easier than you think and you can be just as successful.

--

--

Jan Kammerath

I love technology, programming, computers, mobile devices and the world of tomorrow. Check out kammerath.com and follow me on github.com/jankammerath