It depends on the context. 'I expected that you would have finished by now' means why haven't you finished, while 'So far, you have only done half' could mean something like 'hurry up' or 'get on with it'. 'By now' would tend to signify something that should have finished or ended already, while 'so far' would imply something that you expect to go on for a while.