Engineering digital products faster - by doing less.
Engineering digital products faster - by doing less.
At Great State we are constantly looking for ways to deliver digital products and services in more intelligent and efficient ways, to maximise our client’s investments, whilst maintaining the highest levels of quality.
Below we look at 3 key technology trends that are enabling faster delivery of digital products - by doing less.
The largest overhead of delivering software is typically from engineers writing lines of code - so reducing the amount code written is where big efficiency gains can be made. One way to do this is by not wasting time developing functionality which already exists - as the old saying goes “Don’t re-invent the wheel”.
There is a growing technology movement towards low-code and no-code application development which is becoming increasingly prevalent within enterprise, empowering individuals with little or no coding experience to create and configure applications through visual interfaces. Gartner are predicting that low-code application development will account for over 65% of application activity by 2024.
Whilst typically no-code tools can inevitable become restrictive, they can be extremely useful for rapid prototyping and testing concepts. In comparison, low-code applications and services can be far more useful when utilised around your core application(s), providing the speed and agility to get you started quickly but with the ability to extend functionality to support your exact requirements.
The low-code/no-code trend will reduce the amount of code that needs to be written and ultimately reduce the time required to test, create, deploy and maintain applications.
Consumers are interacting with organisations across many different touchpoints. As a result, these organisations need to deliver content to multiple websites, applications and services.
To support this need, we often see organisations ending up with multiple different platforms and methods of managing content which have built-up organically over time to service each channel individually. The problems with this approach are that it can lead to inconsistencies in the way the content is displayed, content is distributed, and data is formatted. It also increases the management overhead which leads to inefficiencies for content editors having to update content in multiple places and for software engineers to develop and maintain, which increases further as more platforms are added.
One solution to this is the use of a Headless content management system (CMS) and delivery platform - a growing trend for the last few years. The purpose of a Headless CMS is solely to manage the content and expose it via APIs, typically using open standards, to be consumed by any applications or services that have permission to do so. It is then the responsibility of those individual applications to handle and present that content in the required and most appropriate manner. This is a much more flexible and scalable solution when compared to a more traditional CMS where the content and presentational layers are more tightly coupled together.
There are many headless hosting services available which focus on delivering content, but this is now also become commonplace across established enterprise digital experience platforms as well which in turn opens up access to more advanced headless capabilities such as personalisation and commerce.
Centralising, maintaining and distributing content in this way, reduces the management overhead, improves the quality and consistency of content, and provides an easier and faster method of implementing new products and services.
The complexity of applications is increasing, the security threat landscape is constantly shifting and evolving, and changes need to be released at a higher frequency. This in turn from a software engineering perspective can lead to an increase in the number of bugs and issues that need to be dealt with, if not tightly controlled.
Artificial Intelligence (AI) is a technology trend that continues to grow and augment the way we think and operate. We use it to intelligently gather insight and craft innovative experiences, but we also utilise AI-enabled tools throughout the software development lifecycle, to optimise delivery efficiency.
Code analysis tools can be used to perform real-time semantic analysis of the code we create using AI to identify potential critical issues and security vulnerabilities early, before it goes anywhere near the production environments. There are also testing tools available which augment our testing capabilities by providing an additional layer of intelligence, from dynamic visual UI testing through to the analysis of user stories and acceptance criteria (within platforms like Azure DevOps) to automatically creating test cases against them or suggest edge cases that have potentially been missed.
Whilst AI is not a replacement for testing by humans or traditional methods and processes that we have in place. It does, however, enhance them to provide a greater level of reassurance and enables us to deploy changes rapidly, with confidence and ultimately significantly reducing risk.
These are just some of the technologies and trends that are enabling us to deliver digital solutions more effectively and efficiently. But not just that, more crucially, they also help to reduce risk, optimise operational efficiencies, maintain high levels of quality and enables our team to focus on adding value in the areas that make a difference.
To get the best out of these technologies it is essential to incorporate them in a considered, holistic and future facing way. Our team of expert technical architects have experience of applying these technologies to solve a broad spectrum of challenges and if you would like to understand more about how you can take advantage of these technologies, then please get in touch.