Most people, in both business and technical roles, are familiar with Application Programming Interfaces (APIs).
Similar to an external user interface (UI), APIs are designed to allow your computers to interact with other computers. Therefore, it needs to be well-designed.
Recently, we have been working with a number of customers to help them implement design thinking across their organisations in order to bridge the gap between business requirements and technical capabilities. The need for design thinking across technology comes from a long history of expensive technology projects under-delivering or not meeting the functional needs of the organisation. Without throwing anyone under the bus, it is becoming more and more crucial for business leaders and internal technology teams to collaborate in a design thinking way to produce technical solutions to solve business problems - this also includes a design-thinking approach to integration and application connectivity.
Design Thinking First - then the APIs
Most companies go ahead and develop their APIs to basic requirements. In a design thinking exercise, the thinkers must be gathered - a collection of key stakeholders including unit leaders, technical experts and end users to collaborate on the design, mockup, implementation and documentation of the API and its cohorts. The idea here is to ensure that the technical build of the API does not place any constraints on your users and makes sure it meets all of the users needs, while also connecting key data from a variety of sources in a reliable and scalable way.
As integration and software development experts across Australia and New Zealand, we recommend that:
- You get API and UX designs in front of users and stakeholders often, to ensure no major design flaws;
- Any constraints of IT or lack of capability should not be a showstopper, and should be considered for outsourcing or external expertise.
So how do we “Design Think”?
We follow some key principles, as documented below:
File and organise:
Just like any major design or large file exercise, it is crucial to design your APIs and their program in a way that is nice and tidy. Small things such as creating naming conventions, running API spell checks, and using standard spelling, words or phrases makes it easy to master where your APIs are and where they fit into the bigger picture.
Make them useful and easy to understand:
Whether your APIs are going to be used internally or externally, you want to make sure that your APIs are able to be accessed and used by someone who doesn’t understand or did not build it. Fundamentally, any API should be able to be used by anyone and from any system they are approaching from; whether that be a Relational Database, NoSQL or a hyperscaler instance such as AWS S3 bucket or an Azure service.
Make it thorough - but not too thorough:
An overcomplicated API or undercooked API is no use for anyone. When designing your API or wider connectivity, you want to think through as many details of the usage as possible without making the instruction for implementation too challenging.
Build it for the future:
Sure, digital is changing pretty fast. However, there is nothing worse than building an API that talks to a legacy application and connects in a legacy way or speaks to the traditional back-end versus the rapidly evolving external touchpoint or front end. In order to ensure your API is as future proofed as possible, we recommend tackling client code first or the closest point to the edge layer - i.e. cloud compute.
Collaborate, collaborate, collaborate:
From the first inception until the final implementation, design thinking is all about communicating and collaborating with users and experts amongst your project team. We also recommend storing your early stage sketches, workshops and designs into a central file repository so you can keep track of evolutions and double back if you need to.
Cover the basics:
Before actual coding gets underway, it is important to remember that APIs can get complex quickly. In your early stage mapping, we recommend ensuring that the design team are across:
- API structure and hierarchical designs;
- API relationships including internal and external accessibility
- URL schemes and naming conventions
- Process flows (when ‘x’ happens here, then ‘y’ happens there)
The beauty of design thinking is that at the beginning every idea is worth considering, therefore some truly creative solutions are allowed to emerge. Additionally, design thinking can often reduce complexity or perception of ‘it’s too hard’ by ensuring that the collaborative focus is on simplicity and good design.
If you are interested in running an integration and API design thinking workshop, we would love to facilitate this for you within your office or in a remote scenario. In exchange for your time, we will send through an exclusive 3-bottle case of wine for you and your team to enjoy after the workshop - a small treat for all of your hard work.