Skip to content
iSAQB Blog IMPROVE interview with curator Gernot Starke

Why Should I attend the CPSA® Advanced Training IMPROVE (Evolution and Improvement of Software Architectures)?

An Interview With Curator Gernot Starke

What is behind the CPSA Advanced Level module IMPROVE, one of 17 trainings that partic­i­pants of the Advanced Level can choose from? The CPSA Advanced Level is the second step within the iSAQB’s multi-level CPSA program (Certified Profes­sional for Software Architecture) after the Foundation Level.

Gernot Starke, iSAQB member and curator of the Advanced module IMPROVE, answers some of the most important questions concerning this Advanced Level training in respect of target group, relevance, and  learning outcome in this exclusive interview.


Am I the right partic­ipant? Which audience does the module IMPROVE address?

Simply said: Anybody working on an existing IT system in devel­opment, architecture, or technical management roles.

As a matter of fact, most (if not all) existing systems have accumu­lated a number of typical problems over time, often coined technical debt (it would be better to call these problems organi­za­tional and technical debt, but that’s another topic). Let me give a few examples:

  • Lack of maintain­ability due to unnec­essary complexity
  • Brittleness, changes in one part of the systems have bad and surprising conse­quences elsewhere
  • Use of outdated technology or third-party products (e.g., still using Java‑6 based frame­works in 2022)
  • Insta­bility, mediocre perfor­mance, security risks, waste of resources, or similar kinds of quality problems
  • Issues within the devel­opment process, like bad or vague requirements, missing automation


How is the IMPROVE training course relevant for my profes­sional practice as a software architect or developer?

The name of this training (IMPROVE) clearly states the intention: You will learn how to system­at­i­cally get rid of existing problems and how to improve the situation.

As a rough guess, approx­i­mately 75% of work is spent on existing IT systems, and only 25% on creating something new from scratch. IMPROVE addresses this 75% majority – which is often neglected in formal or basic education.

Therefore, the approaches taught and discussed in IMPROVE trainings will be relevant for every IT profes­sional, from archi­tects and technical management to devel­opment and test.


Which skills do I acquire from this module, what exactly do I learn in this training course?

The process of system­at­i­cally improving any situation consists of three funda­mental steps:

  1. Method­i­cally assess the situation, get an overview of the existing problems. Please note the plural here: Usually we have a multitude of problems, not a single one only. Partic­i­pants will learn about analysis techniques to identify different types or categories of problems.
  2. Evaluate and prior­itize these problems to bring them in a reasonable order. You will learn how to find out whether a problem is worth solving from both technical and economical perspec­tives. That will often be tricky – as different stake­holders will have different percep­tions on these problems. One person’s problem might be the other person’s feature. This evalu­ation part of IMPROVE helps to convince other stake­holders (like management).
  3. Only after analyzing and evalu­ating problems should you begin to system­at­i­cally improve by solving the most important and pressing problems first. IMPROVE trainings will equip you with a spectrum of typical approaches and practices, e.g., for re-struc­turing systems, updating outdated technologies, improving automation.

Optional aspects of IMPROVE trainings include risk management or planning techniques (so you can, for example, re-structure your system while still deliv­ering new features).


How is IMPROVE related to classical software engineering and devel­opment practices? 

Classical software engineering concen­trates on creating new systems from scratch without having to care for (large) existing code bases and other severe technical and organi­za­tional restrictions.

Many existing coding and architectural patterns and practices assume a fresh start – and therefore fall short in practice where the burden of existing legacy makes appli­cation of standard principles (like loose coupling, clean code, separation of concerns, and other funda­mentals) really difficult.

IMPROVE combines existing practices and approaches, is completely tool- and vendor-agnostic. It works with all kinds of systems, from embedded, real-time, information, and web systems to data warehouse.

It draws from the estab­lished open-source (architecture improvement method) aim42.


You would like to learn more about the CPSA Advanced Level module IMPROVE? Please visit the IMPROVE module web page. 

You would rather find and book a suitable IMPROVE training course right away? Then check out our training calendar.

Share this article:

Related Posts

About the Author

Dr. Gernot Starke
Gernot Starke, INNOQ Fellow, is a computer scientist through and through. He finds programming cool and loves the challenges of modern software systems. Gernot is a co-founder of iSAQB and has headed the “Foundation Level” working group for almost 10 years. He is also the co-founder of the two open-source architecture methodology projects arc42 and aim42. In his everyday working life, Gernot advises companies from various sectors on systematic software architecture. He regularly holds training courses on architecture and related topics. The first edition of his book, “Effektive Softwarearchitekturen,” was published in 2001 and has since been continually updated – the latest (9th) edition was published in 2020. Together with Alexander Lorz, he created the (English) “Software Architecture Foundation - CPSA-F Exam Study Guide,” published by VanHaaren International – the only book that explains all 40 CPSA-F learning goals individually.

Stay Up-to-Date with the iSAQB® Newsletter!

Scroll To Top