All too often, software developers are merely tourists in their own codebase. Sure, they write the code, but they don't use it on a regular basis like their customers do. They will visit from time to time, but they lack the perspective and understandingWhat got me thinking here is not so much the customer/developer relation and the communication problems, but the statement, that developers are tourists in their own codebase.
of users who -- either by choice or by corporate mandate-- live in that software as a
part of their daily routine. As a result, problems and concerns are hard to communicate. They arrive as dimly heard messages from a faraway land.
If we take a look at this statement from another angel, the developers angel, it suggests, that you write your code once and probably never come back to it again. Just like a tourist on a sightseeing trip, you always want see something new and don't return to the same old sights over and over again.
Take the typical tourist beaviour of taking pictures. If something nice comes by, tourists are taking pictures or even a video. The same for developers. If a particular part of your code is important or you think you've coded something in a clever way, you tend to memorize it or even reuse it in other projects.
Tourists, in contrast to developers, most of the time return to a place the visited, because it was special or they liked it so much that they want to spend more time there. Developers return to code for the opposite reasons. Most of the time you have to go back to some part of your code because it doesn't work. Or you can't remember how it works, because it was a pain to implement it.
Although the analogy is a good one, it doesn't work as I expected. I think most of us are not code base tourists, although there are certain similarities that we can draw. It's a dream of every developer to see something new every day, but as you can
already figure by now it's only a dream. In reality you probably come back to the same code base over and over again.