Skip to content
iSAQB Blog FUNAR interview with curator Michael Sperber

Attending the iSAQB® CPSA® Advanced Training in Functional Software Architecture (FUNAR) – Who Should Take The Course and Why?

An Interview With Curator Michael Sperber

Which audience does the module FUNAR address? 

The training course is meant for all software archi­tects who are curious about approaches to software architecture that are funda­men­tally different from tradi­tional OOP-based approaches (and more effective, of course).


What is the relevance of the module for the profes­sional practice of software architects?

That depends: Functional architecture already differs substan­tially from object-oriented architecture, and it unfolds its full effect only if functional programming languages are used.

Many projects are hostile to or at least skeptical about changes and innova­tions, especially in Germany. However, in projects and teams that are open to other and partic­u­larly effective approaches, there is actually always a way to benefit from functional architecture.


Which skills do software archi­tects acquire from the module, what exactly do they learn in this training course?

First of all, the course teaches basic skills in dealing with immutable data (a corner­stone of functional architecture) and with systematic abstraction to begin with.  This includes the typical functional abstraction patterns.

The course then teaches how these techniques can be used for partic­u­larly effective domain modeling, especially for the creation of so-called combi­nator models, which are notably flexible and durable.  Furthermore, the training course teaches how functional programming works in the context of Domain-driven Design – the two approaches harmonize quite well. (There are other topics, but these are the most important ones.)


Why should (prospective) software archi­tects partic­ipate in such a training course?

Functional architecture comes with several advantages:

  • It drasti­cally reduces architectural coupling and thereby ensures better maintainability.
  • Functional domain models are more flexible and therefore more durable than typical DDD models.
  • Functional architecture makes it easier to define important properties of the software and ensure that the software has those properties.


Can software archi­tects benefit from the training course even if they do not (cannot) use a functional programming language in practice?

At least partially: The essential techniques of combi­nator modeling, for example, can also be imple­mented in object-oriented languages. The resulting models also fit seamlessly into an OO context. However, the advanced abstraction techniques taught in the course require the use of a functional language.


Is functional architecture only acces­sible to highly advanced or “talented” architects?

Functional architecture is acces­sible to everyone: Functional programming in particular is the basis of very effective beginners’ education in computer science. (It even works for school children.) The bottom line is that functional programming and architecture is even easier than OO.

However, the functional concepts are foreign if you grew up with OO: it’s exhausting at first. The training is therefore usually offered with an optional one-day prelim­inary course that teaches the most important basics.


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

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


Share this article:

Related Posts

About the Author

Dr. Michael Sperber
Michael Sperber is CEO of Active Group in Tübingen, Germany, which does software project development using functional programming. Mike has been developing software since 1984, and is a recognized expert in functional programming, which he has been applying in research, teaching, and industrial development for more than 25 years. He's authored numerous scientific papers, articles, and books on the subject, among them the iSAQB curriculum on Functional Software Architecture. Mike is a founder of the blog and co-organizer of the annual BOB developer conference.

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

Scroll To Top