Uncategorized

Moore’s Law and How IT is Finally Operating Outside of the Box

Moore’s Law image from Wikimedia

Moore’s Law sounds like one of those quasi familiar sounding laws you should remember from high school. Actually, it is a prediction made by Intel founder Gordon Moore in 1965, and became the golden rule for technology over the last half century.

Moore’s observation extrapolated that computing would dramatically increase in power, and decrease in relative cost, at an exponential pace. He correctly stated that we could double the number of components per integrated circuit every two years. Eventually, of course, the laws of physics would trump any level of innovation. In this case, at some point the silicon substrate could not get any thinner and the circuits could not get any closer.

Moore’s law has, for all intents and purposes, run out. Many agree this happened in 2012, though some optimists still see room for modest gains in the next couple years. Regardless, before it finishes we have seen some amazing progress, with 3,500 times improvement in performance, 90,000 times more energy efficient, and a whopping 60,000 times lower cost.

It also whet our appetites for an ever increasing need for compute power. Technology is pervasive today, with half the world’s population spending upwards of 20 hours a week online. The spike in demand for internet compute power is so great, in 2013, 90% of the world’s data had been generated over the previous two years.

So, if our collective thirst for compute power is surging, why is it not a crisis that Moore’s Law ran out? Why are all the computer junkies not revolting?

The Answer

Usually the fastest route to get bigger gains is to radically change. If you do the same thing over and over again, you should be able to eek out every last bit of efficiency, as Intel did so perfectly for years. Meanwhile, smart IT folks started thinking out of the box and rethinking how we architect computing. Fast forward — distributed computing was born, and is becoming the new defacto standard for web scale applications and data.

The best companies prepare themselves for change.

Distributed computing spreads lots of little jobs around comparatively small, cheap servers, and dramatically speeds up performance — all while dropping the price you pay. Thanks to cloud computing, you don’t even need to buy the machines. You can rent them by the hour, which can seriously dwarf startup costs for all kinds of projects.

Sure, savvy project managers and architects can save you a few thousand dollars here and there, but those that can wipe out 95% of the cost by using a completely unorthodox approach are more than savvy. They are heroes.

The Heroes Have Been Busy

It is not a surprise that the IT industry is filled with bright people, and when they work together, their ideas illuminate our paths to an even brighter future. So, there are lots of examples to highlight.

As a more than casual observer, I think the biggest improvements in software for the last decade came from thinking outside of the box with a keen eye toward the user experience.

Focusing on those, let’s take a look at the agile programming methodology, or more specifically extreme programming (XP). It’s patently an example of an outside the box approach to solving the pain and suffering of traditional software development. The legacy ‘waterfall’ approach consisted of preparing a perfect set of requirements, passing them to developers who wrote the code, then entering into a long test process and practicing deployment sequencing until some artificial deadline was reached — a date that was likely set simply to make an executive look good at a high profile meeting.

Waterfall productivity pie chart

The result was often pain and chaos. It was impossible to plan adequately for nuances and change. But legions of business analysts and consultants certainly tried, surrounding the developers with their spreadsheets and fancy gantt charts, and micro-managing their monolithic approach to building software. I’ve often wondered how much money the big consulting firms alone made off of just putting things in spreadsheets.

Over time, the software industry has picked that process apart — making it much more efficient and pleasant along the way. Modern approaches embrace projects that are 2 weeks or less, enabling consistent delivery and cutting out a ton of overhead. We’ve switched the order as well. Turns out writing all the tests before writing a line of code helps to write cleaner code and closes the gap for fixing bugs since immediate pass/fail feedback takes full advantage of the developer’s focus. We also doubled down on the developers themselves, realizing that if we pair developers together, we get more consistent velocity, better knowledge sharing throughout the organization, and better support to push through roadblocks. After all, if you ever get stuck, your first move is to ask a friend for help — now that help is sitting right beside you.

The Next Frontiers

There are two important areas that are actively changing in today’s technology landscape: platform and culture.

On the platform side, the big change is building on the work that distributed computing and agile started — lowering the barriers to make software and dramatically improving developer productivity. Put another way, we are working to change the economics to flip the build vs buy argument on its head, because everyone wants to build custom software.

10 years ago, we would argue that development was so painful, you should pay money to a big name vendor that would pool development requirements and resources from lots of companies to deliver a mainstream, off the shelf solution. Then you should spend your money to tailor that vanilla flavored big box software to your specific needs. This made sense when development was painful.

Digital pressure is dismantling the Fortune 500

But now it’s not. Now your developers must be able to swiftly deliver exceptional user experiences, or your business will likely fail. This digital pressure is dismantling the Fortune 500. Only 12% of Fortune 500 companies have been on there for 60 years, with 52% dropping off since 2000 alone. The ones that remain for the most part have made big bets and continued to innovate, or are at the brink of collapse if they don’t start showing results soon.

Over the past decade, programmers have steadily pushed most of the repeatable development tasks into automated development platforms and robust programming languages. These frameworks have effectively lowered the barriers to custom software, and now the race is on to deliver authentic, user experiences. A vanilla flavored package solution no longer cuts it — in fact, it is not even cost effective. Today, you use platforms like Cloud Foundry or Heroku and programming frameworks like .NET and Spring, and you get to build features that matter specifically for your customers.

Despite all the technological efficiencies, the problem for most companies still lies in the meatware — the culture. It is hard for people to think outside of the box, when they’ve worn the carpet down in their little cubicles for so long doing the exact same thing. For decades, people cloaked themselves in an armor of knowledge silos in an effort to provide job security. In the process, they’ve relegated themselves to being on call and working heroic hours to entrench their individual value. As a result, they’ve worked far more than they should and managed to create organizational power structures that thwart productivity.

The reality is when you break these organizations down, and create a culture of empowerment where small teams are fully capable to experiment, and deliver against their own goals, productivity dramatically increases. If everyone stands around watching one person row a boat, it is not going to go as fast as when everyone rows together.

Netflix famously saw empowerment as a critical issue, so they created a seminal document of modern business: the Netflix Culture: Freedom and Responsibility deck. This is their manifesto for creating a purpose-driven culture, where they trust employees to understand the corporate mission and in return, they promise to get out of their way and let them contribute.

This out of the box thinking, where you just trust people to all work toward a common purpose, cuts down on enormous overhead and radically improves opportunities for innovation. It is a big leap, and some folks, especially those in gestapo style roles, will need to find new ways to contribute. But with less barriers, you free productivity wildly and everyone becomes accountable to contribute. And it does not take a special breed of person to succeed working this way. As Adrian Cockroft, formerly of Netflix, often says when companies tell him they couldn’t possibly achieve this because they just don’t have the same level of talent Netflix does, he reminds them, “We hired them from you.”

And that is the lesson: even if you have a long trajectory of massive gains, before you run out of time, do not be afraid to rethink the rules and traditions for your job, your company, or your industry. Think out of the box, and you may just earn a bigger and brighter future.

This article is part of Built to Adapt, a publication by Pivotal that shares stories and insights on how software is changing the way businesses are built.


Moore’s Law and How IT is Finally Operating Outside of the Box was originally published in Built to Adapt on Medium, where people are continuing the conversation by highlighting and responding to this story.