Dealing with complexity in development evaluation: a practical approach