Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Background: I have just started at a new shop, where there is one other developer. This shop was not historically a software shop, and their software development process really shows it. They recently started using subversion (although most of the code is not in a repository), and they do not have a bug tracker. They sell desktop software, and more recently mobile GPS devices with proprietary software. This seems pretty unsustainable.

My problem: My manager seems amenable to installing Trac and integrating it with subversion. He's asked me to write a proposal for the company owners about it to justify why I might spend my valuable time fiddling with a Trac installation, and why we might change the development process to include formal bug reports and feature requests.

I have been trying to come up with reasons that matter to people other than me (e.g., not: "So I can see the whole story about why someone wrote this now-buggy code.") and sort of falling flat. I'm not a manager, and I don't know a lot about managing things. I just want to avoid the headaches attendant with coding in the wild west.

My Question: How do I (politely) tell managers that it's in their best interest to use Trac?

share|improve this question
add comment

5 Answers

up vote 4 down vote accepted

Trying to think of reasons that would persuade a manager, here are a couple of suggestions.

Resource tracking

With a central repository for tasks and bugs it will be much easier for a manager to keep track of where the time (and therefore the money) is spent. Even without time tracking a project management tool should provide a higher level overview of what is going on in terms of product development.

Customer satisfaction

Actually keeping track of issues forces you to address them. Without bug tracking it's easier to postpone tasks or simply forget about them. Following up is key to customer satisfaction.

Priority

Failure to prioritize is a recurring problem many companies suffer under. When you don't keep a list of what you need to get done, it's much harder for you to figure out which task is more important at the moment. People tend to focus on whatever problem falls into their lap, forgetting to stop and think "is this really the most important thing to be working on now?".

Keeping track of issues helps you stay focused on what is important. When everything is equally important, nothing is important. And when you don't work on the most important task, or leave it half done because something else comes along, you are wasting time and money.

share|improve this answer
    
+5 for this answer. Brief, to the point, and in words that managers will understand. –  Jennifer S Jun 15 '12 at 14:44
    
And I would add, it keeps track of the backlog which helps the manager justify hiring more people. –  HLGEM Jun 21 '12 at 21:00
add comment

What kind of "issue tracking system" are you using right now? Emails, PostIt notes, memory, none at all? In either case, a proper system will probably save some of your time, and by extension, your managers' money, in the long run. If you have some form of customer support or even a tester or two, a central tracking system will also cut down the necessary communication overhead between them and you.

Another point is accountability. Not in the sense of playing the blame game of who messed up, but once an issue is added to the tracker, it's much harder to forget than an email you got a month ago. And don't forget the possibility of time tracking. I'm not sure if trac can do this out of the box (if not, there's probably a plugin for it), but if you can attach work hours to an issue, this data will someday help you make more accurate estimations for future features. Which, in turn, will allow your managers to better plan their release schedule.

share|improve this answer
add comment

Most managers listen to one thing: money. So try to explain why this will save you time and effort in the future as you use it, and how that compares to the time needed to set it up (hint: graphs).

Also, ask them if they would expect you to do development work without a desk, or computer. The same thing applies with your other tools, you need them to develop (good) software.

Try and nail everything Trac can do down in terms of money, such as reporting costs. If you use Trac, a report costs $0 to produce for them. Otherwise, each report they request is inaccurate, flawed, and requires X hours of your time to produce. Which means that without Trac, a flawed report costs X*Rate, say 3*80=$240 per report!

share|improve this answer
add comment

I was in similar situation once. What happened was:

  1. I simply installed the damn issue tracker. A few hours to figure out and configure it, not a big deal.
  2. Started using it myself. Not everybody was using it yet, but so what: it was helping me already.
  3. Eventually the usage increased, as people recognized that it's actually quite useful.

So it boils down to: with ideas that are relatively easy and cheap to implement, just do it instead of wasting time with politics and proposals. Show, don't tell.

share|improve this answer
add comment

Bug/feature tracking is similar to a check register--it lets the business know what they are spending on what, and why they may be running out of resources.

With a checking account, you can spend money and do your best to keep track in your head how much you have in your account, but it's a risky venture. It's not so bad if you only write one or two checks a month, but if you write 50 or 500, chances are you are going to bounce one some time. If you keep a register, you'll know when your balance is low, and prioritize your bills over your cool-to-haves.

Likewise, if you only occasionally ask a developer to do something (fix a bug, add a feature), you may be able to judge how much that work is costing the business, and how much time she is spending on doing your work. The more you ask for, though, the harder it is to judge. At some point you will start asking for more than the developer(s) can accommodate immediately, so you'll need to keep a backlog of bugs/features (to make sure they get done eventually). You'll also need to prioritize which features get done first--are the developers wasting time on trivial stuff when there's something critical waiting? How do you know? Ultimately, if the backlog gets too big, it lets you know they have to make some deposits and hire are another developer.

So, really, bug tracking IS a management tool that let's management know how it is using the company's resources.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.