Brownfield vs. Greenfield Part 1: Considerations for Integrating a License and Entitlement Management System in Brownfield Development Environments
29.04.2021 Rüdiger Kügler
Software development practices typically fall into two categories – Brownfield projects or Greenfield projects – each of which utilizes different tools and requires different strategic approaches. Brownfield software development refers to the development and deployment of a new software system in the presence of existing or legacy software systems. This implies that any new software architecture must take into account and coexist with previously created code. On the other hand, Greenfield software development refers to creating code for a totally new environment without any legacy code in the picture. Essentially, the developer is starting with a clean slate.
Both Brownfield and Greenfield development approaches have their own discreet advantages and disadvantages. In either case, application components like license and entitlement management are treated differently as well. This blog will briefly summarize the advantages and disadvantages of each development approach and their ramifications on licensing and entitlement management. In this post, Part 1, we will delve deeper into Brownfield development. Part 2 will follow with more discussion on Greenfield development.
Brownfield development usually applies when the goal is to develop or improve upon an existing application. In this case, new software architecture must take into account and coexist with systems already in place with the objective to enhance existing functionality or capability. Examples of Brownfield software development include building a new module onto an existing enterprise system; integrating new features into an existing application; making a code upgrade to extend application functionality; and adding a new system into an existing system landscape.
According to global systems integrator Synoptek, the advantages of Brownfield development are:
- Offering a place to start with a predetermined direction
- Giving a chance to add improvements to existing technology solutions
- Supporting working with defined business processes and technology solutions
- Allowing existing code to be reused to add new features.
They note the disadvantages as:
- Requiring thorough knowledge of existing systems, services, and data on which the new system needs to be built
- A possible need to re-engineer a large portion of the existing complex environment so that it makes operational sense to the new business requirement
- Requiring detailed and precise understanding of the constraints of the existing business and IT, so the new project does not fail
- A slow down of the development process and likely an addition to overall development costs due to dealing with legacy code
Another byproduct of Brownfield development is that a disproportionate amount of time can be spent on understanding and integrating with the existing complex system and business environment rather than delivering value with new functionality.
Now, let’s take a closer look at the integration of licensing and entitlement management functionality in a Brownfield project.
For license and entitlement management, data collection of the appropriate end user license attributes and license states, and creating the optimal user interfaces, whether new or improved, are key.
In Brownfield development, various systems already exist and collect or provide data. This includes systems like SAP, other ERP solutions, and existing User Portals, with or without Single Sign-On mechanisms. Collecting the same data a second time in the license management system would require data synchronization, making the integration process more complex and harder to maintain. Collecting only the data that is relevant to the licensing system is the key to optimizing the integration process. This is where a strong API capability in the license management system can make a big difference. The system needs the ability to use the API to request or push the data as needed across all the legacy systems, as well as using the API to create new systems for acquiring and delivering data where needed.
The Graphical User Interfaces for managing data collection and licensing and entitlement processes are just as important as the strength of the API for integration. Some systems already come with pre-built GUIs – while a developer may find one that fits nicely into the process, it is more likely than not that a pre-built interface would not fit the process exactly and add a level of unnecessary complexity to the process. A better solution is to use customizable and extendable tools to build the interfaces to conform exactly to the process at hand.
In part II of this blog post, I will present a similar overview of the pros and cons of Greenfield software development and the best approaches to integration of license and entitlement management. In the meantime, you can take a look at CodeMeter License Central, which includes a powerful SOAP-based interface that provides developers with exceptional flexibility in designing the user interface to fit comfortably into established business processes, and offers the opportunity to retrieve or push data from or to legacy systems.
Contributor
Ruediger Kuegler
VP Sales | Security Expert
After completing his physics degree course in 1995, he was head of project management for software protection, software distribution, internet banking, and multimedia projects. In 2003, he joined Wibu-Systems and, as part of his role, contributed substantially to the development of Blurry Box technology.