8. December 2007 07:45
Have you seen this chart from Kathy Sierra?
I was reminded of it today by Michael Kölling, who writes:
"...even if some people can easily agree that we should fight feature creep and concentrate on the core features, they can never agree on what the core features are.
Too many people have their own favourite feature, that they see as absolutely essential for their daily work, and they will insist on it going in. And simplicity goes out the window quicker than a rat up a drainpipe."
I just added a significant piece of complexity to the permission scheme. Back in the "Nice, but I wish I could do more.." era, BugTracker.NET didn't have any permissions at all. Now it has a scheme that is fairly complex. I wonder if it's pushing the app over the Happy User Peak?
The trick is to add those less commonly used features in such a way that they are there for those who need them but don't get intrude on the majority. With BugTracker.NET, there are permissions that prevent people from doing anything unless the permission has been explicitly granted, but its default mode is that everybody has permission to do everything unless the permission is specifically revoked. That approach helps keep the app simple for newbies, helps people install it and get started quickly.
However, this new piece of complexity in the permission scheme (a way of grouping users who share the same permissions - it's sort of like a user "Role", but it can also be used to represent an external "Customer") intrudes a bit on the simplicity. I haven't invested enough time in making it hidden by default. So, I've got some work to do there.
The permission scheme is probably the most complicated bit of any issue tracker. There's always somebody who wants just a little bit more granularity. "Only a user who has Role A can edit field B, and field B appears only when issues of type C are in status D and being changed to status E, and only for project F....". There probably is an issue tracker out there that can make THAT user happy, but I suspect that issue tracker is on the far side of the Happy User Peak.