Intime Eingriffe in Teams und Schätzprozesse mit Story Points

Dieser Blogpost ist ein Erfahrungsbericht aus einem Softwareprojekt. Es wird die Umstellung des Vorgehens bei Schätzungen mit Story Points im Backlog-Refinement beschrieben. Wer wenig Zeit hat und eigentlich nur ein Management-Summary haben möchte, sollte einen einen Blick auf die Zusammenfassung am Ende des Posts werfen. Für alle Anderen beginnen wir jetzt mit dem ersten Teil und der Problem­beschreibung als Auslöser der Umstellung.

Weiterlesen

Natural Language Understanding (NLU) with PHP

Anyone can write an Alexa Skill in PHP, but what about NLU, natural language understanding? There are now some tools for this, but they were written in Python, as it is often the case in the machine learning environment. Below I show you how to do this with RASA NLU in PHP.

Weiterlesen

BreakUX – schlechte UX kann jeder

Schlechte UX kann jeder … das hört sich trivialer an, als es ist. Trivial wäre, gedankenlos und unreflektiert zu handeln und einfach irgendetwas zu tun. Bei der Implementierung von Benutzeroberflächen in der Software-Entwicklung passiert das leider viel zu oft. Aber auch bei der Planung neuer Features, der Gestaltung von Kundenbefragungen, usw. zeigt sich immer wieder eine gewisse Fahrlässigkeit.

Bei bewusst schlechter UX geht es aber gerade nicht um Gleichgültigkeit oder Fahrlässigkeit. Es geht vielmehr um das wohlüberlegte Treffen möglichst schlechter und bösartiger Entscheidungen. Das ist ein deutlicher Unterschied.

Weiterlesen

Erstellen einer einfachen REST API mit Spring Boot

Dieser Artikel richtet sich vorwiegend an Leser, die das Spring Framework noch nicht kennen, und soll ein kleines Intro in dieses geben.

Im Folgenden wollen wir beispielhaft einen einfachen Spring Boot Service erstellen, der ein REST API für Wetterdaten zur Verfügung stellt.
Weiterlesen

Zusammenarbeit über Teamgrenzen hinweg

Innerhalb eines Entwicklerteams funktioniert die Kooperation meist sehr schnell ziemlich gut – allerdings oft nur bis zur Teamgrenze. Team- oder auch unternehmensübergreifend dagegen wird weiterhin versucht, Kooperation in Form von Hierarchien, Verträgen und Verantwortlichkeiten festzulegen. So werden zum Beispiel Wissenssilos gefördert und das wahre Potenzial der Teams kaum ausgeschöpft.

Warum ist das so? Was kann man machen, um die Zusammenarbeit über die Teamgrenze hinaus zu fördern? In meinem letzten Blogpost Mentale Modelle für eine bessere Zusammenarbeit habe ich euch erzählt, wie wir bei Mayflower die Zusammenarbeit innerhalb der Teamgrenzen stärken. In diesem Beitrag zeige ich Wege auf, wie man das teamübergreifend bewerkstelligt.
Weiterlesen

Mentale Modelle für bessere Zusammenarbeit

Wir bei Mayflower schreiben uns auf die Fahne, dass wir mit ehrlicher Kooperation, Agilität und Kompetenz gute Software bauen. Was bedeutet das genau?

Ehrliche Kooperation im agilen Kontext bedeutet, es existieren gemeinsame mentale Modelle, man hat ein gemeinsames Verständnis. Wir nehmen das agile Manifest ernst, sprechen direkt zueinander, unterhalten uns, teilen Erfahrungen … und bauen somit ein gemeinsames Verständnis auf.
Weiterlesen

Dude … we have to talk about this (in JavaScript)

Recently I stumbled about this post about The complete elimination and eradication of JavaScript’s this.

To give you a TL;DR: The author states that almost no JavaScript developer understands this, that it is a terrible concept, and introduces a library that allows developers to avoid using this in many circumstances. So, we had a twitter discussion with pretty opposing standpoints: I think this in JavaScript is quite simple, versatile and really useful.

But in the next days, it got me thinking …

Weiterlesen

TypeScript 3.0 – das sind die Neuerungen

Am 30. Juli 2018 wurde TypeScript 3.0 veröffentlicht. Die quelloffene Transpiler-Sprache aus dem Hause Microsoft feiert damit ihr knapp sechsjähriges Bestehen und da ich selbst ein großer Fan von TypeScript bin, möchte ich Euch in diesem Artikel die wichtigsten Neuerungen dieser Version kurz vorstellen.

Weiterlesen

Symfony 4 Using Private Recipes with Flex

There will be a situation, you want to benefit from the new Flex-Plugin for composer when using Symfony 4 and there is an internal Library which should not be published to public.

Good News: There is a possibility for a private Recipe Server which is still in BETA but works already very well.

Weiterlesen

LSH – an efficient approach to nearest neighbour search

In Image similarity search with LIRE we explained how to compare and find similar images using the Java library LIRE. The idea was to transform the complicated problem of comparing a large bunch of pixels to the simpler problem of comparing vectors representing histograms and other higher-level properties. In other words, if we can compress the information inherent in a bunch of pixels to a point in n-dimensional space (an array with n entries – the so called feature vector of the image), we can regard the distance between two such points as a similarity measure for the corresponding images. We can then find the images similar to a search image by selecting those images whose feature vectors have a small distance to the feature vector of the search image.

However, a naive approach to the problem – comparing the feature vector of the search image to all feature vectors in the database – is rather slow if our database is large. In this article, we show how to implement a fast similarity search for even very large databases.

Weiterlesen