Blog & Articles

Article

Docker Server

Integrationstests sind zur Qualitätsabsicherung in komplexen Softwaresystemen unverzichtbar, dauern aber häufig sehr lange in der Testausführung. Hier hilft ein dedizierter Docker-Server.

Blog Post

Test organization and naming

As our system grows, so will our test suites. For our production code, we have learned techniques to keep it maintainable. For example, we try to structure our logic into sub-aspects, put them in specific locations and give the units meaningful names. We want to achieve the same for our tests. One of the main goals is that a developer - or generally speaking, the person who has to maintain the test - knows where to find which test. We also want to understand as quickly as possible what the test is for and what might be the reason for a failing test.

Article

Accessibility-Mythen aufgeklärt

Echtes Wissen über Accessibility

Blog Post

What’s in a name: Legacy

The term “legacy” has a negative connotation in IT, and stands for an old, somehow bad piece of software. In real-life, legacy has a completely different and often positive meaning.

Article

IT-Projekte: Kostenfaktor statt Wettbewerbsvorteil

Lange genug hat es geheißen, dass IT-Projekte einen Wettbewerbsvorteil versprechen. Schaut man der Realität ins Auge, wird ein IT-Projekt jedoch wie ein Kostenfaktor behandelt – nicht anders als Strom oder Miete. Dabei könnte es anders sein.

Blog Post

Test Strategy

Article

Innovation on steroids - Teil 2

Ging es in Teil 1 von „Innovation on Steroids” allgemein um die Innovationskraft von Machine Learning und die Identifizierung von ML Use Cases, beschäftigen wir uns im zweiten Teil mit der Frage, wie wir herausfinden, wo sich der Einsatz von ML/AI lohnt und wie wir danach strukturiert vorgehen.

Article

Stufe 3

14 Jahre nach Erscheinen von Scala 2.0 wagt die Sprache den nächsten großen Schritt. Wird Scala mit Version 3 so, wie es immer sein sollte? Ein Release Candidate steht schon in den Startlöchern und zeigt, wie sich die Scalable Language weiterentwickelt.

Blog Post

Decentralized Architecture: What’s Behind Blockchains?

Article

Smart Contracts programmieren in Ethereum

Ethereum steht hinter einer der populärsten Kryptowährungen – und doch ist es noch sehr viel mehr. Damit kann kryptografisches Geld dank Algorithmen nämlich völlig autonom verwaltet werden. Aber wie funktionieren die sogenannten Smart Contracts und wo geht die Reise hin?

Blog Post

What’s in a Name: Quality

We use the word quality colloquially for something “good” – but we usually leave open what exactly we mean by it. This article illustrates that we should be a little more precise in this regard.

Blog Post

Migrating the iSAQB® Mock Examination to AsciiDoc

Article

Innovation on steroids - Teil 1

Immer mehr Firmen setzen auf die Innovationskraft von Machine Learning und KI. Aber nicht jedes Problem lässt sich mit dem Einsatz von ML-Technologien lösen. Wie also kann man geeignete ML Use Cases identifizieren?

Blog Post

Collaborative Learning with Mobshops

After a year with COVID-19 and plenty of online activities, I think we are tired with workshops that copy the offline world into an online setting. More interactive formats are needed. In this blog post, I briefly describe my learnings with a new format I’ve developed and piloted in practice: Mobshops.

Blog Post

The (new) Software Architecture Foundation curriculum

Blog Post

Persistente fachliche Validierungen mit Rails

Es war einmal ein RoR-Projekt. Dieses fristete lange Zeit ein Schattendasein und drohte, Opfer einer Sunk-Cost-Fallacy zu werden. Am Ende wurde es eingestampft. Einige darin umgesetzte Ideen waren jedoch gut gewesen und sollten weiterleben. In diesem zweiteiligen Post möchte ich die Idee der persistenten Warnmeldungen festhalten, damit sie in künftigen Projekten wieder aufgegriffen werden kann.

Blog Post

iSAQB Advanced Level examination anti-patterns

As the “crowning glory” of the iSAQB(R) Advanced Certification, you have to write an approximately 40-page-long paper (AKA architectural solution) to a given problem. During our 5+ years of experience in reviewing such papers, we found several anti-patterns. This blog post aims to help future CPSA-A aspirants to avoid these nasty glitches.

Blog Post

Evidenz aus Hirnstürmen

Von Fischen und Kartoffelknödeln

Blog Post

Just Add Code
(Part 2)

The last post in this series established that Web Components are a good way to ship markup and logic to a browser in order to provide progressive enhancement. In this part I will show, how Githubs Catalyst library supports us to develop such Web Components.

Blog Post

Is Domain-driven Design overrated?

Domain-driven design (DDD) is a useful approach that provides excellent guidelines for modeling and building systems, but it is a means to an end, not an end in itself. While the concepts are valid, you lose a lot if you limit yourself to using them only: There actually is a life beyond DDD.

Article

What tracks do we leave behind with technology?

How monsters can teach us about responsibility: INNOQ Digital Art Edition 02

Blog Post

Just add Code (Part 1)

Running code on a browser using Web Components is a good method that allows you to have a defined scope for your markup and logic. However, the usual examples mostly lead to the user staring at an empty page in the case where JavaScript isn’t enabled, because in most cases all markup is generated by JavaScript only.

Blog Post

Kurzlebige Branches in Git

Während eines Kundenprojekts mussten fast durchgehend sehr umfangreiche Oberflächen mitsamt Backend implementiert werden, was zu Beginn in sehr großen Pull-Requests und Merge-Konflikten resultierte. Im Laufe der Zeit haben wir mehrere Branching-Strategien verwendet, um diese Herausforderungen in den Griff zu bekommen.

Blog Post

Turning a group of strangers into a team

Teambuilding during COVID-19

Blog Post

Defect Analysis using pandas

Defect Analysis is a classic analysis technique to get insights into how buggy your system might be. In this blog post, we explore how Defect Analysis works and how we can implement it with a standard data analysis tool from Python: pandas.