How DDD became a way to handle software complexity | Zoonk