There are times where you obviously need to do the thing to understand the thing to see the process of doing the thing. This allows for breaking the process down into better steps. Just writing code to do things you think is doing thing but prove not to do the thing when actually doing the thing is common.