Skip to content
Bits&Chips
×
×
About
Memberships
Advertising
Magazines
Videos
Contact

Log in

Jan Bosch is a research center director, professor, consultant and angel investor in startups. You can contact him at jan@janbosch.com.

Opinion

From Agile to Radical: architecture refactoring

3 June 2024
Reading time: 5 minutes

Software-intensive systems require continuous architecture refactoring in response to the company’s continuously evolving business strategy.

Architecture provides the linchpin between business strategy and technology strategy. Previously, we’ve explored how deep the relationship is between architecture choices and the available business strategy options. As the world is constantly evolving, we need to evolve with it. This means not only adjusting our business strategy to changes but also, by extension, changing the architecture of our offerings and platform.

Especially leaders with a background in mechanics or electronics often fail to understand the continuous nature of digital technologies. For atoms-based products, the typical process consists of a product development project, followed by a start of production where all changes to the product are stopped to effectively scale production. There may be smaller follow-up projects to address reliability issues or drive down cost by reengineering expensive parts, but the default state is “don’t touch.”

Many seek to treat software in the same way, which is a challenge. We often use external components, ranging from operating systems to databases and from open-source packages to highly specialized commercial extensions, that are subject to continuous evolution. We need to incorporate these new versions when they become available to stay compatible with other systems that our offerings interact with, to ensure safety and (cyber)security as well as from a branding perspective where we want to be seen to run in the front of the pack.

In addition, the feedback from the field, through our sales staff and customer support, as well as the automated data collection in our products, provides a constant stream of requests for changes, updates and extensions. Often starting with modifications to deal with quality issues, companies rapidly move to more frequent releases that also include new functionality.

Such frequent releases require changes to the architecture. This constant evolution of the architecture is also referred to as refactoring and presented as the solution part of the architecture technical debt problem. Although technical debt is often viewed as the shortcuts taken by architects and engineers to rapidly solve a problem, one of its primary sources is simply domain creep: the problem we initially solved and designed the architecture for has evolved and changed. We need to respond to this by evolving and refactoring the architecture of our offerings.

Again, for those with backgrounds outside of the digital realm, architecture refactoring may easily seem an infrequent, special event. In mechanics and electronics, these refactorings are often caused by some supplier sunsetting a component, forcing us to upgrade or switch to another supplier, requiring architecture refactoring. In software-intensive systems, however, there’s a constant flow of architecture technical debt items requiring architecture refactoring.

We will do architecture refactoring whether we like it or not

Our empirical research on the topic (including work by multiple PhD students and postdocs, covering well over a decade) has resulted in many learnings, of which I’ll discuss three here. First, we will do architecture refactoring whether we like it or not. Companies that fail to continuously invest in architecture refactoring tend to experience increasing debt levels in their systems, resulting in less productive development, high quality assurance cost and high-profile failures in the field. When productivity and quality become real issues, leadership decides that something needs to be done, which boils down to either a major overhaul of the existing architecture or a fresh start by building a new platform. Either approach means investing major resources into what, in effect, is architecture refactoring. In practice, it’s much better to allocate 10-25 percent of R&D resources to architecture refactoring continuously and avoid the really bad times.

Second, although the general belief is that software ages over time, the fact is that this is a choice, not an inevitability. With sufficient investment in architecture refactoring, the software can stay up to par for decades and as long as there’s a business need for it. However, it does require continuous investment in architecture refactoring and risk-taking in cases where major architecture design decisions, eg the database used for the system, need to be refactored.

Third, everyone loves a greenfield approach where we start from scratch. Few realize what a high-risk endeavor starting from scratch really is. A new architecture with new technologies brings its own set of risk factors as we have no experience with these ‘modern’ technologies. Also, the amount of domain knowledge embedded in our legacy systems is typically vastly underestimated – sometimes with a factor of 2 to 10!

Another risk is that, while the new architecture is under development, the legacy system needs to be maintained and evolved as that’s what’s running the business and bringing in the revenue. This means the organization needs to split its resources, as a result of which it easily ends up in the worst of both worlds: the new architecture is delayed due to resources being redirected to the legacy system. Similarly, as the legacy system isn’t receiving sufficient resources, customers are complaining and may leave for competitors. I’ve worked with companies where the new architecture and the legacy system had been co-existing for a decade or more! And by the time we’re finally ready to fully switch to the new architecture, it’s already outdated and people start to talk about starting from scratch again.

