Greenfield projects: The greenfield, software development from scratch and therefore nothing that needs to be taken into consideration, all of this has become rare today.
Too much of our life and work today is already controlled by software for there to be large, untouched areas that need to be equipped with the necessary software from the ground up.
On the other hand, there are brownfield developments, in which existing software is expanded or new applications are built on top of existing systems.
Greenfield and Brownfield
Especially in the B2B sector, greenfield projects have become rare. It is rare to find software projects that are designed and implemented completely from scratch. One possible example is new, completely autonomously controlled production facilities. But even these are often closely linked to the main plant from an IT perspective. Changes to existing systems or projects in which existing developments have to be taken into account are always categorized as brownfield projects.
The developer paradise vs. reality
Developing without regard for existing systems and without changes to the code in one place causing errors in another – greenfield developments are rightly considered particularly popular among developers, but unfortunately the reality is quite different. Instead of being able to let off steam in projects with ever new technologies, developers are often tied to decades-old existing systems with various individual additions that have developed over time and whose rules they have to accept. Many new technologies can often not be used at all because the existing systems do not support them or integration would involve immense effort.
Of course, it is understandable that customers do not simply switch off their expensive systems that have been rolled out for years and replace them with new ones. Further adaptations and new functions increase the dependency on a system that consequently becomes outdated over time. And as dependency grows, the willingness to introduce a new system dwindles, even if the existing system has long since ceased to meet the current requirements in terms of appearance, range of functions and/or ease of use.
New freedom for old systems
How do software developers manage to retain a bit of greenfield freedom and thus optimize existing systems? When modern web technologies meet legacy systems, new and modern software applications are created with the right technology. They use the data from existing systems and make it available in modern applications. Marianne Bellotti presented a particular example of such a constellation at the “Systems-We-Love” conference at the end of 2016. During her work, the developer for the United States Digital Service, an agency tasked with improving the digital infrastructure of other authorities, came across a web application that was fed with data from an IBM 7074 mainframe via detours. The mainframe from the 1960s, in which information was still stored on magnetic tapes, was still working reliably. The website performance problems that Bellotti and her team were called out for were not due to the hardware, which was over 50 years old, but to the Java middleware.
Cost-efficient modernization with the Simplifier
“Our aim is to make the best possible use of existing systems, and that includes enabling companies to provide their employees with modern apps on modern devices. To this end, we have developed a technology that aggregates data from existing systems so that it can be used in modern applications,” explains Simplifier CEO Reza Etemadian. The technology is called Simplifier and is an IoT platform that is based on the existing IT landscape, so aging systems do not need to be replaced, only the processes that are handled with the data are modernized and thus made more efficient.
Using standardized and reusable connectors, the data is read out and made available to the application. The user interacts with the data within their process, and changes are automatically saved back to the connected systems after completion. The applications themselves are configured within the platform using ready-made components. “Thanks to our technology, applications only need to be created once in order to function on different hardware and common operating systems,” explains CTO Christian Kleinschroth.