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: system and software architecture

27 May 2024
Reading time: 5 minutes

Fixing the architecture as we go may work in pure software systems but fails in systems that include mechanics and electronics.

When I wrote my first book in the 1990s, it was on software architecture. The central tenet at that time was that we had to be careful and intentional about the initial design of the architecture as subsequent changes were considered to be impossibly difficult. So, as a community, we developed techniques to assess architectures, determine the impact of design decisions, predict maintenance costs and so forth.

With the advent of Agile, the focus on software architecture was intentionally removed by the proponents as the notion of upfront architecture design went against the Agile principles of working software every sprint and responding to change in a fast and agile fashion. And lo and behold, we realized that it’s entirely feasible to undo and replace architecture design decisions in systems that have lots of functionality implemented already. Out of this grew the architecture technical debt community and the focus on architecture refactoring as a continuous process for every software-intensive system.

One of my concerns with the Agile paradigm is that it ignores architectural questions, considering them out of scope. Of course, we’ve compensated for that and added architecture activities, but the challenge remains: the paradigm doesn’t provide a constructive way to deal with architecture beyond the principle of fixing it as you go. That principle works for systems that are purely software, but when there are mechanical and electronic components present, it breaks down.

The notion of system architecture is central to Radical as it puts boundaries between areas of functionality where we can be quick and nimble and areas where we need to predict future needs, commit to hard change decisions and work our way around the resulting limitations. In many of the companies I collaborate with, there’s a bit of an antagonistic relationship between the people working with atoms and those working with bits. However, any system incorporates both, so we need to ensure that we carefully design the interface between the atoms and the bits to maximize positive business outcomes and maintain as much future optionality as possible.

The atoms need to be architected to support the bits rather than the other way around

For some reason, many system architects have their roots in mechanical or electronics engineering. This often leads to a tendency to consider software, data and AI to be in service of the mechanics and electronics. In a rapidly digitalizing world, this is where I disagree: the atoms need to be architected to support the bits rather than the other way around. This means, among others, ensuring enough memory and computer ‘headroom’ so that we can offer software updates throughout the economic life of the system. In addition, if we want to get any data out and new software and AI models in, connectivity is a critical element. Finally, whenever there’s a choice to realize functionality in mechanics or electronics or in software or machine learning models, the latter should be prioritized as it provides more flexibility and the ability to provide post-deployment updates.

Similar to any architect role, the role of a system architect is to predict where the business will take itself and prepare the system architecture to optimally support the most likely business strategies. This has at least three main implications: platforms, upgradeability and the ecosystem.

First, as the mechanics and electronics need to be in service of the software and the machine learning models, we need to minimize the amount of unnecessary variability between different products the company puts on the market. Earlier, this was less of a concern as we had to do verification and certification only once, but with the adoption of DevOps, every point of variability is expensive as it needs to be considered for every release of new software. The best way to accomplish this is to organize the entire product portfolio as a superset platform where every product is a configuration of the platform components.

The benefit of a superset platform is that testing, verification and certification can be done for the platform rather than for each product derived from it. Done right, this requires less effort, time and resources and enables DevOps in contexts where it would be prohibitively expensive for individual products.

Second, the question of upgradability often goes along the atoms-versus-bits line. Many reason that it’s cheap to upgrade software, hence DevOps, and prohibitively expensive to upgrade anything atoms. In practice, it’s not as black and white. Virtually any system including atoms has some form of maintenance associated with it. Replacing some of the electronics with a higher-performance alternative during scheduled maintenance windows isn’t necessarily free but may well be worth the effort to extend the system’s economic life and increase the opportunities for continuous revenue.

Especially for systems with a long lifetime of one to three decades, the cost of putting bleeding-edge technology in at the time of initial deployment with the intent of providing headroom for a lifetime of updates is likely higher than a model where the electronics is replaced every couple of years and we use mainstream, low-cost solutions every time.

The third dimension to consider as part of the system and software architecture is the ecosystem. Many companies seek to open up some aspects of their offerings so that customers or third parties can build integrations and extensions beyond the base product functionality. This requires architects to define interfaces that can be used by these parties. The broader the access to an interface, however, the more stable it has to be as the cost of evolving it doesn’t just concern internal R&D activities but also forces customers and third parties to invest in evolving.

What aspects of the system to open up and how to open up is a business strategy decision that’s realized through architectural means. This is, once again, one of the areas where the interdependence between business strategy and architecture is very strong. Architects need to focus as much on the business implications of the interfaces that they design as they need to ensure functionality, safety and security.

The Agile paradigm largely ignores the notion of architecture and encourages us to fix things as we go. This may work to some extent in pure software systems but fails in systems that include mechanics and electronics. In these cases, we need to design the system architecture in such a way that (1) the atoms are in service of the bits, (2) we organize the system portfolio in a superset platform, (3) we support upgrades of software and machine learning models as well as electronics and, where necessary, mechanics throughout the economic life of systems and (4) we open up to the ecosystem of customers and third parties around us in line with the business strategy we’ve chosen. To end with a quote from Norman Fisher: “As an architect, you design for the present with an awareness of the past for a future that’s essentially unknown.”

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}