If in the past the agile approach was adopted by the most advanced software teams, today it has become definitely mainstream, used by many development teams in different companies • from the health, manufacturing or engineering industry • to
According to Nicola Buonanno, Senior Regional Director SEMEA Vmware, the adoption of agile processes, however, represents only a part of a faster delivery of software.
When it comes to improving the way an organization uses software to innovate its business, the installation of a new tool like Kubernetes to streamline operations will certainly not lead to a radical change if companies do not deal with how to structure processes
Today, continues Good Year, many projects develop with a waterfall approach. The software features are specified in advance, developers write the code and the application is released to users.
This way, activities proceed one after the other and often run after the project.
Too rigidly sticking to the process means that developers continue to follow the same path to the end, thus increasing the risk of being faced with endemic software problems that could have been avoided if they had performed larger and more frequent tests previously.
Fortunately, there are now new software development practices and tools that help to avoid falling into this cascade. Some of the most important are continuous integration (CI) and continuous delivery (CD). As we shall see, these are key tools that can modernise the software supply chain.
Continuous integration (CI) and continuous delivery (CD)
These tools, processes and policies allow development teams to encode, build, test and distribute new functions quickly on a weekly basis, if not daily. Frequent deployment of all this is the key to implementing the feedback cycle needed to start using software as a major innovation tool of an organization.
A recent survey cited by manager Vmware found that 46% of the highest-performance EMEA organisations (i.e. those with 15% or more revenue growth) give CI/CD the merit of supporting its transformation.
Good year, he recalled that the organisations were very slow in adopting the CI/CD. Progress has certainly been made, but the adoption of the CI/CD is still low. The recent survey on the State of Agile this year showed that the adoption of the CI is 55% and that of the CD only 36%, percentages remained constant for many years, demonstrating how the adoption of the CI/CD is stagnant.
Adopting an CI/CD approach is vital for the development of digital transformation through software, but with awareness from organizations still so low, we explore what teams need to do to successfully develop these processes.
Rewrite testing taking into account your strategy
Having quick feedback and focus on requirements even when they change is crucial to the success of the agile approach in projects. It is here, says Good Year, that the CI/CD can offer enormous value to the teams that design software, regularly supporting testing and integration of solutions to incorporate changes as they happen. However, the nature of such a process also means that the adoption of a CI/CD approach for the first time may take a long time, paving the way for a whole rethinking of how software teams work.
Traditional teams run a good amount of tests at the end of a project, and typically this happens just before deployment. This drives the actual verification of the software rather late in relation to the process.
Without carrying out tests from the beginning, it is difficult to achieve a true CI. The CI automates the execution of unit tests, checking the compliance of the code use and ensuring that all your code functions as a whole (and this is where the part of If the tests are superficial, the value of the CI is neutralised.
Prepare production for daily deployment
Finally, software development teams introducing a CI/CD approach need to prepare their production environments to manage weekly deployments, if not daily. Otherwise, the benefits of these technologies will not be realised, as the purpose of the CI/CD is precisely to offer frequent delivery in a series of shorter cycles that allow you to learn and adapt as you proceed. The approach to software therefore becomes agile, no longer blocked by requirements and plans that are months old that are no longer useful, or even realistic.
Working together, CI and CD ensure that each stage of development no longer operates in silos but can be adapted as we proceed. This in turn helps to achieve a deeper understanding of customers and, consequently, how to increase business.
Test (and test again) for a slender result
Without a continuous and rapid code test, developing quality software that is actually useful from start to finish is much more difficult. Implementing these continuous and automated processes will not only reduce time and costs. It will also help optimize the software while it is being developed. The ability to deliver software more frequently is the key to being able to make the best use of it to improve your business.
Nicola Buonanno concludes: if you are not already doing so, I recommend that you start allocating time and resources as soon as possible to implement a true CI/CD. Because it will pay dividends over the long term especially when it comes to identifying and solving any problems.