Inspired by a question I used when I interviewed someone today: You are the boss. You have someone who generally does good work, but messes up one important area. Said person doesn't make much effort to improve that area. Overall, you aren't going to fire the person for it, as the good stuff they do outweighs the one bad thing. What do you do to get that person to change?
The specific example I used today was bug reports from developers. We get bugs. We fix them. We mark them as resolved in our system. Ideally, I'd like the guys working for me to include certain pieces of information when they resolve bugs. One piece of information is the set of files touched. Another is suggestions on functionality affected, so testers can have an idea what they need to test beyond the specific case described. But often times we don't provide anything except a terse fixed
message. Overall, getting the bugs fixed is what we pay them for. So we aren't likely to fire someone for not providing better information when that person resolves a bug. But to make everyone's life easier, we want them to start. So what do you do?