I’ve noticed recently people writing “User stories”. Examples: GNOME, Xen, Fedora doing something similar.
These are IMHO lazy, unscientific nonsense. For a couple of reasons:
- Unless you have done usability studies and surveyed real users, you have no idea what users want from your software.
- There’s no closed loop: You have to evaluate at the end of development how successful you were at meeting the needs of each user in each story. But no one is doing that, so they have no idea if they were successful or not.
I’d say this is yet another example of how software development really needs to grow up and become an actual engineering discipline.
Huh, since I don’t develop within the GNU or Linux community, I was confused by this notion of “user story” as informal, unstructured text, because outside of it, I associate that with Behavior-Driven Development and writing actual executable specifications for user stories as acceptance tests driving the development of code. In the context of BDD, user stories are fundamental and useful.
https://en.wikipedia.org/wiki/Behavior-driven_development
Where’s the science bit? How do you quantify that the input and measure the success of the final product?
Very little in our profession is actually a science. For example, nobody’s ever done anything resembling a controlled study determining which programming languages or development styles are “best”. Maybe in a hundred years. For now, much is anecdotal and probably very dependent on context (type of project, “culture”, etc.). For example, I personally far prefer to develop in statically typed higher-order languages and “believe” I am far more productive doing so, but I cannot “prove” that this is so or that it should be so for everyone.
Actually loads have been done. You should read Code Complete for a (slightly older) overview of all sorts of fascinating studies.