I dislike hypothetical subjects
When you write a text like this, you need to pick a title that summarizes your content.
But you, dear reader, know that I’m not talking specifically about you. I probably don’t know who you are at all. But I still refer, in a generic “you”, to you specifically at some points like in this paragraph, where I talk about the person that’s reading this text in this exact moment. And sometimes I refer to a generic hypothetical “you”, a someone that would be in this situation and reacts in a particular way, like the first paragraph of this post.
This is a consequence of how 99% of communication happens: between a sender of information and the receiver. In a conversation, the roles will exchange and may even mix, but still it’s mostly uni-directional at any time.
And most languages even have common expressions that are part of everyday speak, were a hypothetical you or a hypothetical I make it into a description of a hypothetical scenario.
I’ve seen this a lot in software business analysis, where a conversation may go like this (C: Client, BA: Business Analyst).
C: I need a button here.
BA: So what happens when you click the button?
C: When I click the button, I should see the main screen.
BA: And if the system is not ready, when I click the button, I should see the “Please wait” screen, right?
[BA writes down: “As a user, when I click on the button, I should see the main screen”, “As a user, when I click on the button, if the system is not ready I should see the wait screen”]
Notice how they both used a hypothetical I, although in my opinion, the BA should have gone with a hypothetical you, to keep the thought process going in the mind of the client.
In Spanish this happens a lot more often, where people will say “tengo que” (I have to) when they are actually describing a process that does not involve them directly, if at all.
And today I found a unit test that said “When the button is clicked, I need to see the main screen”. Who’s me? Is that the system? Is that the user? The mixture of passive voice and active voice drove me nuts because it threw away the context that the rest of the unit tests had (“Component X should validate the value”, things like that.)
But then, we do it everyday. At some point its even unavoidable, because every sentence has a subject, and when the subject is hypothetical, a subject is still needed.
As such, I will try my best to use words that describe a good “actor” or subject for those sentences.
- “When the application user clicks the button, the system should show the main screen”
- “When the application user clicks the button and the system is not ready, the system should show the wait screen”
- “Component X should validate the value”
Not having hypothetical subjects even make sentences easier to read. There’s no need to figure out who’s you and who’s me. They take the form of <someone> does <something> and that’s it.