The writing is on the wall - a mass cognitive revolution in the world of software is underway, disrupting everything in its path. However the key differentiator is not technology, it is communication.
While catching up on my reading on the weekend, I came across an article analyzing the trends in the software ecosystem. The tl;dr message is that there is convergence on the Github, Amazon EC2, and Slack as a triumvirate platform, what they call GECS stack.
The authors make the claim that “the ability to integrate with other tools is paramount” and that it is because these tools are “designed to be expanded, customized, integrated with, and built on top of” that they are winning.
The idea of assembling your development stack from a collection of best of breed tools is not new, but take a look at what is interesting in this list… Can you see it? Two out of three of them are primarily communication tools, not technical tools.
Communications structures have dominated our thoughts ever since software was a thing. From Conway’s Law, through to Brooks surgical teams, and now on to microservices and two-pizza-teams, communication has been ever present in our culture.
But this survey triggered some new thoughts in me inspired by my recent reading. I am going to take three sources of inspiration:
to thread together a prediction - we are about to enter an era of mass disruption for software companies driven by communications effectiveness.
On the savannah, long ago, humans were not the top of the food chain. We were not even close.
At the top were the alpha-hunters, the big cat predators, taking down the large mammals and eating the meat. Then come the hyenas and birds to pick the bones clean. Finally, along come the hominoids, to break the bones and eat the marrow.
But through a freak of nature 70,000 years ago we ascended to the top not due to our superior strength, but due to changes in our brain. It is this period that Yuval Noah Harari terms the Cognitive Revolution.
“The appearance of new ways of thinking and communicating, between 70,000 and 30,000 years ago, constitutes the Cognitive Revolution”
With hindsight it was a very successful development, but it was not an obviously good evolutionarily strategy at the time. In fact, a risky side effect of having a large organ like the brain use up 25% of our energy was that our muscles atrophied.
But what was it that allowed us to leap to the top of the food chain and spread across the whole globe? Standing up? Bigger brains? Tools and dexterous hands? They for sure helped, but Harari argues that it was actually our ability to communicate complex gossip that put us on top.
“Our language evolved as a way of gossiping. According to this theory Homo sapiens is primarily a social animal. Social cooperation is our key for survival and reproduction”
But what are the new specific abilities in gossip theory that supposedly gives us the advantage?
|New ability||Wider consequences|
|The ability to transmit larger quantities of information about the world surrounding Homo sapiens||Planning and carrying out complex actions, such as avoiding lions and hunting bison|
|The ability to transmit larger quantities of information about Sapiens’ social relationships||Larger and more cohesive groups, numbering up to 150 individuals|
|The ability to transmit information about things that do not really exist, such as tribal spirits, nations, limited liability companies and human rights||a. Cooperation between very large numbers of strangers
b. Rapid innovation of social behaviour
Now for the first time, we could scale our tribes. We could create codes of behavoiur. We could orchestrate acts of group hunting and build large tribes. And with larger groups, we could specialize. Individual humans were weak, but tribes were stronger than anything around.
Harari makes another interesting point - Homo sapiens were not the only humans around this time. In fact there were six known species battling for survival. But it was our ancestors who became the dominant species of human - due to their superior social skills - while the others became extinct.
It is easy to see that the Internet is enabling a similar cognitive revolution. We now have the a global network in which to gossip, organize larger and more cohesive groups, and specialize. The list of brand name companies that have been disrupted by tech-savvy startups is legend. At the same time, there are many organizations that have successfully navigated from old models to new.
Netflix famously went from mail order DVD’s to the online streaming industry. In the UK, the gov.uk digital transformation project turned around public attitudes toward government IT projects.
So how do organizations survive this revolution?
To answer this question, the British state surveillance organization recently made available an internal strategy paper titled GCHQ: Boiling Frogs?
“The story goes that if a frog is placed in a saucepan of cold water, which is slowly heated, the frog adapts its body temperature to the changing heat of the water and gradually goes to sleep. In fact, it goes to sleep at 40 oC, unaware that at 100 oC it boils alive. However, if the frog is placed in already boiling water it immediately jumps out to safety.
This is a useful metaphor to illustrate that although humans think they are very clever at adapting to the changing world, they don’t necessarily recognise the need to jump out of that world and take charge of it, not just adapt to it. There is a risk of being blissfully unaware that the world is changing so dramatically that there is danger of boiling alive whilst asleep.”
In the private sector disruption could mean going out of business, but for GCHQ the stakes are national security. From this we could guess they don’t use the term “boils alive” as purely a metaphor.
“…traditional approaches to managing large organizations (in both the public and private sectors) are struggling to keep up…”
The premise is all-to-familar - change, doom, and despair is the fate awaiting us all. However there is an underlying truth that we have seen played out time and again in our industry. If you don’t catch the bus, you will be left behind.
Ok, enough about symptoms, doctor. What is the prescription?
Technology businesses need to understand and include a wide range of elements and their interactions to ensure they are in the best possible shape to face a disruptive present and future – before it’s too late.”
The paper identifies and examines and critical business characteristics that promote business and technical agility. Two that really jump out are:
“The global software industry needs less transactional forms of communication and more collaborative co-creation between people.”
Going back to the Github, EC2 & Slack stack, it is clear how these technologies enable this new way of working. Communication is the bottleneck in software development, and the GECS stack is a solution. The move into the “whole-team”, extreme programming, devops, surgical teams viewpoint requires open collaborative platforms:
“Technology focused organiations need to incentivise both depth and interdisciplinary/whole-life cycle skills, not fragmented part-lifecycle or silo ways of thinking.”
Not only is this great strategy advice, anyone who has been on a great team can attest to its truth. It is only recently that the tools became available in which to do this in the realm of technology, at scale, in a cost-effective manner.
So when we want to join these dots, what are we left with? Software is a collaborative sport, and skills and tools are obviously important. What is new is that modern businesses operate in a winner-takes-all, zero-to-one market, and disruption is the new norm. And in many cases it is effective mass collaboration that separates the winners from the almost-rans.
So how do we win?
Success breeds complacency. Complacency breeds failure. Only the paranoid survive.
Andy Grove, the legend who led Intel through the journey from being a memory manufacturer to the worlds most successful microprocessor business coined the term Strategic Inflection Point to describe moments like this.
The ability for organizations to survive this cognitive revolution will be determined by how successfully we adapt to the new communication technologies and harness the talent in our organization. We need to look for ways to efficiently create a hive mind in our world and utilize that to create effective technology organizations.
In Praqma, we have been early adopters to the Github, EC2, and Slack stack, and in many ways it is very natural for us. We are deeply embedded in the open source community, we are a distributed tribe of technologists in a loosely coupled organization, and continuous delivery is our business. We believe that tools matter, and great tools enable great collaboration.
Let’s reframe Harari’s model in terms of the abilities our GECS stack can provide:
|New ability||Wider consequences|
|The ability to transmit larger quantities of information about the world surrounding software developers||Planning and carrying out complex actions, such as avoiding bugs and creating valuable software|
|The ability to transmit larger quantities of information about software developer social relationships||Larger and more cohesive software organizations|
|The ability to transmit information about things that do not really exist, such as requirements, teams, status and quality||a. Cooperation between very large numbers of strangers
b. Rapid innovation of software
It is no surprise that GitHub and Slack are finding their way into more and more enterprises, that the future is cloud-first, and chatops is the new norm. These communication technologies are what enables us to glue a social fabric in our culture, and produce much more than we could ever dream of without those tools.
This is why we became partners with Github, we are working together to teach the next generation of programmers the social technologies they must master to succeed in the new world order.
Had enough of sluggish polling? With instant Artifactory event triggers you can give responsiveness in Jenkins a real boost. Here’s an easy way to set it up.
A super easy configuration guide
With the arrival of microservices code is becoming disposable. Does this mean that we no longer need maintainable code? Is it the end of refactoring?
Still relevant or increasingly redundant?
In software development tight coupling is one of our biggest enemies. On the function level it makes our application hard to change and fragile. Unfortunately, tight coupling is like the entropy of software development, so we have always have to be working to reduce it.
How to safely introduce modular architecture to legacy software.
I am an Atlassian certified trainer and over the years I have been spending much time with clients and their Jiras. In this blogpost, I have collected some small tips and tricks that will make your Jira usage better.
Jira Software is a powerful tool deployed in so many organizations, yet in day to day usage people are missing out on improvements, big and small.
In this post, I’ll take a closer look at the version of Jenkins X using Tekton, to give you an idea of how the general development, build, test, deploy flow looks like with Jenkins X. How does it feel to ship your code to production using a product coming from the Jenkins community that has very little Jenkins in it?
A crash course in Jenkins X and how to test it out on a local Kubernetes cluster
In this blog I will show you how to create snapshots of Persistent volumes in Kubernetes clusters and restore them again by only talking to the api server. This can be useful for either backups or when scaling stateful applications that need “startup data”.
Sneak peak at CSI Volume snapshotting Alpha feature
When I read Fowler’s new ‘Refactoring’ book I felt sure the example from the first chapter would make a good Code Kata. However, he didn’t include the code for the test cases. I can fix that!
Writing tests for ‘Theatrical Players’
Nicole Forsgren and the Accelerate DORA team has just released the newest iteration of the State of DevOps report. The report investigates what practices make us better at delivering valuable software to our users as measured by business outcomes. Read on for our analysis of the report, and how it can be best put to use.
The latest drivers of software delivery performance
A major challenge of software development is that our work is by and large invisible. This makes our folklore essential in business matters. Some of our commonly used arguments and visualizations are digital urban legends rather than solid foundations for informed decisions. Here, we’ll go through a few examples and some measures to address our misconceptions.
How the stories we tell influence our decisions
When you embark on your cloud native journey there will be important choices to make about cloud providers, continuous deployment, environments’ setup and separation. This guide will help you make the right choices by sharing lessons learnt from running cloud native apps in production.
Kubernetes has become the de facto container orchestration platform. When we help clients of different sizes and domains start their cloud native journeys in Kubernetes, we assist them in making sound decisions and technology choices. There is no one-size-fits-all solution when it comes to choosing cloud providers, CI tools, continuous deployment pipelines etc., so it is important to make the right decisions at the start. Failing to do so can be very costly in terms of lost time and money.
How to make the right technical choices on your cloud native journey
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps