Infrastructure as a code is not a new concept in a software development world. It came with the cloud revolution and suddenly allowed companies to define their IT estates in the form of a programming language, making it easier for every engineer to understand. Application orchestration, specifications, software defined networking – all those aspects followed immediately.
It was still all about software development itself, until the market brought a new kid to the block – Process as a code. The idea is simple and it all boils down to adding efficiency, safety and insight to the company itself.
“As a code” – what does it really mean?
Business and internal processes are products of many years of operational experience and refinements. As organisation grows and people come and go, this precious knowledge gets lost, or is reinvented over and over again. This is where Process as Code comes to rescue.
Adopting it means describing existing company processes in a form of text file that is both – human and machine readable.
“How is it different from having company policies written down?” you may ask. People not following procedures, policies getting out of date, inconsistencies in how things are done – does any of this sounds familiar? There is a reason why process as a code is not only human-, but also machine-readable and that reason is policy enforcing and automation.
Where process automation yields the best ROI
Documenting internal procedures can yield great results in multiple different fields and cases. Starting with a simple onboarding and offboarding process – you no longer need to have a person in charge that will make sure it goes in the right order. Granting, revoking accesses, supplying onboarding materials, scheduling performance review meetings and more – all of it can be known upfront.
Speaking of performance review processes – gathering feedback from coworkers, leaders, understanding if there is a room for a pay rise – getting it all in shape and predictable will not only improve morale but can be a significant part of your employer branding.
Advanced and really custom sales and marketing processes that don’t follow mainstream but instead are trying to find their own niche – those don’t translate well to existing tooling but can be semi-automated by codified processes.
Reporting and knowledge sharing will also benefit from transparent and streamlined processes. Those are only a few cases where Process as a Code shines. But why does it work? Why is it the future?
What you will get when committing to Process as Code
To understand how Process as a Code can improve an organization we need to highlight its value proposition. Those key factors listed below are universal in every field but different types of companies will benefit from them differently and will have a unique set of needs to be addressed.
- Transparency – by having a single source of truth you eliminate guesswork, important knowledge is no longer bound to individuals (removing bus factor effect from equation) and risk of things getting stuck on their absence is removed
- Employer branding – standing out from the competition is a great way to attract talent on the market. You can say goodbye to vague declarations and empty promises in recruitment processes. Potential candidates may learn how you work before starting a job, effectively decreasing churn rates.
- Personalisation – all kind of processes and communications can be translated into chain of actions, and if for some reason a particular interaction or integration with your custom system is needed you can add it any moment
- Policy versioning – “He who moves not forward, goes backward.” so to stay relevant a policy needs to evolve and adapt. When codified you can use version control and track to a minute level what was the policy enforced and when it became obsolete.
- Shared knowledge base – the great thing is that more and more companies adopt Process as a Code solutions, sharing their processes and building blocks with the community in a spirit of open source principles
- Community boost – as more and more processes are shared with the community you can start learning from your competitors and different fields, improving safety, adding value and efficiency to existing processes
Learn more about importance of Employer branding here: https://everyonesocial.com/blog/employer-branding/
What to use?
Market recognising those transformations delivers tooling fit for many different user groups. You may already be familiar with Zapier, IFTTT or Microsoft Power Automate (former Microsoft Flow) – those are great tools that get the job done, but are directed more towards individuals or small businesses and not always offer a way to store your process in a form of a versioned repository.
If you are looking for a more enterprise solution there is Microsoft Azure – Logic Apps service or fully custom AWS Step Functions.
How do all those compare? IFTTT and Power Automate and Zapier tend to suit better much simpler flows (especially with IFTTT being only two steps only), but in exchange they are much easier to use.
On the other hand Logic Apps on Microsoft Azure is really well integrated with Office 365 and all of its functions as well as more enterprise ready solutions present on Azure platform.
If you need to be really flexible in terms of flow controls, custom connections and data governance – AWS Step Functions is a way to go. You can build your steps from scratch and have full visibility and control over your data.
Having a single source of truth for all your internal processes is going to be a game changer. Process as Code can benefit your organisation in many ways and there is only one question left – where are you going to start?
Databricks: How to upload data?
Databricks is a unified data analytics platform for massive-scale data engineering and collaborative data science. It is a powerful tool to serve so many purposes. How difficult it is to use? Fairly easy! How to upload data into it?
CQRS – Another “buzzword” or game changer?
CQRS is not as popular as it seems, especially in real-world applications. Learn how to maintain an application with frequently changing business using a pattern that is easy to understand and implement.