When research meets software development