Here's How Your Mom Would Want You to Develop Software
We had a heated debate today in our weekly all-hands developer meeting about whether agile points should be given to bugs and chores as well as features. We use the story types mandated by Pivotal Tracker. In a nutshell, features are stories that add clear value to the user (so they can be expressed using the formulation "As a user I want...") whereas chores don't (they might be necessary, for example, to pay down technical debt). Bugs are, well, bugs.
According to Pivotal Tracker orthodoxy, only features are assigned story points. Your team's "velocity" depends on the average story points completed over the past 3-4 iterations, so if you spend a lot of time on refactoring or fixing bugs, your velocity will go down. So our sales team started agitating to assign points to chores and bugs as well so that "clients can appreciate all the hard work we're doing."
To me, this triggered memories of trying to keep my room clean as a child. If you're a slob like I was, you throw your dirty socks and candy wrappers on the floor until you're not sure there is a floor anymore. Your mom keeps saying "just put your socks in the laundry and your rubbish in the trashcan every day and you'll never have to tidy up." But somehow that seems like too much effort, so the mess accumulates until even you can't bear it anymore.
The danger is that by then the thought of tidying the room properly is too traumatic to contemplate. So instead you end up grabbing armloads of stuff and shoveling them into your closet. Close the closet door (push hard!) and voilà, your room is clean. Except it isn't. The mess is still there, it's just less visible.
Maybe your specs are incomplete or wrong, so you aren't developing what the client actually wants. Maybe you aren't writing enough unit or integration tests, so bugs get further in the development cycle than they should. Maybe you are coding too fast with insufficient planning, so your design is not capable of absorbing new requirements and needs larger and more frequent refactorings than it should.
Whatever the case, assigning points to chores and bugs is just stuffing those underlying problems into a metaphorical closet. Let story points do their job and warn you when there is a fundamental issue with your development process. But don't take my word for it. Ask your mom, she'll tell you the same.