20 May 2015

Fundamentally Changing the Way We Do Software Implementations

Fundamentally Changing the Way We Do Software Implementations

In 2012, after scanning 10 million YouTube videos, a Google supercomputer learned to identify a cat with 75% accuracy. That seems impressive, until you remember that an average 4-year old can do it flawlessly. People form plans and make decisions in complicated situations, but we’re less good at making sense of enormous amounts of data. Computers are exactly the opposite. They excel at efficient data-processing, but they struggle at making decisions that would be simple for any human. We can’t say one or the other is more or less powerful – computers and humans are just inherently different. Could this fundamental truth change the way we do software implementations? We believe so.

Reversed 80/20
We have been involved in many projects where a software solution is designed for a business problem. I noticed a specific trend in almost all of them: Business users tend to want to automate everything, because the computer can do it faster and better (so they think). Large amounts of time are spent on specifying all the business logic, and all its particularities and exceptions that need to go into the new system (which are always more than you think). I call this the reversed 80/20 rule. Instead of focusing on achieving 80% of automated solution for the business problem with 20% of the effort, project teams waste 80% of their time trying to automate 100% of the solution, coming up with overly complex systems which only solve 20% of their business problem. The other 20% of the time is then often spent on arguing who is to be held responsible for the bad result.

Complementarity instead of substitution
We can’t blame some people just because they believe that people can and will be completely substituted by computers. This seems logical because every one of today’s smartphones has a thousand times more computing power than the computers that sent astronauts to the moon. Others doubt that, but regardless of this belief, they seem to be determined to model the entire problem in the computer. People struggle with discovering the line where computers need people and people help computers. People and computers are fundamentally different, which means that computers are complementary to humans, not substitutions for them. We should focus on how computers can help to ease the decision processes of humans and empower people, instead of making them obsolete. This is the man–machine solution.

An example
Take a workforce-scheduling solution as an example. Instead of trying to configure the algorithm to come up with a schedule that fits all needs automatically (which it never does), let the computer algorithm do the heavy lifting of crunching data to calculate workforce needs, and do the basic repetitive assignments of employees. Provide the human scheduler with a user-friendly interface to adjust the schedule based on implicit arrangements, years of experience, and specific knowledge. This hybrid approach can work for all types of problems.

As Peter Thiel, co-founder of PayPal and the first outside investor in Facebook said in his fantastic book Zero to one: “The most valuable software solutions in the future won’t ask what problems can be solved with computers alone. Instead, they’ll ask, ‘How can computers help humans solve hard problems.’ By focusing on this, we believe we can fundamentally change the results of software implementations in the future.”