Artikel30 november 2022 · 5 min lästid
Our world is constantly changing and we won't run out of development needs. So how reasonable is it to aim for an assembly line factory that is unable to react to a changing world? We think it is worthwhile to create a strategy and organisation that is able to produce more and more new solutions for ever-changing needs.
In recent years, a growing number of companies have woken up to the need to build their technology strategy. This phenomenon is quite natural seeing as companies where the role of software and technology in business operations would be diminishing, are few and far between. There is currently a lot happening in software development that companies should tackle in their technology strategy.
The world of technology and digital services is, naturally, constantly changing. Software development evolves with the times, and with it, developers’ scope of work is ever expanding closer to the hard core of business. Here are a few interesting developments that all companies should keep an eye on when building a strategy.
1. Low code can sometimes be a good solution, but business advantages are hand-crafted
Gartner, an international ICT research and consulting company, predicted a couple of years ago that 65% of all software development will be low code by 2024. Low code development environments allow anyone to create lightweight software using graphic elements instead of writing code.
Following this logic, a company doesn’t necessarily have to outsource development work or invest in in-house development expertise. Low code or no code development has and will continue to impact the industry and software development significantly. This is partially due to the shortage of talent that has been continuing for years.
Low code development is a good, sensible and affordable solution for certain functionalities. Similarly, if the software or application is not a strategic part of the business that brings added financial value to the company, a low-code product can work perfectly fine. On the other hand, if the company aims to stand out from the competition with its digital service or create innovations, then low-code applications do not constitute a competitive alternative. In this case, the focus should be shifted to more custom high-code software.
Everyday examples of companies that genuinely set themselves apart from the competition with software include food delivery services built on mobile services such as Wolt and Foodora. If the application doesn’t work as desired and the user experience is poor, the customer will switch to a competitor. A mobile application can also be a key part of a business and a competitive differentiator for many other companies.
2. Open source helps with the platform – competitiveness is ensured by innovating on top of the platform
European open-source organisations have estimated that developing and investing in open-source software (OSS) could boost economic growth in Europe.
This prediction is backed by a study carried out by the European Commission. According to the study, European companies invested about one billion euros in open-source software in 2018. These investments produced economic growth of 65–95 billion euros in Europe. With such results, it is likely that the EU will turn its attention more strongly to open source.
Open source code can be used to solve low-level needs. Its use streamlines software development, particularly when developing custom software solutions: developers don’t have to spend as much time under the bonnet when they don’t need to rewrite everything from scratch or separately.
With this said, open source does have its challenges. There’s been much discussion about the supply chains of open-source software. For example, when building software, an OSS component can write log entries about the application's internal state for error situations. If a security vulnerability is detected in the component and that same component is in wide use, it can mean globally extensive repairs in the applications using it.
In the worst case, an OSS component can be maintained by a single person, which may raise questions as to whether the error causing the vulnerability found its way to the component deliberately or by accident. Therefore, it is also a question of a chain of trust.
3. The pace is picking up – do your developers have a sufficient view of the future?
One clear trend is the need to accelerate the cycle of developing software and releasing it to users – either consumers or corporate customers.
The actual software development process can run perfectly smoothly in the development team. Nevertheless, many companies should ask themselves the following: is their development team guided by the right things? Is their team sufficiently up to speed on business objectives? These are just a few of the aspects that should be considered if the company wants to continue on a path of success, releasing the right products at the right time in the future.
Accelerating the cycle also affects the frequency and timing of security issues. Security issues should already be considered during the coding and testing phase. In the traditional model, security aspects have only been reviewed once the software is about to be delivered to the customer. Receiving feedback has also taken its time. Now the aim is to automate this process further so that security vulnerabilities and poor coding practices can be spotted in time and fixed earlier.
For software developers, this is also a professional challenge. In theory, they could do everything by themselves, but in practice, this means that various components, products and services will be introduced into the software development cycle. At the same time, teams and even individual developers face growing expectations. This doesn’t mean that the development team’s list of responsibilities will get too long to handle, but that services can also be outsourced.
The best example of outsourcing is the use of cloud platforms. The responsibility for the technical functionality of the platform is transferred to the cloud service provider. Of course, the company itself remains responsible for the high-quality implementation of its solutions, but with this division of responsibilities, development teams’ focus is on activities relevant to the company’s business instead of reinventing the wheel. In addition to application runtime environments, cloud platforms provide building blocks for automating quality aspects involved in the development process, such as security testing.
A good technology strategy supports the business strategy and responds to the challenges of the evolving operating environment. In addition to these three trends, there are plenty of issues to be considered, from cloud migration to user interface design. Nevertheless, at the core of everything is the need to ensure that the company has a shared direction for the future and an understanding of competence development and technological needs. This will also make it possible to thrive in a world of accelerating change.