Data-Defined Software Development: Embracing The Future

Data-Defined Software Development: Embracing The Future

Gary Hoberman is the founder and CEO of Unqork, an enterprise-grade codeless platform.

In an era defined by data, the world of software development is experiencing a profound transformation. The concept of data-defined software (DDS) represents a shift in how we conceptualize, design and deploy software. While the majority of organizations have invested in language-based software (like generative AI to rapidly create code, low-code/no-code or traditional coding), the true innovators five, 10, 15 years into the future will be those that shift to a data-defined software (DDS) architecture.

And DDS isn’t the only example of how an existing technology was redefined to remove common pain points and inefficiencies. It shares many commonalities with the cloud, where infrastructure and services are abstracted from hardware and defined through software, and usually offered by an external provider. In software development, DDS just extends this abstraction to the application logic itself. Similarly to data centers, DDS solutions can be offered by an external provider, or created in-house.

Understanding Data-Defined Software

At its core, DDS signifies that data, rather than traditional code, takes a central role in defining software behavior. Instead of relying on intricate lines of code to dictate application functionality, DDS leverages a singular data specification, intuitive visual tools and robust automation to bring applications to life. The key difference between language-based and data-defined programming comes down to how machines and developers interact with one another to understand the intended output.

Programming languages are highly subjective, meaning developers can write different code to achieve the same result. Imagine something simple like a text box. Given the subjectivity of language and the number of available languages, large enterprises often have hundreds, if not thousands, of variations of the same “text box.” Their underlying codebases ultimately need to be reviewed, tested and maintained individually, leading to ever-growing maintenance costs for IT leaders.

By using data to build applications—removing the syntax, grammar and time spent learning each coding language—you are able to remove any translation barriers between the developer and the machine, resulting in an application that aligns with the intended outcome.

Rethinking Application Development Through Data And Visual Development Environments

One intriguing facet of DDS is the innovative approach to recording developer input and the way that applications are described. In traditional code-based development, business requirements and intent are intertwined with code, making it challenging to extract and manipulate. With DDS, they are stored as structured data, separate from the underlying code, strictly adhering to a predefined open standard. This separation between the definition and the codebase that powers the application enhances companies’ ability to analyze, adapt and scale systems in response to changing business requirements.

While the definition can be written manually, it can also be coupled with a codeless visual designer, further democratizing enterprise application development by allowing non-technologists and developers to collaborate during creation.

Bringing The Application To Life: The Runtime Engine

Despite the departure from traditional code-centric development, DDS doesn’t eliminate the need for underlying code and runtime processes. Instead of custom coding, the data specification is coupled with atomic, reusable code snippets, which are invisible to the developer. The code and runtime aspects are encapsulated within the DDS platform, enabling applications to execute seamlessly while shielding users from the intricacies of coding. In the case of a simple text box, developers would simply write “component: ‘textbox’” that then points to just one common codebase. By reusing code snippets that perform specific tasks, data-defined software development solves the ever-growing technical debt IT leaders grapple with, reducing the total amount of code that needs to be reviewed and maintained.

Implementing Data-Defined Software: Potential Challenges And Tips

Embracing data-defined software unveils many more business and technical benefits, including faster time-to-market by eliminating extensive coding, better flexibility and adaptability to meet evolving business needs and much-improved collaboration between business and IT teams when coupled with a visual designer. But, like any (emerging) technology, potential users should keep a few things in mind when considering DDS for their next project, including:

• Specification Coverage: When building applications, not every feature, functionality or use case may be supported by the specification that drives DDS. As the standard matures and adoption grows, coverage will expand but users need to be aware of its limitations for now.

• Runtime: DDS relies on the runtime that interprets it, and the underlying technology (software language/codebase) may not align with its use case. For example, heavy computing for machine learning requires a specialized technology stack that DDS may not offer.

• Intellectual Property (IP): One of the pertinent questions in software development and DDS is the fate of IP when customers opt to switch providers or move to a more efficient programming language. As all user input is stored in data versus a readily executable programming language, applications remain dependent on the runtime. While this may seem like a limitation at first, DDS’ data abstraction simplifies the process of migrating to a new vendor or “re-mapping” their apps to another programming language.

• Migration: When building applications with DDS, thoughtful implementation is key to alleviating its limitations. New users should start the process small by rebuilding one application with DDS rather than everything at once—then, teams can assess how to improve the rollout process.

A Shift Toward Data-Defined Software Development

In an age where data reigns, data-defined software development emerges as the future of application creation. It untethers development from the confines of code, streamlining processes, fostering innovation and enhancing adaptability. DDS promises a world where software creation becomes more intuitive, collaborative and responsive to ever-changing business needs.

Data-defined software development is the next logical shift to the future of software creation. With data as the central defining element, DDS breaks the vicious cycle of creating, maintaining and patching technical debt. As organizations increasingly recognize the value of DDS, the journey toward software development that is truly data-centric is set to unlock the full potential of the digital age.


Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?


link

Leave a Reply

Your email address will not be published. Required fields are marked *