... to the digital home of Steven Schwenke.

This site is supposed to be a showcase for my thoughts about software engineering, less a personal homepage. If you want to know more about me, invite me to a beer.


Definition of Done

16 Mar 2015
Posted by Steven

Some people call me pedantic because I seem to have a checklist for almost everything. I like that because it's true. :) Today, I want to share my Definition of Done (DoD). This is a list of questions I go through every time I finish coding a requirement, fixing a defect or doing another non-trivial task of software development. Every question has to be answered with a clear "Yes!" before I can consider the task done.

Posted by Steven

The other day, I tried to delete a couple of records from our database. Not a hard task you may think and I would agree with you. However, this database table had quite a few incoming foreign key constraints that made it impossible to delete records from it without deleting records in other tables first. Not knowing the relations between tables made it impossible to decide which record to delete in which order. In search for a solution I found Jailer.

Posted by Steven

Yesterday, I ended my subscription of the magazine "Auto Motor Sport", one of the big German journals about automotive and racing sports. I will continue reading about automotive topics via a news platform from my employer, but quitting the "Auto Motor Sport" is a nice occasion to write about why you should care about the business of your customer.

Posted by Steven

Programmatically generating files in Microsoft file-formats is a common feature in applications I know. Excel spreadsheets are used for reporting, PowerPoint slides for presenting data and Word text files for textual reports. In this article, I want to focus on the current file format for PowerPoint: .pptx. The difficulty in creating these files lies in their format.

Posted by Steven

Given you visit a full-time event in another city, maybe a fair or a conference. What do you do when that event comes to an end? Do you rush to the airport to catch your flight? Do you hurry that much that you forget to say everyone goodbye? In the last hour of the event, do you constantly check your watch hoping you will be out soon enough? Well, don't. Just stay.

Posted by Steven

This is an article about a new tool in our project: the library jsoup. I want to describe the problem jsoup solves for us and the arguments why jsoup is the right library to solve this problem.


As in other applications, our users can input text via HTML editor. Often, they copy-paste content from several sources such as Microsoft Office. Hence, a lot of obscure, malformed and incomplete HTML with proprietary tags is thrown at our application.