When I was in college a professor told us a story about an architect (Developer) who would build all of his buildings, but put down no sidewalks. He would just plant grass. 6 months later he would come back and put sidewalks down where all the paths were worn. In this way, he assured that the walks would be where the people were mostly likely to walk. The point of the story was that we should observe how people do whatever it is we are trying to model in software and then build it to work that way, thus creating “user friendly” software.
I am told that when they built the University of California at Irvine, they did not put in any sidewalks the first year. Next year they came back and looked at where all the cow trails were in the grass and put the sidewalks there.