my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

What is a (business) process, actually?

The terms process and business process, in particular, are sometimes used lightly and without thinking too much about what those terms actually mean. Drawing upon and thinking in terms of the concept of a value chain (i.e., a set of activities designed to create a product or service that has value to a customer) some time ago I came up with this definition of what constitutes a process, not just when it comes to business and market value, but also with regard ... Read more

No-code, Low-code, Some Code and Everything In-between

CTO-for-hire (through Freeman Clarke) Alex Hudson recently wrote an article about what he terms "The 'No Code' Delusion": That so-called no-code and low-code tools will replace bespoke business software development entirely, no trained software developers required anymore. In a nutshell, it's the old pipe dream of just having to write a specification (in this case a visual one) and having the actual code write itself, the fallacy here of course being that the code is the final product rather than the specification ... Read more

Konrad Zuse: Not the most correct but the least complicated theories find practical application.

Not the most correct but the least complicated theories find practical application. - Konrad Zuse A translated quote from one of the inventors of computers and modern computer science I read last year under a bust of Zuse near Kleiner Tiergarten in Berlin this statement is more relevant today than ever. In software development in particular we often attempt to design solutions that cover each and every possible use case - however unlikely or even virtually non-existent that use case might be. ... Read more

Boring Solutions Revisited: Choose Boring Technology by Dan McKinley

Dan McKinley's article on choosing boring solutions, although not exactly new anymore, has been a welcome reminder for me to revisit the topic of of using boring solutions and keeping things simple. Dan makes the point that "adding technology to your company comes with a cost" or as I stated in my own article on this subject: "The elephant in the room is: There’s an opportunity cost to everything." Most choices come with a trade-off. If you decide to use a technology for the ... Read more

What’s Digitalisation Actually About?

Digitalisation, or digital transformation, as it is sometimes also called is an important subject matter as well as challenge for businesses today. Therefore, I find it strangely confusing that sometimes aspects are lumped together under this umbrella that are not or only tangentially related to what digitalisation actually is about. So, here's my - perhaps opinionated - take on what digitalisation is actually about and what it entails. In a nutshell, digitalisation comprises these aspects: Rethinking and being willing to change existing processes. Making ... Read more

Keep it simple, stupid

As something of a follow-up on my article on using boring solutions from two weeks ago I'd like to point you to a blog post by Justin Etheredge, cofounder of software development company Simple Thread: Software Complexity Is Killing Us In this post Justin outlines in which ways software development has become easier in the past few decades and also points out the ways in which it hasn't. Most of the complexity of software applications accumulates in the layer that deals with business processes. ... Read more

Use Boring Solutions

Often when working with both startups and project teams at larger, more seasoned companies I encounter a variation of the not invented here syndrome. This usually starts with the well-intentioned idea that in order to build the actual product you need ancillary services A, B and C in order for the product to work. However, more often than not instead of building the 'perfect' solution for your product yourself it might be a good idea to take a step back and think about ... Read more

Test-driven Development (TDD) with Angular 2 / 4

Recently, together with Jan Massenberg of Setlog I gave a talk on test-driven development (TDD) with Angular at the 2nd Angular Ruhr meetup. Currently, I help Setlog with improving their software quality and in particular with developing a SaaS tool that simplifies quality assurance processes (QA) in supply chain management. The talk was about hands-on experience with using TDD for implementing this SaaS tool. Read more

Using Spring JdbcTemplate Instead of Object-Relational Mapping

Spring JDBC and Spring JdbcTemplate in particular has become my go-to tool for accessing relational databases for quite some time now and for good reason in my opinion: The common way for using data from an RDBMS in an object-oriented context used to be and for the most part still is object-relational mapping (ORM) frameworks like the Java Persistence API (JPA) or Rails' ActiveRecord. As the name suggests these frameworks attempt to map data (and concepts) from relational, set-oriented data structures, which ... Read more

Clear Acceptance Criteria: The Key to Good Software Quality Right from the Start

Actually it should come as no surprise that clear acceptance criteria are a quintessential prerequisite for high quality software that meets both design requirements and customer demand. All too often however, acceptance criteria for software products are either non-existent or vague and ambiguous at best. Who hasn't come across 'acceptance criteria' such as "The app should have a modern UI." or "The application should be easy to use."? What do bromides like that amount to? Not much, unfortunately. Elena Kulik of RubyGarage wrote ... Read more
Next Page »