Brownfield vs. Greenfield Part 2
In my last post, I talked about the pros and cons of Brownfield software development and the key considerations for integrating a licensing and entitlement management system into the process. In this blog post, I’ll focus the attention on a similar story, but this time from the perspective of a Greenfield project.
In software development, a Greenfield project refers to the creation of a system for a totally new environment, without concern for integrating with other systems, particularly legacy systems. Essentially, it means the development process begins with a clean slate without the use of any legacy code. That may sound like nirvana to some software developers as they don’t have to deal with any existing dependencies and restrictions. Developers can customize everything to meet requirements, avoid the problems with existing pervious architectures, remove all persistent limitations, and improve performance usability. Additionally, Greenfield software development does not require backwards compatibility with older versions of a program. There is no need to support legacy file formats or include previous features to meet end user expectations. Greenfield software development is generally more flexible than Brownfield development since a new program does not need to fit a specific mold.
Examples of Greenfield software projects include a new application that addresses never-before-seen problems, rewriting an existing software program using a new language or creating an e-commerce functionality for a business for the first time.
On the downside, Greenfield developers can find themselves with an overabundance of options, making it more complex and time-consuming to define a plan, choose the optimal programming language, framework, and infrastructure, or evaluate different management techniques to address new process workflows. All these uncertainties can increase the degree of risk involved with the successful completion of the project.
Like we did in our previous blog post, let’s look at the ramifications of integrating a licensing and entitlement management system. Similar to Brownfield scenarios, user data collection and management and the subsequent design of the user interfaces to access the data are critical factors for Greenfield development as well.
With no legacy databases to consider, Greenfield developers are tasked with designing mechanisms to collect as much information as possible about the user and the status of the license. A flexible licensing management engine is crucial in its capability to map collected data and address all the nuances of modern-day software licensing, like automated license activations, license borrowing, license transfer, push notifications and updates, and a host of new monetization models like consumption-based licensing, subscriptions, and the like. And, add to that the complexity of data storage – is it stored in the cloud, on a network, or perhaps a hybrid model. In a Greenfield deployment, the options are virtually limitless, and the licensing and entitlement management system must have the inherent flexibility to handle all the available options.
The user interfaces are critical as well, whether the final solution provides an easy-to-use licensing dashboard and reporting interface for a network manager or a self-service license portal for direct customer access. Flexibility is key here as well. While some license management systems include pre-built graphical user interfaces or templates, it is hard to imagine that any one existing template could address the vivid imagination of a Greenfield developer – the licensing system needs to “fit like a glove” to reap the full benefits of a fully customized Greenfield deployment.
Whether you are integrating a licensing and entitlement management system into a Brownfield or Greenfield project, make sure you utilize a powerful yet flexible licensing system. Wibu-Systems CodeMeter License Central is a great example. You can learn more about it here.