At its heart, modernization is about optimizing performance. So rather than analyzing code and reading vmstats, developers should be optimizing organizational processes and inefficiencies.
But instead, as engineers, we’ve wasted moonlit hours to track down differences in code and dependencies between systems (“It works on my machine!”) or go back to the whiteboard when the software we built isn’t what the users want. The further we get in the software development lifecycle without resolving bugs or design problems, the more time, money, and effort we waste.
For example, if it costs us one dollar to fix a defect in the software during the design phase; it will cost us 100x more, a hundred dollars in our example, to fix the problem once the software is released (maintenance phase). Here’s an overview of the relative cost increase from design through maintenance phase:
The further we get in the software development lifecycle without resolving bugs or design problems, the more time, money, and effort we waste.
What organizations and developers need is to modernize software development by adopting tools that eliminate software development inefficiencies, contain the development cost, and foster better collaboration with the operations and business stakeholders.
Modernizing with containers
“But it worked on my machine!”, “Why is the version of Python different in staging and prod?”, “We need the latest version of the Requests library and we’re running one from 2015!” Sound familiar? As a developer, I’m sure you’ve experienced something similar more than once. Containers offer the technical solution to these common software development problems and also helps us better collaborate with our colleagues in operations. But first, let’s define containers.
A container is an isolated filesystem containing the code, dependencies, and machine instructions for running an application. Through elegant use of cgroups, Linux namespaces, and chroot, containers package code and any dependencies of that code into a portable, executable software bundle that runs on any Linux system. The same container can then be deployed in any environment, without variation, allowing provably repeatable automated deployments.
Consistent deployments make our colleagues in Operations very happy. Containers facilitate this by providing a source controllable build manifest (usually a Dockerfile) that describes our code and dependencies, all in one place. This file represents the intersection between Operations and Development teams. Developers can use containers to actively collaborate with Operations engineers on resolving application dependencies, minimizing the effort spent on managing disparate environments; all the while increasing the speed at which new solutions are delivered.
Automated deployments and DevOps collaboration are great but does the application meet end-user requirements? Removing barriers between development and operations is only one half of the picture. It does not address inefficiencies caused by a lack of collaboration with business stakeholders throughout the app development process. No one wants to end up with a software that’s technically and functionally superior but fails to deliver value to its users. To avoid this, it’s necessary that the software development process involves business stakeholders right from the design phase of development.
True modernization with low-code
Low-code tools like Mendix empower business stakeholders and engineering units to operate on a higher abstraction level than traditional code. Instead of passing requirements back and forth through emails and risking miscommunication, Mendix model-driven development platform provides a common platform for developers, operations, and business users to collaborate actively throughout the app development process. Involving business stakeholders early on in the development process helps avoid costly, time-consuming friction between business and IT, and ensures IT builds apps that satisfy end-user and business requirements.
In addition to model-driven development, the Mendix platform lives and breathes container native architecture. Applications developed on Mendix low-code interface produce well-architected and extensible software that is automatically packaged in containers and granular APIs that can be utilized by your build and deployment (CI/CD) pipeline.
Ultimately, the goal of modernizing software development is to increase the speed at which we deliver high-value software to our end-users. Technology like low-code and containers helps us achieve this goal by accelerating the time from ideation to software delivery, removing inefficiencies in the development process, and actively encouraging collaboration between operations, development, and business stakeholders.
More information about Mendix model-driven development.
Joe Carroll is Product Marketing Manager at Mendix.
7 november (online seminar op 1 middag)Praktische tutorial met Alec Sharp Alec Sharp illustreert de vele manieren waarop conceptmodellen (conceptuele datamodellen) procesverandering en business analyse ondersteunen. En hij behandelt wat elke data-pr...
18 t/m 20 november 2024Praktische workshop met internationaal gerenommeerde spreker Alec Sharp over het modelleren met Entity-Relationship vanuit business perspectief. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare ...
De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Management Professional (CDMP) certificatie biedt een traject voor het inleidende niveau (Associate) tot en met hogere niveaus van...
3 april 2025 (halve dag)Praktische workshop met Alec Sharp [Halve dag] Deze workshop door Alec Sharp introduceert conceptmodellering vanuit een non-technisch perspectief. Alec geeft tips en richtlijnen voor de analist, en verkent datamodellering op c...
10, 11 en 14 april 2025Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikba...
Alleen als In-house beschikbaarWorkshop met BPM-specialist Christian Gijsels over business analyse, modelleren en simuleren met de nieuwste release van Sparx Systems' Enterprise Architect, versie 16.Intensieve cursus waarin de belangrijkste basisfunc...
Deel dit bericht