What I find interesting is that when I’m using a wiki, I love the fact that all of the users can do whatever they want — edit anything, delete articles, and generally make a mess of things. So I can’t help but think that the simple existence of user roles drives me to think in terms of those roles and who should be in them.
I think there’s something deep here about the way software is designed. When you provide users with features that define structure in some way, there is some compulsion to adhere to that structure, whether or not it makes sense. If your mail system provides folders, people feel like they ought to organize their mail in folders. If your bug tracking system provides a highly granular system of access control, people feel like they ought to assign privileges in that way.
...
These considerations add a layer of complexity to software design. As developers, we tend to think of adding new features simply as adding optional ways of usage that users can ignore, but there’s more to it than that. As users, we feel like we should use the options that are provided to us, whether it makes sense or not. I suspect this is one of the reasons for software spoilage.