My advice to virtually any company I work with is to not start a new platform, stop thinking in terms of platform generations and instead focus on the current platform and invest sufficient refactoring resources into it so that you don’t need to start from scratch again.

Software-intensive systems require continuous architecture refactoring in response to the company’s continuously evolving business strategy. Failing to cater to this will cause productivity and quality concerns over time and will require us to address this anyway by a major architecture overhaul or starting a high-risk and draining greenfield initiative. As we will be paying the effort anyway, it’s much better to continuously invest 10-25 percent of resources into refactoring and ensuring the offerings are always up to par technically and in relation to the business strategy. To end with a quote by Philip Johnson: the future of architecture is culture. Make sure you choose the right ones!

Related content

Machines that think: the design loop

From research tool to software modernization service

Top jobs
Your vacancy here?
View the possibilities
in the media kit
Events
Courses
Headlines
  • Summit in Delft addresses Europe’s shortage of systems thinkers

    26 October 2026
  • Micron rules out 4F² DRAM in favor of continued scaling and 3D transition

    22 October 2026
  • Nvidia moves optical engines onto interposer

    22 October 2026
  • Melexis selects Neways for pressure sensor packaging

    22 October 2026
  • Amsterdam quantum venture wins Photondelta contest with chip-based atomic clock

    21 October 2026
  • Photon Bridge raises €10M to scale lasers for AI interconnects

    21 October 2026
  • Intel pitches 300mm silicon photonics with integrated InP lasers

    20 October 2026
  • New Origin photonics fab clears power and water hurdles

    20 October 2026
  • Quantinuum reports error correction advance toward 2029 quantum computer

    20 October 2026
  • Chinese startup presents 15-watt EUV source prototype

    19 October 2026
  • Terafab reportedly to receive first ASML EUV scanner in mid-2027

    19 October 2026
  • Cloud giants’ capital spending to exceed $1.5T in 2027

    19 October 2026
  • Fab construction on the rise to meet AI demand

    14 October 2026
  • ASML considers further capacity expansion beyond existing growth plans

    14 October 2026
  • Eindhoven-based chip designer Sciosense acquired by China’s Fortior

    13 October 2026
  • Dutch high-tech sector calls for lasting successor to Growth Fund

    13 October 2026
  • Spectacell raises 6 million euros for chip-based cell imaging

    12 October 2026
  • Globalfoundries targets physical AI with new FD-SOI platform

    12 October 2026
  • Besi and Applied deepen packaging collaboration

    6 October 2026
  • Xiver secures €28M for production expansion

    5 October 2026
Bits&Chips logo

Bits&Chips strengthens the high tech ecosystem in the Netherlands and Belgium and makes it healthier by supplying independent knowledge and information.

Bits&Chips focuses on news and trends in embedded systems, electronics, mechatronics and semiconductors. Our coverage revolves around the influence of technology.

Advertising
Subscribe
Events
Contact
Follow us on
High-Tech Systems Magazine (Dutch)
(c) Techwatch bv. All rights reserved. Techwatch reserves the rights to all information on this website (texts, images, videos, sounds), unless otherwise stated.
  • About
  • Memberships
  • Advertising
  • Videos
  • Contact
  • Search
Privacy settings

Bits&Chips uses technologies such as functional and analytical cookies to improve the user experience of the website. By consenting to the use of these technologies, we may capture (personal) data, unique identifiers, device and browser data, IP addresses, location data and browsing behavior. Want to know more about how we use your data? Please read our privacy statement.

 

Give permission or set your own preferences

Functional Always active
Functional cookies are necessary for the website to function properly. It is therefore not possible to reject or disable them.
Voorkeuren
De technische opslag of toegang is noodzakelijk voor het legitieme doel voorkeuren op te slaan die niet door de abonnee of gebruiker zijn aangevraagd.
Statistics
Analytical cookies are used to store statistical data. This data is stored and analyzed anonymously to map the use of the website. De technische opslag of toegang die uitsluitend wordt gebruikt voor anonieme statistische doeleinden. Zonder dagvaarding, vrijwillige naleving door je Internet Service Provider, of aanvullende gegevens van een derde partij, kan informatie die alleen voor dit doel wordt opgeslagen of opgehaald gewoonlijk niet worden gebruikt om je te identificeren.
Marketing
Technical storage or access is necessary to create user profiles for sending advertising or to track the user on a site or across sites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}