
3 Ways Enterprise Architects Can Bridge the Socio-Technical Gap
09 August 2023
Request your demo of the Sigrid® | Software Assurance Platform:
09 January 2019
4 min read
The tasks of IT-managers are diverse and challenging. These tasks include attracting and retaining the right people, selecting the right technology, delivering more with the same or fewer resources, dealing with all the political factors within their organizations, and respecting predefined targets and visions. You may find yourself facing these same challenges. The good news is that there are plenty of companies whose missions are to help. If your goal is to create software faster with a minimum amount of coding, then there are a number of low-code or no-code platform vendors who can bring some relief. Since their platforms provide visual composition possibilities, I’ll refer to those platforms as visual technologies.
Although the promise is compelling, there are a few important things to consider with regard to applying visual technologies. My colleagues and I at Software Improvement Group (SIG) recognize this, based on the many client projects we have executed. SIG has analyzed billions of lines of code, thousands of software systems, including the development teams that created and maintain them. We measure the underlying facts and provide clients with objective and impartial assessments to help management tackle their challenging software-related issues. This includes the analysis of many software systems implemented with visual technologies.
Best Practice # 2: Hire specialized and experienced developers to design your low-code apps
Once you have decided to use a visual technology platform, you also have to recruit people for development. Often, less experienced programmers are chosen to work with visual technologies.This happensbecause it’s assumed that many of the difficult coding development aspects are handled by the technology itself (see also best practice # 1). At SIG, we have seen this misconception lead to below average outcomes in some client projects.
The knowledge of a less experienced programmer is, however, not sufficient for working with visual technologies. In addition to writing embedded code where needed, a visual technology developer must be able to (1) create visual structures, (2) understand the default behavior of the visual elements, (3) review and change the default configurations, and (4) understand the ripple effects of configuration changes – as well as what’s happening behind the visual curtain. Putting experienced and capable people to work with visual technologies can therefore help to avoid the accumulation of technical dept, which over time, might cause your project to be unsuccessful.
Best Practice #3: Secure alignment between business and IT through well documented business requirements
It’s often assumed that business stakeholders themselves can perfectly specify what they want in a visual technology tool. While it’s true that certain business-related views, like high-level business processes, are easier to express with visual technologies, those views do not yet include all the necessary details of a system’s implementation. These details are added later by designers and developers through numerous configuration settings and often coding. The bigger and more complex the system to be implemented, the more such configurations and coding are needed. These additional configurations and code parts must respect and align with the business requirements. The requirements should therefore be documented and shared.
At its core, software development remains a decision-making process. In this process, management decisions have to be respected and enriched with technical (architecture and implementation) decisions. This nature of software development is independent of the chosen implementation technology and therefore also holds true for visual technologies. There will always be a need for a certain type of handover between business and IT since the type of decisions involved cover a very broad spectrum. Let’s accept this and strive for a better business and IT partnership.
Conclusions
One should precisely understand the type of work and knowledge needed to build software systems with visual technologies. This will enable you to avoid the related risks and use visual technology platforms to their full potential.
In addition to the three best practices described above, other relevant ones might exist. Which one would you add? Can you relate to the ones described? Do you have some thoughts that could further enrich the discussion of this topic? Please do let me know!
We'll keep you posted on the latest news, events, and publications.