In the beginning there were user stories.
Well, actually in the beginning there were requirements, but that was too easy, so it came to pass that everything had to be phrased using the following snowclone:
"As an X, I want to Y."
where X was some kind of user and Y was something you could sell. This was easy enough to subvert:
"As Dave, the IT guy, I want customers to stop yelling at me about our terrible software."
But somewhere along the line, some daydreamer sprouted a thought bubble in which the following words appeared: "What about the users of these so-called 'user stories'?"
Now, instead of having a simple requirement or even a user story, you create an entire fake human being, with their own thoughts and dreams and needs. In fact, you create several such humans, and attach the user stories to them directly. Next, you give these imaginary people names, and talk about them as if they are real.
So: you just boiled down the vast, multidimensional phase space of everything that your software could possibly ever need to be, and everything that a human being could realistically ask for, into - say - six discrete points. (Or four, if you run out of runway.) You'd better hope that all of your requirements were attached to at least one of these fake people. And that any new requirements which arrive can be easily attached to one of them. Unless you want to create a whole new persona to accommodate that one requirement, or modify an existing persona a little bit.
And also: all of your requirements are now smothered beneath an extra, unnecessary layer of abstraction.
"Jeff wants to be able to download and install our thing and deploy his first working widget within 60 minutes."
A previously clear requirement is now like the final line of some obscure Aesop's fable. Who's Jeff? Jeff doesn't exist. Why does Jeff want this? Again, Jeff does not exist. Why don't Martin, Sandra or Cornelius also want this? Why 60 minutes, not 45? Did any of the real people upon whom Jeff was presumably based actually say this thing? Who are those people? What did they actually say? What was the point of this obfuscation step - which, in case it wasn't clear, consumes real development time?
Inventing and naming imaginary people as if they were real is insane. It's a real form of insanity. To an adult, it is exactly as disconcerting a notion as the idea of having imaginary friends.
Meanwhile, there are real potential customers. These people have explicit needs, and these needs can't afford to be diluted or transmogrified. These people have money.
Or maybe not. Maybe Jeff's a metaphor for someone who doesn't exist. In which case, maybe don't make the software at all?
Take this to its logical conclusion. Give Jeff a hair colour, a wife, a bachelor's degree. Develop a potted history of his bespoke artisanal toothpaste startup. Develop a scenario in which Jeff hasn't got more than 60 minutes because it's his turn to collect the kids from school. Hypothesise a The Office-style documentary exploring his channel-switchingly boring and awkard professional relationships.
Maybe a point comes where the fictitious universe you've created is so detailed and wonderful that it might as well be real. At that point, you might as well be gathering requirements from reality. What an idea!
Or maybe a point comes where the personas are such detailed AIs that they cease to be useful. "Get lost," Jeff tells us when we approach him for more information, "we have toothpaste to ship. I'm too busy to talk to you. Your software is terrible, there's a laundry list of stuff you'd need to fix or add before we'd even consider using it. No, we won't tell you the list. Most of it's pretty obvious. You're the developers, work it out."
Oh no! Our imaginary friends don't even like us anymore. We built them too real.
"In fact," Jeff adds, "don't bother calling back. We went with your competitors. They got to market quicker."
Sandra and Cornelius and three other personas formed a competing company?
And made a superior offering in less time! Ack!