We talk about protocol every day at Slate.
Communication protocols are vital in software development.
They are are even more important for high-performing software development teams.
At Slate, our only job is to help clients accelerate digital change, by injecting brilliant talent. So, if we could not communicate effectively, we’d be dead in the water.
Hence an article on protocol.
What do we mean when we talk about "protocol"?
Imagine yourself meeting the Queen.
You would be expected to follow protocol.
You would be expected, to call her Ma'am' or 'Your Majesty'.
You might be expected to bow, and you would probably choose to wear a hat.
In business, when a person puts out their hand, you are expected to take it firmly (not too firmly) and shake their hand, whilst holding the person’s gaze for exactly the right amount of time.
Protocol - a set of communication rules
It’s a set of rules that you have to follow. An architecture for communication, if you will.
And in technology (computer science, IT, network communications, software development, and in fact, every area of tech), devices need to communicate.
Pure and simple.
These devices have to agree on many physical aspects of the data to be exchanged before successful transmission can take place. The rules that govern successful communication are known as protocols.
Definition of protocol
1: the formal etiquette and procedure for diplomatic ceremonies
2: a record of an agreement
3: an amendment to a treaty or convention
4: a record of data or observations on a particular experiment
5: Computing | the set form in which data must be presented for handing by a particular computer configuration, especially in the transmission of information between different computer systems
Source: Collins Dictionary and Thesaurus
Communications protocols cover authentication, error detection and correction, and signalling. They can also describe the syntax, semantics, and synchronisation of analogue and digital communications and so are vital for software development.
However, protocols can change. Just when you understand the digital landscape, a new technology comes along, or a new mode of continuous deployment.
The landscape shifts – and sometimes, protocols shift with it.
But before we talk about what’s changing, let’s take a look at why protocol is so important for software development.
The Slate Communication Protocol
Protocols are descriptions of message formats and rules for communication. At Slate, we have our own communications protocols:
Communication: should be minimal, direct, to the point, and broadcast to all
Sharing: Anything could be critical, so Slate shares everything – not just verbally, but technically as well, so there is never a single point of failure in our system, however, small the team.
We specialise in injecting brilliant talent in ones and twos into teams where communication may be insufficient, particularly in financial services and businesses with a large number of legacy systems.
And because our team is so lean, we’re able to accelerate digital change in any organisation. Nothing bloated. Nobody sitting on the bench, waiting to jump in.
Our goal is to look back in five years, and discover that in every client scenario, there were never more than five Slate people for every fifty in-house team members. And never more than our predetermined cap (i.e. 15 Slate people, set specifically for your organisational needs).
Why is protocol important?
For devices to exchange information, there must be a pre-existing agreement as to how the information will be structured and how each side will send and receive it.
There are thousands of communications protocols, used everywhere in analogue and digital communications. Computer networks cannot exist without them.
If two devices are sending and receiving data but using different rules, then the receiving device will not understand what was sent.
There are many properties of a transmission that a protocol can define.
Slate always make sure both sides understand the conversation and no one is left confused. Common areas that we might consider on a daily basis, and where protocol is vital, include:
- packet size
- transmission speed
- error correction types
- handshaking and synchronisation
- character set
- address mapping
- acknowledgement processes
- flow control
- packet sequence controls
- address formatting
The importance of standards in communication
Protocols are established by international or industrywide organisations.
Perhaps the most well-known computer protocol is OSI (Open Systems Interconnection), a set of guidelines for implementing networking communications. OSI comprises seven layers (application, presentation, session, transport, network, datalink and physical) that can be used to help identify where to look for problems or challenges within an organisation’s technology stack.
Taking a specific example, the two basic protocols used on the Internet are IP (Internet Protocol) and TCP (Transmission Control Protocol).
Together, they are referred to as the TCP/IP. TCP implements part of OSI.
And TCP/IP is vital, as it controls how information is successfully transferred between computers across the web.
Protocol and change
Protocol changes all the time
There are protocols around the use of emojis (top tip: avoid aubergines 🍆 and peaches 🍑 on your work Slack channel) that did not exist a few years ago.
And the rise of the IoT inevitably is leading to the addition of new protocols, such as the rules around advanced message queuing (MQTT), as well as changes to some existing protocols.
For an overview of the protocols relating to IOT, this 2019 article from Postscapes has a comprehensive listing – for now at least.
Software works 'on top of' many protocols of communication.
As software developers, and in order to help upskill our clients' development teams, the Slate team need to be able to identify the right ones to use, understand how they are evolving, and how to turn them to our advantage.
To find out more about the protocols that may affect the rate and success of digital change in your organisation, get in touch.