Not always. It can be perfectly reasonable to implement something in a quick and dirty way to get it out there with a view to either kill it off (eg if it doesn’t get adopted by users) or re-write before it needs to be extended. The key is having the awareness when putting yourself in that position.
If you’re expecting shit data then you’d have unit tests for those cases so you’d know what to expect.