Slashdot Mirror


Pushing the Need for Bug Tracking?

NorthwestWolf asks: "I am the sole developer for a medium-sized company. My work consists of developing intranet applications for the production, accounting, shipping and engineering activities at all of our locations. My dilema is that my boss is dead set on the idea that we DO NOT need a bug tracking system, nor does he feel that we have a need for version tracking. As much as I strive to write perfect code...that doesn't happen. Most recently, I asked to install a lightweight piece of bug tracking software that would not tie into the database, and was written in PHP (what our apps are already developed in). This was to be for me, and me alone; although my boss does produce some code and is the reason that I would like version tracking (he has made changes to my code that I was not aware of until I noticed problems with certain functions). So, to those of you who are, or have been in a similiar situation...what are you doing, or what have you done to get critical development tools such as these implemented at work?"

113 comments

  1. Quit by duffbeer703 · · Score: 1

    For real.

    Your boss is a tool, and you'll end up taking the blame for whatever happens when the shit hits the fan. Unless you're "getting your ticket punched" so that you have experience for another job, get out of there tomorrow.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
    1. Re:Quit by jrockway · · Score: 3, Insightful

      Even better, just ignore your boss. Where I used to work, getting things done meant doing them and THEN telling management. I setup Bugzilla (+MySQL) and CVS because I needed them. I asked beforehand, "hey, can I do this", and they said it wasn't necessary. I blew them off, set it up anyway, and now people (apparently) rely on it. I got an e-mail a few weeks ago saying it was down and they didn't know how to get it back up. (Which was too bad for them -- hire someone to run it if it's important. I don't work for you anymore!)

      Being a slashdot reader probably means that you're smarter than everyone else... just do what your gut tells you, and others will thank you for it. ;) That's the difference between a sheep and a genius.

      --
      My other car is first.
    2. Re:Quit by TheWanderingHermit · · Score: 2, Informative

      This is an excellent point. You're responsible for keeping all the chickens in the coop and well behaved, but your boss keeps opening up the gate, taking eggs, and letting them out -- and then YOU have to take the blame.

      Another thought, as well: there may be a good chance your boss simply doesn't have the background needed to understand a good way to use versioning or bug tracking. He may not want them because he is scared he'll look foolish if you install them and he doesn't know how to use them. Maybe you could work out some scripts and aliases that you could set up to make them work simply and easily and let him see how easy they are to use. If he can do it without feeling like an idiot or being afraid he's doing something wrong, he might change his mind.

      But if that isn't the case, he's holding you responsible for mistakes he may make and you're better off working somewhere else before his ID-10T errors fsck up YOUR resume.

    3. Re:Quit by arb · · Score: 3, Funny

      Being a slashdot reader probably means that you're smarter than everyone else...

      Oh that's too funny! You must be new around here... ;-)

    4. Re:Quit by crulx · · Score: 0, Flamebait

      Well, I'd say that you are the exception that proves the rule. *grin*

      His ID is WAY less than your. You just picked up that "new around here" meme from people like him. *grin*

      I bet that if we took a random sample of daily /. readers, we'd find an average IQ of at least 130.

      Not causative, I understand, but valid nevertheless. Now call me a n00b! *laugh*

    5. Re:Quit by arb · · Score: 0, Troll

      I bet that if we took a random sample of daily /. readers, we'd find an average IQ of at least 130.

      I very much doubt that. Why, even slashdot readers with low (ie, 4-digit) user ids don't even seem to be able to understand subtle humour, even when a smiley is attached. It would be interesting to see s study which analysed the average slashdot user. My guess is that the average user would turn out to be a 16-20 year old, male, wannabe hacker. Judging from the declining quality of comments (and story submissions) over the years, your IQ expectations are rather high.

    6. Re:Quit by tepples · · Score: 1

      Why, even slashdot readers with low (ie, 4-digit) user ids don't even seem to be able to understand subtle humour, even when a smiley is attached.

      It's called Asperger syndrome, and it's like dyslexia for sarcasm.

    7. Re:Quit by Boronx · · Score: 1

      This is good advice. I installed CVS without talking to my boss about it. Then one day a hardware problem crops up and he wants to know whether it could be software. Instead of chasing potential wild geese through the code, I just drag up an earlier version from CVS that we know works and test it.

    8. Re:Quit by crulx · · Score: 1

      Apparently my *grins* and *laughs* were not enough to lead you to the fact that I too was posting tongue in cheek, though I do rate the intelligence of the average /. user higher than you.

      And here I thought we were engaging in witty repartee. *lol*

    9. Re:Quit by crulx · · Score: 1

      I'm sorry to hear about your condition. I hope they find a cure for your sake.

  2. No offense meant but... by EQ · · Score: 3, Insightful

    Your boss is an idiot if he thinks more than one person can work on code without a revision control system and something to track defects. This is assuming yours is something more than a toy system. At a minimum, you need version control for the ability to "undo" large chage sets in case you go down a "bad path" and you need to reverse out a lot of code based on a faulty design decision or a deeply embedded bug.

    Your answer seems to lie more in the political realm than the technical. Good luck.

    --
    Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo! http://goo.gl/J9bkO
    1. Re:No offense meant but... by pthisis · · Score: 4, Insightful

      Your boss is an idiot if he thinks more than one person can work on code without a revision control system

      Heck, I think I'm a pretty good coder but I wouldn't work on anything non-trivial by myself without some sort of versioning.

      --
      rage, rage against the dying of the light
    2. Re:No offense meant but... by thequux · · Score: 1

      I second that... I am currently in school, and I keep all of my source code, homework, websites, and my system config in subversion. Plus, it makes backups REALLY easy; tar up the repository, compress and PAR it, burn it onto a CD, and I have backups of not only the most recent version, but every version since I started. And it's hard to forget to include something in the backup.

  3. Version tracking by Anonymous Coward · · Score: 2, Interesting

    I use RCS for everything. If the file has been edited and it was not checked into RCS, awww, shucks, your new code is gone.

    IF they did use RCS and the code breaks, bingo, you can see who broke it.

  4. Quit -- by chris_mahan · · Score: 3, Funny

    I'm going to echo the quit comment.

    Use bugzilla and subversion; both free, both easy and serviceable out-of-the-box (except no box in their case)

    Install them on a piece of crap system with debian stable and don't tell your boss they are there.

    If he fires you, tell your new boss during the interview that you were terminated for using bug tracking and version control.

    If you're too afraid, stay there, and do every single damn thing your boss tells you to.

    Again, quit. Your boss is not respecting your professional opinion.

    --

    "Piter, too, is dead."

    1. Re:Quit -- by prescor · · Score: 1

      If you can implement what you want with a minimum of effort/hassle, then do so whether your boss likes/endorses it or not. Keep it off-site if you must. Hell, even stock up on half a dozen flash drives and do it THAT way if you have to! And the first time it saves your/the company's bacon, make damn sure your boss KNOWS IT. Then hand him a requisition for whatever you need to properly implement what you NEED and compare that with the cost to the company as calculated by ($$$ lost per hour) * numberof hours The System was down because of a code glitch. If he still doesn't "get it", get out. You'll probably make more money freelancing yourself back to him as a consultant when he calls you. And he probably WILL coall you because it sounds like he doesn't want you wasting any time doing frivilous things like documenting your code either!!!

      --
      signat-url: http://www2.potsdam.edu/dctm/prescor/signat-url.ht m
    2. Re:Quit -- by Anonymous Coward · · Score: 0

      I like CVS and Mantis. But Insightful is right, install it, use it. If you're boss has a problem with it he doesn't know what he's doing. It doesn't take that much time an effort to simply track bugs. You should use version controlling on your software even if you're the only developer. It's just good practice.

    3. Re:Quit -- by NorthwestWolf · · Score: 1

      The issue of respect for my professional opinion has been creeping up on me for awhile...but I am trying to do what I can being in the position that I am as the lone developer to bring about changes that will benefit to company and bringing about those changes in a manner that ensure I am the only one who can and will get credit for it.

    4. Re:Quit -- by deranged+unix+nut · · Score: 2, Insightful

      Have courage.

      Sometimes being a professional is hard.

      You may have to subtly introduce ideas and not worry about getting credit.

      Depending on the size and culture of the company making changes can range from demonstrating it first, doing it and asking for forgiveness later, to even subtly mentioning some ideas to the right person and allowing them to later "have a great idea" that you can implement.

      Find another professional who you respect, they don't need to be a developer but it is preferable that they can grok technology and your work situation and that they don't report to anyone near your manager. Ask them if they would mentor you and have weekly or monthly coffee with them so you can bounce ideas off of them.

      In the long run, their advice will be much better than what you get on Slashdot! ...oh, and don't quit yet, you might find that you are in a perfect position to grow your leadership potential.

  5. Sounds like you need unit tests, too by tcopeland · · Score: 1
    he has made changes to my code that I was not aware of until I noticed problems with certain functions
    Of course, if your boss is opposed to version control, I can only imagine what he'd say about writing automated test code. Or worse yet, static analysis! Yikes!
    1. Re:Sounds like you need unit tests, too by NorthwestWolf · · Score: 1

      Yeah I brought up the subject of unit testing (in the context of Ruby)....the response I got...well let's just say we had a discussion about what unit tests are.

    2. Re:Sounds like you need unit tests, too by tcopeland · · Score: 1

      > Yeah I brought up the subject of unit testing (in the context of
      > Ruby)....the response I got...well let's just say we had a
      > discussion about what unit tests are

      Hehe... classic. Well, best of luck!

  6. Suggestions by hhlost · · Score: 2, Informative

    Subversion for source control. (The Eclipse development platform has plugins for PHP and Subversion.)

    There are tons of good bug trackers out there. I like Mantis.

    1. Re:Suggestions by tcopeland · · Score: 1

      > Subversion for source control.

      Subversion is definitely the way to go over CVS. I've recently set it up on RubyForge and it's much more popular. Being able to actually rename files and move them around, good times. Not to mention atomic tagging and commits!

    2. Re:Suggestions by moro_666 · · Score: 1

      indeed, go for subversion.

      cvs was nice and had it's moments, but if you try subversion for once, you won't go back to cvs.

      running around without a version control is indeed insanity. i know people that keep their mud clients rc files in cvs, and that is a lot less important than anyone's production code ...

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
  7. Complete dolt... by CokoBWare · · Score: 2, Insightful

    Your boss is a dolt. He is an idiot. Your instincts are right. Version and defect tracking tools are very important to producing quality products. Explain to him that your department will produce better code and you all will look better if you keep track of your defects and versions. There are many benefits to using these sorts of tools, and if he doesn't want to use them, then at least you should use them for yourself. If he gets mad at you, then tell him you need it because nobody is perfect and defect tracking can ultimately make him look better and keep you happy in your job. If he says no, plan to quit and find a new job.

  8. Possible solution by EQ · · Score: 4, Insightful

    (My previous didnt really suggest a good solution - so here you go)

    Try introducing your boss to "quality measures" as detailed in any number of Software Engineering texts. have him read any number of the good books on software production. Let him realize that rework costs money - and that repeated rework (i.e. fixing bugs that were fixed before) can become exponentially more expensive in terms of the time (i.e. money) that you have to spend on such activities. Furthermore, the lack of source code control prevents you from recovering quickly from coding errors - your or his.

    In business terms, perhps this would sell it: there is no *accountability* for errors or defects, no way to list and prioritize activity you need to take with defects, no ability to see trending or patterns, no ability to learn from your errors and prevent future ones, etc. No way to manage the process wth any sort of efficiency or effectiveness.

    Basically making software without bug tracking and version control is like running the cash side of the business without any accounting system. And its simply unprofessional.

    If this doesnt do the trick, then you need to get out. Sooner or later he will make a change to the codebase that will break things in the fuiture, and you will have no way to unwind it short of a full rewrite. And without bug tracking and version control, it will all be blamed on you, and you will get stuck with the blame, the loss of trust, the downtime for repairs and the overtime charges needed.

    --
    Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo! http://goo.gl/J9bkO
    1. Re:Possible solution by Bogtha · · Score: 1

      Furthermore, the lack of source code control prevents you from recovering quickly from coding errors - your or his.

      Having been in a very similar situation, I can tell you exactly what the response would be:

      I don't make any errors and if you do, you should try harder!

      And without bug tracking and version control, it will all be blamed on you, and you will get stuck with the blame, the loss of trust, the downtime for repairs and the overtime charges needed.

      Very true. Of course, bug tracking and version control isn't enough to prevent this; you want change management, for when the boss insists on you doing something stupid. Don't make any changes that aren't signed off first.

      --
      Bogtha Bogtha Bogtha
  9. The way you deal with morons... by mellon · · Score: 5, Insightful

    ...is to smile politely when they say stupid things, and then deal. I would suggest that you call your bug tracking system a "todo list" and keep a copy of the code in CVS. Produce your changes out of the CVS repository. Periodically compare what's in the head of your CVS to what's deployed, and _always_ compare before you overwrite anything that's deployed from your copy. That way you get what you want, and your boss doesn't have to deal with it. Don't tell him you have it under version control - just take advantage of the fact that you do.

    1. Re:The way you deal with morons... by smagruder · · Score: 1

      I will second this advice. It's the best of what I've read, so far.

      Version tracking is not a choice in professional software development, it is an absolute. Even if the programming team consists of one person. Anyone opposed to this notion needs to get out of the programming profession. The central rationale for version tracking is the ability to rollback parts of your work--and this is a very critical ability to have, as others have covered above.

      Bug tracking is what I'd call a very valuable add-on development process. Since your manager doesn't want such a thing formally speaking, then keeping your own list of bugs/to-do's in documents will work (almost) as well. And over time, you may want to install a rudimentary bug tracking system (I personally highly recommend Mantis) on your own box as the number of items you're tracking becomes too unwieldy for flat documents to handle.

      --
      Steve Magruder, Metro Foodist
    2. Re:The way you deal with morons... by swillden · · Score: 1

      Don't tell him you have it under version control - just take advantage of the fact that you do.

      Don't try to hide it, either, though. If (when) the subject comes up, simply tell him that it makes you more productive. I always use version control even on one-man projects because (a) it's often useful to be able to refer to the history and (b) it gives me more freedom to experiment with significant changes, since I can always roll them back, or even develop them on a separate branch. As far as the bug tracking goes, just tell him that it helps you to be more organized and to make sure you don't let anything slip through the cracks.

      No rational boss is going to tell you not to use tools that cost nothing and make you happpier and more productive. If your boss *does* tell you that, comply with his wishes and quietly look for another job.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:The way you deal with morons... by MoogMan · · Score: 1

      Or you could find an employer that doesn't have conflicting ideas. Probably a better thing to do in the long run.

    4. Re:The way you deal with morons... by Anonymous Coward · · Score: 0

      You leave a job every time you have a difference of opinion? Glad you don't work in my country, I'd hate to accidentally hire you.

    5. Re:The way you deal with morons... by CharlieG · · Score: 1

      RE Version control - I remember back around, oh, 1995, I was working in a shop with no version control, and the boss refused to shell out the cash small amount of cash - 3 of us in the department (2 consultants and myself) just bought it on OUR dime, and installed it - and did not tell him about our productivity increase - what was good about this is he would give use a deadline - which always required OT - and we would be working a lot LESS unpaid OT - was well worth the cost

      --
      -- 73 de KG2V For the Children - RKBA! "You are what you do when it counts" - the Masso
  10. Find a new job. by Keeper · · Score: 1

    If you're working for a boss that doesn't see the need for defect tracking and versioining, you're working for a boss that doesn't understand the basics of software development. Find a new job. Now. Before stuff starts falling apart and the finger of blame points at you.

  11. not using version control is utterly stupid by Anonymous Coward · · Score: 3, Informative

    It's inconceivable to me how anybody could write code without version control. Sure, maybe a throwaway script or two, but even my shortest simplest programs are in CVS or darcs (darcs is great for individuals, btw, as well as teams).

    How do you experiment with new versions? How do you try out a new idea and then throw it away?

    How do you work with multiple people? How do you track who did what? Hell, how do you see your own day-to-day changes? I edit my programs, I change a few files here and there, then I run cvs diff to review what I did. I can't imagine working without that.

    Suppose your software ends up being useful for a client, and you have to maintain two versions? How do you do that without version control?

    How do you copy your code to multiple locations? My apps are checked out on my powerbook, my desktop, the staging server, etc., etc., I can't imagine how I'd work from multiple locations without it.

    I think I read somewhere that writing code with version control is like a word processor without an Undo feature .. if you make a mistake, you have to remember how it was and manually put it back. Yuck!

    I would recommend either quitting (your boss is clearly gonna drag you down one way or another) or setting up simple version control (CVS, Darcs, SVN) and just using it yourself and checking his changes in yourself. I.e., use rsync or something to keep your "master code base" in sync with a local workspace. It will save your ass on many occasions, as well as allow you to experiment, and your boss doesn't have to know the difference.

    As for bug tracking, well, we don't use any special program. To track bugs we just post messages in Basecamp (www.basecamphq.com) and refer to the URLs in the check-in log. This might be good enough for you. You could set up a message board or Wiki for this purpose.

    But damn, no version control.. like I said, inconceivable!!!

    1. Re:not using version control is utterly stupid by barzok · · Score: 1

      Many shops/lone coders/projects operate w/o version control simply out of ignorance - they just don't know that it's out there, or don't see an application for it in their process. Others are just plain intimidated by it.

      If you've used version control for as long as you remember, of course you'll see the need and benefit. To someone who's never used it, they need to see WHY they should use it. The introductory chapter from any book on version control should help quite a bit here (I really like Practical Version Control Using Subversion for this). But I don't think the boss in question is the type who'll read it and internalize.

      I'm very lucky that my new job (been there 2 months now) asked me about a week into working there "we need you to give us a recommendation on source control software." It was really driven by Sarbanes-Oxley requirements, but I was more than happy to get that assignment. I had set up Visual SourceSafe at my last job about 6 years ago because another group was forcing us to get "in line" with the mainframe's version-controlled world and the tool they wanted us to use sucked ass for our application. VSS sucked, but it sucked less than the version of PVCS we were being pushed into and it sucked a lot less than having nothing at all. Since it was an MS shop, VSS was pretty much the only sane choice in 1999.

      I was able to bypass VSS for this job and went straight to Subversion - they love that it's free, love TortoiseSVN, love that we can segregate access to various parts of the repository. We roll out this week with it. Although I knew nothing about the product on day one, I'm now quite comfortable with it and everyone is actually excited about bringing it online. Without even seeing it in action yet, my management is already expecting to use it for many more projects.

      Oh, and we technically only have one developer. We still need it.

      I wholeheartedly agree with keeping your own SVN repository on your desktop (make sure you back up!) just to keep things sane, if the boss won't allow it to actually be deployed and used. This can also be used to bolster your case with the boss and demonstrate A) what it does and B) where the benefits are. But do not use it to point out "see, this is where you checked in the code that broke everything" because he'll see that he can be held accountable for his screw-ups, which is something he's been avoiding thus far if he's not even communicating changes to the code to the primary developer.

  12. I'm shocked by Ithika · · Score: 2, Interesting

    Really shocked.

    I mean, there are a lot of hobbyist coders out there that don't use revision control software, for whatever reason. There are also, it would appear from previous Slashdot stories, a great many (big name) companies out there that don't use revision control software.

    I have never heard of anyone being forbidden to use revision control. And, for something that actually gets deployed (as your code presumably does), no bug-tracking facilities seems equally staggering.

    Has your boss given you any indication why he doesn't like these (what I would regard as necessary) tools of the software engineering business? To follow up on what another poster mentioned, is he also against accounting software/books for keeping a tally of income and outlay? Does everything go through petty cash and little scraps of paper with IOUs printed on them?

    How on earth can this possibly work out?

    1. Re:I'm shocked by bhima · · Score: 1

      Years ago the company I work for bought another company which marketed a competing device. The direct impact for me was that I got a new boss (from the other company) and I had to maintain the code for the device. The previous version control system was a combination of a make file which built everything and shell script which tarred & zipped everything and gave a name with the date embedded. So I got a stack of CDROMs and a clunky UNIX workstation with thousands of tar.gz files.

      When I suggested to my new boss we put all of this in CVS, you would have thought I had suggested we stick a pineapple up his ass. As far as he was concerned making tar file was all that was needed and anything else was not only a waste of resources but suggested that his previous company wasn't fantastic.

      More than a few months later when I had the time of a student worker I had him get it all into CVS... I found out later he had run the code through some code formatting tool (which wound up being doubleplus good). I still maintain the code although it's moved over to subversion. My old boss still doesn't see the need for a concurrent versioning tool but at least he works for a different company now... and they haven't released a product in over *three and a half years*.

      Still with out have cheap hidden talent it's hard to get code into version control on the sly. Where as once you have some sort of version control it much easier to stick *everything* in version control and to occasionally maintain, backup, and upgrade said version control.

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  13. Get out of your mother's basements, people by Anonymous Coward · · Score: 5, Insightful

    You can see that the stereotype of slashdotters living in their mother's basements until they are 35 isn't too far off the mark by all the comments here. Every other reply is "Quit. You are smart and he is dumb. Just quit." That's easy to say when no one is depending on you. It's another thing entirely if you have a wife and kids to support. I know this is difficult for some of you, but just picture what it might be like if you actually had someone (other than your mother) who cares about you:

    Loving wife: "Hi Honey. How was your day?"
    Slashdotter: "I quit my job."
    LW: What? Why? Whatever for?
    S: The boss wouldn't let me install Subversion.
    LW (pausing for a few seconds in disbelief): Honey, I don't know what a Subversion is but I do know that Jenny's orthodontics bill came in the mail today and that the mortgage payment is due next week. You need to go down there and tell them it was all a big mistake and that you'd like your job back. Our family is depending on you!
    S: Hey, the guy's an idiot. It's not enough that the boss chews me out for reading Slashdot at work, you've gotta get on my case too? I'm going to play Unreal Tournament. Just leave me alone for awhile.
    LW: Mother was right. I should have married Dirk instead!

    Guys, enough of this sorry "If you can't have everything you way you want it, then quit" crap. This guy needs some real advice.

    1. Re:Get out of your mother's basements, people by NorthwestWolf · · Score: 2, Informative

      Thanks for uderstanding my situation, although I think that quite a few of the "quit" responses are more based on an emotional reaction rather than a cool and collected state of thinking. Yes I do have a family, no kids, but a soon-to-be wife and a few animals that might as well be my kids. I think that after looking at and considering all of the posts here I am going to be running Apache off of a box that doesn't see much use and run my version tracking and bug tracking software off of that. At very least it creates a level of accountability for changes made to the codebase.

    2. Re:Get out of your mother's basements, people by Matthew+Bafford · · Score: 1

      Or, just maybe, all of the "quit" responses were assuming the OP is rational enough to understand what it really means: start looking for a new job where you will be happier, and then quit.

      Obviously none of the posters here are seriously suggesting the OP just quit immediately over this issue.

    3. Re:Get out of your mother's basements, people by Malor · · Score: 1

      The "quit" suggestions aren't entirely wrong... if they actively try to prevent you from using version control, that means you work for dolts. Working for dolts can pay the bills, but the smarter the management is, the more likely a company is to survive. Working in a stupid company that's not a monopoly tends to be less secure than working in a smart one. (monopolies, like power and water companies, can get ridiculously stupid and still survive.) Smart companies value their employees, are better able to determine who's really worth more, and tend to reward those people appropriately. And they're more fun, too.

      There's a difference between 'stupid' and 'uneducated'.. if you can convince your current employers that you're right, then keep the job. If they prove to be dolts, then quietly start looking for another place. Find a smart company with a good product line, and work for them instead. You'll be happier, they'll be happy to have you, and your job is likely to be more secure.

      If you're careful, you shouldn't have to spend any time at all unemployed. And changing jobs is the best way to get large raises.

    4. Re:Get out of your mother's basements, people by pjay_dml · · Score: 1

      That was the reasoning of all the Nazis "we had to support our families".

      A very drastic comparison, I know, but mate, there is just so much one can take and deal with. If there are, or were no consequences for bad behaviour, we would all be f.....

      I'm tired of sorry ass excuses. This is just one of them. Do you really think he will be able to support his family, once the company goes bust, and he's trying to get a new job? Does take your life into your hands mean anything to you?

      At least you got moderated funny, as without humour, one can't read your comment...
      What strikes me, is the subtle notion, that you are controlled by your wife, and not in an equal relationship...that is really funny!

    5. Re:Get out of your mother's basements, people by jrockway · · Score: 1

      > You can see that the stereotype of slashdotters living in their mother's basements until they are 35 isn't too far off the mark by all the comments here. Every other reply is "Quit. You are smart and he is dumb. Just quit."

      You might not be aware that some people have very few expenses. If you're 21 and just out of college, you'll probably be living in a not-too-expensive apartment with a roommate. This makes rent like $300 a month, even in the city. Add in another $100 for utilities and $200 for food, and you're living just fine off of $600 a month. It's conceivable that someone with a programming job could actually put away enough money to live like that for a few months while finding a better job.

      I'm sorry that you can't afford your mansion in the suburbs and unnecessary dental treatment. Some of us prefer to live a simpler life in exchange for having a job we enjoy. Good luck with yours, AC.

      --
      My other car is first.
  14. Implement it surrepticiously? by Short+Circuit · · Score: 1

    So your boss doesn't want to have to deal with bug tracking or version control...So make it transparent to him.

    Put your code on a filesystem that has built-in version control, and put it all on a server. Windows shop? No problem...share the filesystem with Samba.

    Anyone know of a Subversion client with a FUSE front=end?

    As for bug tracking, that's probably harder. Just add that to your list of responsibilities, if it's important enough to you. At least you'll have record.

    1. Re:Implement it surrepticiously? by danpat · · Score: 1

      http://svn.haxx.se/users/archive-2005-04/0210.shtm l

      Read-only unfortunately, but actually, that's quite useful for publishing a subversion repository to a webserver and *forcing* people to check changes into the repository to make them go live.

    2. Re:Implement it surrepticiously? by Short+Circuit · · Score: 1

      Well, in his case, it can be pretty simple.

      As long as his boss uses the subversion filesystem, and he uses a direct client, then he'll know where changes came from, right?

    3. Re:Implement it surrepticiously? by thequux · · Score: 1

      Don't know of a FUSE frontend for Subversion, but I'll start writing one tomorrow. It'll probably show up on thequux.com in a month or two.

    4. Re:Implement it surrepticiously? by Short+Circuit · · Score: 1

      Cool. I know where my /etc is going. :)

  15. Joel! by sootman · · Score: 2, Interesting

    Great article on bug tracking here. Yes, he makes a bug tracker, but this article (and others on his site) goes into detail about *why* and *how*, not just "buy my product." Also good info here.

    "If you are developing code, even on a team of one, without an organized database listing all known bugs in the code, you are going to ship low quality code. Lots of programmers think they can hold the bug list in their heads. Nonsense. I can't remember more than two or three bugs at a time, and the next morning, or in the rush of shipping, they are forgotten. You absolutely have to keep track of bugs formally."

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    1. Re:Joel! by notfancy · · Score: 1

      I'm gonna get troll-tagged into oblivion for this, but here goes nothing:

      Joel's argument is a platitude at best, and a fallacy at worst. He is plying his trade, no mistake about it: "Lots of programmers think they can hold the bug list in their heads. Nonsense. I can't remember more than two or three bugs at a time". Nonesense? Joel, buddy, casuistics ain't argument; what's good for you is... well, just good for you, not justification for anything. If you can't remember your name on odd days, it doesn't mean that everybody must put yellow Post-It's with their monikers on every flat, clean surface.

      Also, from the funny-advice-dept, maybe you could try focusing more in your programming, to the point that you make three or fewer errors per release cycle. It's not impossible, you know, if you're intelligent enough. On the other hand, if a safety net makes you prone to feats of recklessness, and you enjoy the adrenaline rush...

    2. Re:Joel! by jrockway · · Score: 1

      100% agreed. If Joel (erm... "Mikey") had been non-braindead when programming, he would have used strncpy instead of "MikeyStrCpy". It's nice that you can track the bug, but it would be nicer to not make dumb mistakes :) :)

      --
      My other car is first.
  16. Quit but before that... by GoofyBoy · · Score: 3, Insightful

    I agree with the "boss is an idiot, get out" comments but suppose that you want to stay there.

    Implement a version control system yourself on your desktop computer. Create/install/implement a bug tracking system for yourself. Use them like a nazi.

    At the very least, you can do this at your own pace, get experience in doing it, learn what you like/dislike about your system (extra bonus: partcipate in version-control system flame-wars!) and can fix it as you go without others crying about it. Make proper backups on a regular schedule and learn how to restore them.

    Take advantage of the fact that you are a big fish in a small bowl.

    --
    The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
  17. a sweet plan by Gravis+Zero · · Score: 1

    the "i accidently pushed my boss down the stairs" plan hasn't failed me yet.

    --
    Anons need not reply. Questions end with a question mark.
  18. BTDT by arb · · Score: 1

    Don't try to sell your boss on the idea, just install whatever version tracking tool you prefer and start using it. Install it on your dev machine if you have to and just don't tell him about it. As for bug tracking, either do the same, or just use email or a speadsheet to track bugs if you want.

    When something goes haywire (and it will, especially if he is making code changes without telling you about them) you will be able to refer to your version control and/or bug tracking system. If the tools help you solve the problem quickly, then consider telling your boss how you saved the time.

    If you try to convince him it is a good idea after he has already knocked it on the head, you won't get anywhere.

  19. as grace hopper said: by blackcoot · · Score: 2, Insightful

    "it is better to ask forgiveness than permission". put in the bug tracking, put in the version control, and if anybody ever asks you why, the answer is simple: you're doing your due diligence as a professional. if you're clever, what you'll do after three or so months is go to the powers that be and explain how you've run a successful pilot program and would like the official go-ahead to make things standard.

    if you're a little less bold, call a meeting and pitch it to your boss (and his bosses). estimate how much time (and, as a result, money) the issues you described cost the company. explain how much implementing the stuff you're asking for will cost the company. the key words are: risk management, due diligence, and the potential impact on insurance premiums (you'll have to check into this one, but where i work, the fact that we replicate our cvs server every two hours and have weekly backups for the past three years on-site and for the past several months offsite means that we get quite a pleasant cut in our premiums). if this doesn't work, i think it's time to start shopping your resume around, because it shows that management's head is in completely the wrong place.

  20. $20 question... by (H)elix1 · · Score: 1

    Did you ask for $2000 worth of kit (or a few weeks of time to figure it out) to do this? Odds are, since you are the only developer, you are not working for a software company. As a boss, I'd say no *IF* you asked me to pull out my checkbook.

  21. Do it anyway by Bastian · · Score: 3, Insightful

    Just run a small web server on your workstation and run the bug tracker on that. Same for running version control on it. Back it up yourself.

    If it doesn't affect anybody else and it improves your productivity, I don't see any reason why you even have to get your boss's permission. Especially if you're the only developer so you don't need to have anybody else also working with these tools.

  22. Excel and Subversion are your friends by egriebel · · Score: 1
    Short and sweet: If in Windows, use Excel for bug tracking. It's quick and easy, no installation required (except for the app), features can be added if needed, and nobody has to know about it.

    For version control, you can't beat subversion, it can be set up in about 15-30 minutes in Unix, Linux, or Windows, and it's dead easy to use.

    Are there better tools? Sure, but none are this simple, and when your (short-sighted) boss gets on your case, you can honestly tell him it took only 30 minutes to set up.

    --
    ACHTUNG! Das computermachine ist nicht fuer gefingerpoken und mittengrabben. Ist nicht fuer gewerken bei das dumpkopfen.
    1. Re:Excel and Subversion are your friends by Z00L00K · · Score: 2
      One step up from using Excel as a bug tracker is to use Mantis which is simple to use and written in PHP.

      Subversion or CVS as version control is about the same when it comes to a small project. Subversion is the successor to CVS and should normally be the choice unless there are other factors that makes it hard to implement.

      Obviously - the boss in question is probably also rejecting ISO 9000. And I even wonder about what the accounting looks like. So it may be a good idea to silently look for another job and change before the shit hits the fan.

      I'm personally considering the following rules when coding:

      • No compiler warnings - unless there are very strong reasons for leaving one alone.
      • Any kind of simple version control. (cvs, svn, cms, rcs or whatever is convenient/available)
      • Some kind of bug tracker - like Mantis. Excel isn't really good enough.
      • Check C code with Splint.
      • Write well-structured code - not necessarily with a lot of comments - but the code shall be easy to read.
      • If self-healing can be handled in the code - use it. (like checking if a file was closed when the finalize() method is called in Java and then close the file if it wasn't)
      • If possible - run the code through Purify or a similar tool.
      • ALWAYS braces (or what the language used dictates) around the body of an IF-statement.
      • Each method/function shall have a comment describing that comment. (OK, I'm not always doing this)
      • Try to keep variables fairly short - too long variable names cuts down on the readability.
      • Use of single letter variables are permitted - using the old-fashioned variables i, j and k as index variables in loops.
      • Indent code properly - using SPACES to get compatibility with most editors. Eclipse is fairly good at this.
      • Align the braces so that an opening brace is in the same column as a closing brace - this makes the code a lot easier to read than if an opening brace is over the right edge somewhere.
      • Keep opening/closing braces on their own line. - Yet another readability issue.
      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:Excel and Subversion are your friends by blackcoot · · Score: 1

      has (ir)rational purify gotten any easier to use? i showed my boss valgrind (http://valgrind.org/) and he couldn't believe how (relatively) painless it was to use. well, painless in terms of actually using, not painless in terms of how bloody slow things run (but that's kinda to be expected since they're emulating the machine...)

      i've reached a point where i run whatever project i'm working on through valgrind at least once every two weeks and usually more often than that (before every non-trivial commit). if there were something splint-like for c++ (but at the same price point), i'd write a clever wrapper script to run that first and then whatever the compiler du jour is.

    3. Re:Excel and Subversion are your friends by davez0r · · Score: 1

      "Each method/function shall have a comment describing that comment."

      // tells the reader that this is where the program starts
      /*
        * the entry point of the application
        */
      main () {
          doThings();
      }

    4. Re:Excel and Subversion are your friends by Z00L00K · · Score: 1
      Obviously a temporary brain lapse ;-)

      Should read: "Each method/function shall have a comment describing that method/function"

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    5. Re:Excel and Subversion are your friends by davez0r · · Score: 1

      hehe i know. just thought that commenting a comment was an idea worth exploring

  23. HR documentation by dan_bethe · · Score: 1
    Ok so the "your boss is an idiot" comments have been covered. Cool. ;) I doubt this will help in such a small and culturally insular company, but I'll throw in my two cents that I've learned from Slashdot.

    If you have an objection to managerial policy, document the situation and your objection with Human Resources. Take the advice everyone else given here regarding the estimation of time/money lost and of unaccountability and unprofessionalism, make your presentation, and file it with H.R. Then see if that doesn't make the situation more real to you that you need to keep your resume fresh.

    At the very least, this post serves as my thanks to the Slashdotters who have suggested this in the past. :)

    1. Re:HR documentation by Anonymous Coward · · Score: 0

      Please. You don't need version control for a 1 person job. Just backup up your files periodically.

      And no, you don't need bug tracking, either. You just need a "to do" list. You can get by with a text file.

  24. Take Matters Into Your Own Hands by DJenk47 · · Score: 4, Interesting

    I was in the same position, since I was the only developer for small internal applications, my superiors wouldn't allow any sort of bugtracking or versioning software, since it was seen as a waste of time and money (even if the software was free).
    I didn't really care until my code started getting changed by other people - other people (I won't use the word developer since I was really the only coder) that thought they knew what they were doing.
    I started off by changing permissions on directories so that no one else had access. But the permissions would be reset by the admins so that the files could be edited. Then I started making daily archives and hashing them, and it worked for a while, but was a hassle. So I started keeping detailed records of time spent fixing the changes. During our weekly team meetings, I started revealing just how much time was spent fixing other code changes. The changes stopped for a while, but resumed.
    So one day, I "accidently" lost the entire codebase. And preached that versioning software would have allowed me to pick up where the loss happened.

    As for bug tracking, I had to write my own system that was hosted locally (via an illicit install of cygwin/apache/mysql/php), just to track them. One day, my boss accidently saw it and thought it was the greatest thing since slided bread and wanted everyone to use it. I quickly got rid of it off the work machine, but soon we had bug tracking software and my boss was praised by her superiors for her innovative thinking.

    --
    Can't spell slaughter without laughter!
    1. Re:Take Matters Into Your Own Hands by StrawberryFrog · · Score: 1

      my superiors wouldn't allow any sort of bugtracking or versioning software

      Gah. A version control system, even if it is a weenie one like MS VSS, is one of the basic things separates amateur coding for fun from professional software development.

      "Source control is like flossing - you don't have to floss *all* your teeth - just the ones you want to keep." - Dave Scofield, Borland

      I had to write my own system

      You shouldn't need to write anything - you just need to get the hardware and time to install subversion and bugzilla

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    2. Re:Take Matters Into Your Own Hands by DJenk47 · · Score: 1

      You shouldn't need to write anything - you just need to get the hardware and time to install subversion and bugzilla
      Oh, I agree, both packages are superb. I used cvs for versioning and my little homebrew for bug-tracking. It was a rather pathetic system - no multi-user support, limited assignment ability, no reporting, - but it worked for me to be able to record what I needed to know so I could work. It was more for my own personal use to keep track of things than for any sort of professional wide-spread use. Mainly to record bugs/issues that were reported to me that I had to investigate and fix.
      Given the option, I would have much rather used something else, something a bit more robust.

      --
      Can't spell slaughter without laughter!
  25. shoot first, ask questions later by __aaitqo8496 · · Score: 1
    1. set up subversion
    2. check projects in/out
    3. don't keep stuff on a public share


    when you boss asks where a particular project is, tell him "in the version control system". make life easy -> http://tortoisesvn.tigris.org/
  26. Blackmail. by Anonymous Coward · · Score: 0

    "So, to those of you who are, or have been in a similiar situation...what are you doing, or what have you done to get critical development tools such as these implemented at work?""

    Do to have any compromising photos of the boss and his secretary, you can show to his wife?

  27. the unspoken assumption... by Anonymous Coward · · Score: 1, Insightful

    ...was that he quit and get another job. See, that solves that problem. Usually it's "look for job first at any indication you will be quitting", for whatever reason that might be. Another assumption but usually the default behavior of most rational people. It's getting fired that usually causes more economic grief, because it could be quite unexpected. In this situation, the author has the upper hand, even though he has a problem, he has an option to not deal with a knucklehead and thereby solve one real time problem, and probably several future problems. any coder boss who doesn't appreciate versioning control is bound to be making more critical business mistakes, so it is a good bet to bail out early..

  28. backups without source control by aNonMooseCowherd · · Score: 0

    Just create a cron or at job to tar up the source once a day. Keep a couple of months' worth of backup files around (unless the source is huge). That should give you a way to get back to a working version if something goes kerplunk.

  29. Reiteration of comments by Kalzus · · Score: 2, Interesting

    Other people have said it, but I will throw in my bit:

    If your boss is against source/change management software, just use it for yourself.

    After all, you spelled it out in your opening post: "As much as I strive to write perfect code...that doesn't happen." The hell with protecting yourself from your boss; protect yourself from YOU on the occasions where you discover your thumb is mysteriously parked up your bottom.

    As an aside: I work at a place where I get to watch my clients trip over their own mistakes and come up to me, hat in hand, asking if *I* happen to have a previous version of their object code. Bad times all around. This is a crappy position for me to be in, and the silly fact is that it isn't my ass if the code is broke. The position of the dude who has to ask me if I might have the last version of his code has to be at least three times worse.

    --
    "The Devil does not know a lot because He's the Devil, He knows a lot because he's old." -- unknown
  30. Boss is nuts, trying to hide something or both by TheNarrator · · Score: 1

    I had a boss who was into the same thing. I went and implemented version control and bug tracking anyway going around his orders. In my humble opinion, I think the main reason he was against this was that he was paranoid about something, I have no idea what, and because of this paranoia he had made up his mind that he didn't want any kind of paper trail as to development activities.

  31. One more suggestion by deranged+unix+nut · · Score: 1

    Once you install version control and bug tracking, make some time to teach your manager how to use them and show him how to pull statistics from them.

    Hopefully seeing the value of the statistics and an example of tracking changes and how you can back out a buggy change several revisions ago will change his mind.

    If not, you might need to set up a seperate branch and an automated nightly diff/copy/submit that will automatically pull in changes that your manager makes to code stored on a share.

    It takes some people a little while to get used to the process of using revision control and bug tracking systems. Your manager is probably reluctant beause he hasn't been shown the value and is nervous about learning something new.

  32. Micromanagement by toddbu · · Score: 1

    I once had a boss that micromanaged me and it drove me nuts. At the end of the day, if your boss doesn't trust you to do the right thing then you need to find new work. A boss who doesn't know enough to know that he doesn't know everything is not the kind of guy you want to work for. A good boss will always grant enough trust to their employees to let them get the job done the way that they think is right.

    --
    If you don't want crime to pay, let the government run it.
  33. Dalmer's book by Anonymous Coward · · Score: 0

    Jeffrey Dalmer once wrote a book on Corporate Politics. He brought up quite a few interesting points. But, the most interesting point he made is that all conflicts should end in the freezer. What he means by this is that if your boss is giving you trouble, you need to lure him to your house with the promise of gay sex, then chop him up in little pieces and put him in your freezer. Problem solved.

    I do see one problem with this strategy though. What if your boss does not like gay sex?

    Well, in that case, I would suggest the training manual for the US Postal Service. They have some techniques for eliminating job problems which have proven very effective in the past. In fact, they are so effective that whenever someone uses the methods for dispute resolution, it's on the news.

  34. It is always easier to be more strict... by j-jahnke · · Score: 2, Insightful

    It seems to me this is really a non issue. First off, somehow you must do both of these tasks (track code versions and track defects) currently. Otherwise how do you get your job done? Version Control is pretty simple, just set it up. I assume you have your source in some shared area and your boss goes in and messes around from time to time in there. It is not hard to either write a script to find that or run commit from time to time from the shared dir to catch his changes. At the very least run a commit from the common area before you push out your changes to spot any potential merge issues.

    I don't know how anyone writes software without version control, but I work with people who think it is not necessary. What they do is spend most of their day trying to figure out how to be more lax with this than those of us who want tighter controls (after all I don't even build my software we have a guy who does this to make sure if any of us leave the build process can repeated.) There are still problems with this as there are techniques but we are working on fixing that too. It makes me crazy when I get a demo of feature X and say I like that and the guy can't get back to X at some later point.

    Now as to defect tracking... I don't think it is necessary to have a tool to track it. I work on a really big system and we have to do it becuase there are hundreds of developers who use our tools, which are developed by tens of developers across multiple timezones. No one can keep all that in their mind. But on smaller projects that we spin out we leave it up to the developers working on it as to how they will track defects. They range from complex systems that track all work to my personal small project fav "The Jahnke List (TM)." The Jahnke List works like this. I only worry about 5 things at any one time. The 5 things I work on are the 5 things people ask me the most about on that project. As such I hit the big problems lotsa little ones slip through the cracks but who cares they are little problems. I keep the list written down and in plain sight which allows folks to adjust priority and suggest things for the list.

    They all work becuase people make them work. Unlike version control, which is like putting on a seatbelt. Defect tracking is more like directions on how to get where you are going. Some folks print out maps with notes on them and mark off milestones as they pass them so they know how complete they are. Others get vague idea where they are going and rely upon something to happen as they get close to get them where they need to be. After all you are looking for is the point where severe defects have fallen compared to new features as a signal to release. Most developers who work on a system have a good sense for this anyway, a defect tracker in this case makes the boss happy (it quantifies the risk aspect to compare to the reward.)

    But either way in your case, since the system you currently use isn't very formal at all, adding rigor to it should not be hard without interrupting what you currently do. What gets interesting is trying to place agile methodologies into a strict waterfall process. But this is the opposite problem.

    As to the folks who say quit. I must say I agree. Find a new gig, one that realizes what you do is a valuable asset that needs a minimum amount of protection. Becuase the first time things go to hell for whatever reason, you are in for a VERY uncomfortable ride, and you may be forced to look for a new job anyway, so avoid the desperation of looking for a job after having been fired/laid off/shellshocked.

    Jer,

  35. I bet your boss's code matches this by kryptos.dk · · Score: 1
  36. Introducing your tools, then prove it works by m�choui · · Score: 1

    For what I understand, you have serveral problems :
    - Tracking the bugs
    - Tracing the code
    - Working with your boss
    Once it seems convincing your boss is the most difficult task, you may act this way :

    - Just install the bug tracking system on a server, or may be on your own PC, for your own need. Just enter your bugs inside, track them, don't show it... yet.
    - Same thing for the code, if you can. Just install svn.

    Then, a few months later, and by accident, show your boss the bugs that are still alive, and the bugs that appeared when modifying the code... but you know, you don't want to annoy him, this is not impacting his work, this is just for you... by the way, boss, why was this line of code changed ? I don't think I did, did you modify the code ?

  37. Not a technical problem by 4way · · Score: 2, Insightful

    Having been in such a situation myself a couple of years ago and looking back at it I realized that it wasn't a technical problem or whatever. It's about job responsibility. It very much depend on the way you guys work as a team on the code, even if it's a 2 man team.
    If there's an atmosphere of free and open coding, with shared responsibility (both in the mind and when the **** is hitting the fan) then it just has to feel like the way you want to work. If the responsibility is on your shoulders, then without having the control you rightfully claim comes stress. This will come back time after time when events happen. Mild stress when small problems occur, major stress when things come crashing down. It will eat at you time and time again. Recognize this early on (It seems like you did) and set some boundaries for yourself. How much will I put up with? Then prepare a bailout plan. You may need it when the **** hits and you're kick out, or, even better, when you decide it's enough.
    For me at that time it was a matter of an ever shrinking development window. It became increasingly difficult to get any requirements from the other departments before the delivery date was due. It was a good working environment, so I informed my boss I didn't want to put up with that any longer. He also wasn't in a position to change that and when the next development cycle was the same I activated my bailout plan. It was a bit scary but I landed a good job, which I still enjoy.
    Bottom line is set your boundaries and be prepared to bail out.

    --
    If you don't life on the edge you take up too much space!
  38. formatting rules by samjam · · Score: 1

    Keep opening/closing braces on their own line. - Yet another readability issue.

    also one of dispite; I prefer it the other way:

    if (blah) {
        something();
    } else {
        somethingElse();
    }

    However, without getting into a holy war over it, the less information each source line contains, the bigger your diff context needs to be when patching, or the more likely you are to run into patch ambiguities later,

    How much bigger the diff context needs to be is left as an excercise for information theory students.

    Sam

  39. Try Joel Spolsky's articles on this problem by munro · · Score: 1

    Joel Spolsky, in my humble opinion, has some excellent advice on software development culture, including some compelling arguments you might use. Here he lists the '12 steps to better code'. Arrange for you boss to read this:

    http://www.joelonsoftware.com/articles/fog00000000 43.html

    If that doesn't work, I would recommend reading his article 'getting things done when you're only a grunt' - basically, it says that you should just go ahead and set these things up for your own use, and then maybe even get others to start using them, and occasionaly show off your amazing documentation/source control/bug tracking system by retrieving the code the boss lost, or by producing the history of some bug or a report on bugs fixed this week.

    http://www.joelonsoftware.com/articles/fog00000003 32.html

    Personally I think that all of his 12 points are important and I work hard to establish these things when I start work on a new project (sometimes 'unofficially', but invariably 'unofficial' bug tracking/source control/... tools soon become official as nobody can actually live without them and remain highly productive). There are some things that I would add to his 12 points however (and this is getting slightly off topic from your discussion of bug tracking):

    13. Dogmatically provide automated unit testing for all code, with as close to 100% coverage as possible; design code from the ground up to best tested
    14. Always write self-documenting code (Javadoc for Java, doxygen for C++/PHP etc)
    15. Use all available automated tools to improve code quality (code duplication detection, lint, valgrind/purify, ... you name it, if it works and especially if it's free, use it on your code, it will only get better)

    Another excellent source of advice is the Pragmatic Programmer's book, From Journeyman to Master, which discusses the practice of programming (as opposed to programming itself) in detail.

    Thomas

  40. How to sell to PHBs by MadFarmAnimalz · · Score: 2, Informative

    Being a semi-PHB myself...

    If the bug tracking system can be deployed using existing resources and is free, then all you have to do is to show that its value is anywhere above zero for the cost-benefit angle to work itself out. There are mature open source bug tracking systems which don't take more than a half an hour to install and another hour to read up on and begin using, this also needs to be highlighted (i.e. to show that it won't take too much of your time which equates to the company's money).

    Make accounts for the PHB, read only access if possible. Show them the fancy stats page where there's pie charts and statistics relating to bug fixing performance.

    Find some trivial system the PHB uses and enter it as a product on the bug tracker and have the PHB use it; that gives them a sense of involvement and empowerment.

    Brand it with the company logo, license permitting.

    --
    Blearf. Blearf, I say.
  41. Difference oriented programming by Eivind+Eklund · · Score: 1
    I use version control religiously and have done so for over a decade. What I find useful about version control is a few different things:
    1. Difference display. I can see what changes I am making *before storing them*. This let me review code and I usually cut down any change to be a single logical change per commit, to be able to review it. If I have changes in my tree that's multiple logical changes (e.g, mixed whitespace changes and code changes), I take out a diff and massage it to be a single logical change, patch it into another three, and commit it from there. This makes reviews very very effective (catching a large fraction of bugs). It also makes the next point more useful:
    2. Documentation. By using 'cvs annotate', I can see *why* a particular code line is the way it is. I can see who introduced it, when, and if necessary ask that person if this was intentional or a mistake. Very very useful for being able to do good changes (even with code that I only touch myself).
    3. Ability to do experimental changes in a tree, and only keep some of them. This let me test out various directions, see how it works together, and pick out the stuff that's relevant.
    4. Cooperative development, without stepping on each other's toes (much. Indenting changes are a pain...)
    5. Ability to have local changes on some machines while not on others, while updating the software.
    6. Convenient software distribution (for some cases).

    Backouts for code that's already committed? Don't need 'em much, could almost always do that as easily from a backup.

    Eivind.

    --
    Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  42. Bugzilla by marcovje · · Score: 2, Informative


    IMHO bugzilla is total overkill for small internal use. Mantis is way easier to setup and work with.

    1. Re:Bugzilla by mbadolato · · Score: 3, Informative

      Quite true. Last year, I lead a team on a MAJOR project for a huge client. At that point our department didn't really have a good bug tracker in place, though some were toying with setting Bugzilla up.

      Since I knew the client was going to be entering bugs as well (during alpha and beta stages), and that Bugzilla is a pain in the ass for the developers themselves to use, I decided to grab a copy of Mantis, which I had used at a previous job and knew had a fairly simple interface that non-techs would be ok with.

      The next thing you know, our project manager was exclaiming "How in the hell did you manage to find and install a tool that 1) People are actually USING to log bugs, 2) Devs are updating with notes and status CONSISTENTLY, and 3) Management and the client are using to see where things are???".

      She was shocked (hey, a lot of companies have trouble getting buy-in and usage for tools) and after that project, Mantis became the standard in-house Bug Tracker. We modified it to suit our needs for some other tasks, and it is now a make-shift trouble ticket system too, though some of us would rather move back to RT for that, and use Mantis soley for bugs. But at least it's used, and is a major tool in the chain. All change control info is in there.

    2. Re:Bugzilla by Anonymous Coward · · Score: 0

      We are actually using Mantis, CVS, SCMBug and Luntbuild.

      We put our requirements, software defects, data defects and our IT trouble tickets into Mantis without any issue. We even allow our customers to access it for the projects we are working on for them, doing reports providing monthly metrics. All of our CVS projects require a Mantis issue number in the comments to commit to the repository. This is where SCMBug comes into play. SCMBug reads the CVS comments and if the issue number is assigned to that person, they can commit and it automatically adds a note to that issue. The note includes all files modified (from what version to another) as well as other issue numbers associated to what was commited (we allow our developers to resolve multiple issues at a time). We then have Luntbuild doing a test build every hour to see if the build has been broken and if it has it creates a new defect in Mantis for us, allowing us to catch bad commits before they create real issues. We also use Luntbuild to create a test build of all of our applications and deploys them where our testers are able to access them... of course Luntbuild only kicks off if something in the repository actually changed.

  43. The costs of version control by Nurgled · · Score: 2, Informative

    I got an e-mail a few weeks ago saying it was down and they didn't know how to get it back up.

    And there, I think, is the crux of why management might resist version control in the first place: support costs. It's fine as long as you're there, but now you're not they need to find someone else to support it or else the business is completely blocked. Of course, you won't get any argument from me that version control software is essential for any professional software development, but I can certainly see management's point of view. What the OP needs to do, and what you perhaps should have done, is give a proposal in terms of the financial benefit vs. the estimated loss caused by untracked faults, etc.

    At my place of work we use Subversion, but most of the other staff seem incapable of using it correctly. They'll work for a week and then commit all of their changes in one go, completely defeating the object of the revision log. It's important to remember that not all developers are familiar with version control, and developers might have to adapt their workflow which may cause a productivity hit and thus additional cost in the short term.

    1. Re:The costs of version control by jrockway · · Score: 1

      > At my place of work we use Subversion, but most of the other staff seem incapable of using it correctly. They'll work for a week and then commit all of their changes in one go, completely defeating the object of the revision log. It's important to remember that not all developers are familiar with version control, and developers might have to adapt their workflow which may cause a productivity hit and thus additional cost in the short term.

      In that case, leaving might not be a bad idea. If your company isn't willing to set a source control policy, then your life is going to be too difficult. Typing svn commit -m 'blah blah' every so often is well worth the effort. Two hackers each going their separate ways for a week can spell the end of your project... which is a headache you don't want to deal with.

      Convince your boss to tell others how to use subversion. If that fails, mentor your co-workers. If they ignore you, leave.

      --
      My other car is first.
  44. Re:How to sell to PHBs-vanity appeal. by Anonymous Coward · · Score: 0

    "Being a semi-PHB myself..."

    So in other words, a good answer requires having a foot in two words. Your answer also shows that any good answer requires the recognization that there's a "social component" to the problem, and not just technology is involved.

    "Make accounts for the PHB, read only access if possible. Show them the fancy stats page where there's pie charts and statistics relating to bug fixing performance."

    Funny you should say that. I was looking at a bug tracker/ project managment plugin for VS 2005. Plent of pretty charts and diagrams.

  45. Insurance? was Re:as grace hopper said: by coffeeisgood · · Score: 1
    where i work, the fact that we replicate our cvs server every two hours and have weekly backups for the past three years on-site and for the past several months offsite means that we get quite a pleasant cut in our premiums


    What exactly are you insured against?

    Just curious... I've never heard of any insurance against not having proper backups, and I'm not sure if it would be very expensive (since anyone who would need it is obviously not maintaining their backups), or very cheap (since anyone who would think to buy insurance for that, probably backs everything up three times anyway).
    1. Re:Insurance? was Re:as grace hopper said: by blackcoot · · Score: 1

      we have an interesting set of liabilities. we own two autonomous vehicles which we built. it's the insurance on those vehicles that's the expensive bit -- anything we can do to mitigate the damage done should, god forbid, either vehicle be stolen or destroyed is a Very Good Thing (tm) in the eyes of the insurance company. unfortunately, because they're both prototype vehicles, they undergo pretty heavy modifications (both software and hardware wise) pretty often, which is a pain to keep track of and makes the insurance folks nervous. there's pretty much bugger all we can do hardware side (other than remember what's in the vehicles), but cvs is a god send on the software side.

    2. Re:Insurance? was Re:as grace hopper said: by thequux · · Score: 1

      Red Team perhaps?

    3. Re:Insurance? was Re:as grace hopper said: by blackcoot · · Score: 1

      thankfully no. i'm with the small company on ivst1

  46. It amazes me how 67 replies can all miss the point by AngryAngryHippos · · Score: 2, Informative

    I've been a regular slashdot reader for a while... but I read this article and had to sign up immediately to post a reply. This poor guy desperately needs some tough love and everyone here is jumping on the pity bandwagon and feeding him bull****. Here's my 2 cents:

    Nobody here has addressed the underlying issue - you're the ONLY developer and yous boss doesn't listen to your opinions on basic and obvious issues? This says one of two things:

    a) your boss is a complete tool (well covered but beside the point since you can do NOTHING about it)
    b) you're afraid of conflict and don't know how earn his respect (something you CAN change)

    I'm going to suggest something harsh - the issue here isn't bug tracking, or your manager being a tool, or looking for a better job, it's YOU. Clearly you're in a position where your manager doesn't know what he's talking about and you do. So why are you letting him tell you what to do? It's obvious to me that you don't know how to communicate with him in a way that commands respect and attention, and you seem to think you have no power in this situation.

    You have to grow some balls and learn to stand up to the guy. Be mature, walk in and tell him with a straight face that you NEED this software (and if you want, BRIEFLY list the reasons why it is necessary). Don't let him argue with you, you're RIGHT. Then just DO it - install the freakin' software! It's not costing your boss a damn cent, and will probably save him money down the road. Do this in the future ANY time you are completely sure of something and you KNOW you're right about it. Your boss will react in one of three ways:
    a) arguing or reprimanding you for your conduct (in which case you might as well look for a new job since you have ZERO respect here and never will, dooming your career to countless incidents like this)
    b) threatening to or actually firing you (VERY unlikely since you're their only developer, but probably not a bad option - see point (a) and add a severance package)
    c) backing down (thus earning you some desperately needed respect and allowing you to work effectively)

    The point is you need to learn to be assertive. Stand up and voice your opinions in a confident way.

  47. On Windows use CVSNT by wysiwia · · Score: 0

    Unfortunately you didn't say which platform you use so I assum it's Windows else on Linux you certainly would use CVS. On Windows you could use CVSNT (http://www.cvsnt.org/wiki/).

    O. Wyss

    --
    See http://wyoguide.sf.net/papers/Cross-platform.html
  48. This worked for me (Subversion and OTRS) by cypherz · · Score: 1

    I was in a similar situation. If your boss is smart enough to write code, he is probably smart enough to see reason. You just have to have "proof" that you guys need to be using versioning etc. The problem lies in figuring out what consitutes "proof" for him. I suggest pointing out that he better have a damn good reason to go against industry best practices. During a previous stint (about 5 years) of consulting I found that using busswords like "Best Practices" when explaining this stuff to people really works. He probably won't understand at first but nobody wants to look like a dummy to his peers.

    Another good angle: The first principle of sales is: "The fear of loss is greater than the desire for gain." Show him what he could lose if your outfit doesn't use industry standard tools. This is probably the most reliable method to sell anything. There's also lots of studies that show projects using versioning are more productive that teams that don't use it even when versioning is implemented in the middle of a project with an aggressive deadline. Steve McConnell's book _The_Software_Project_Survival_Guide
    http://www.amazon.com/gp/product/1572316217/103-20 95419-7389469?v=glance&n=283155
    from M$ Press has lots of usefull strategies and factoids. He also addresses the human factor in software projects. Good stuff.

    He may also just not want to go through the learning curve associated with new tools. FWIW, that was part of the problem here. Using web based tools helped with user (and boss) acceptance around these parts. We're using a help desk application to track all sorts of IT trouble tickets as well as defects:
    http://www.otrs.org/
    OTRS (Open Ticket Request System) is an open source web based application written in PERL. So far we've had a good experience with it.

    We've also implemented Subversion and Viewcvs. Both OTRS and Subversion/Viewcvs are running on a PC class box running SuSE 9.3. We're also using Very Quick Wiki:
    http://veryquickwiki.croninsolutions.com/
    as a easy (and quick!) way to share the progress of out software projects with the company's users. This was one of the easiest sells of all. I just installed it (very easy to install, drag and drop, uses Tomcat as server) and started using it. I sent out some project updates with a URL instead of the full text. Just pointed my users and boss toward the wiki page for the project. Now he's using it to keep notes about changes to be implemented in our enterprise systems.

    Using the SuSE distro made all of this easier as all the servers (OTRS as well) are included, but your favorite distro will work just as well. We use SuSE because the last 4 or 5 versions have been well "groomed." The uptime on the box has been fantastic! Better in fact than our HP 9000's. :-p

    HTH

    --
    This sig kills fascists.
  49. Similar experience by Spiked_Three · · Score: 1

    First, I would agree with most of the 'he is an idiot. quit.' comments previously posted. But let me go into some detail about a similar situation I had. I worked for a small company - the boss who could write C code, and three decent developers. The boss was a die hard 'BSD/emacs is all you ever need' type. He would do things like write his own 'toupper' because he did not know it was built into the standard library. Most of his code was thousands of duplicated lines of code with thousands of imbedded printf statements ("I don't need no stinking debugger"). His idea of version control was which laptop the code had been copied onto last. When the project became somewhat more 'official' I was able to convince him that we needed CVS and we installed it. The problem was he continued just copying files around because he didn't (want to) understand it, and it made matters worse. When his client asked about how we managed versions he went into rants about creating all 'the trees and branches for the products immediately' so he could show our expertise. I think he read an article that mentioned branches on NetBSD so we had to do them as well. This approach was reflected in the product in general. There was no plan, no architecture, no specification, things were designed and written on the fly often on the way to the customer acceptance meeting. He was used to the old ways and wasn't going to change. I eventually did quit because I felt we were delivering extremely poor product and I didn't want to be part of it. BTW, what was the product? How about the central message delivery system (pilot reports, weather notices, notices to airmen aka AFTN) for every commercial aircraft in the world. I still am afraid to get on an airplane knowing how at least one (major) part of the system was written. The bottom line is there are plenty of people out there like your boss that are in a position of power for whatever reason. You can stay and try to influence the project, or bail - but the project will probably go on, regardless.

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
  50. If possible, just do it by Beek · · Score: 1

    Rarely do things like this get done if you just talk about them... If the higher ups are ignorant of the benefits, you aren't going to convince them with words. Set up bug tracking/version control and use it. Don't speak up about it, but don't hide it either. Eventually, you'll be asked about it or you'll find an opportunity to say why these things are making life better, and that's when you do the convincing.

  51. Re:It amazes me how 67 replies can all miss the po by lux55 · · Score: 1

    Amen. Too bad my last mod points just expired...

  52. A Bug Tracker might be overkill by pfafrich · · Score: 1

    As you are the sole developer a bug tracker might be overkill. You basically need to cordinate with yourself. Most of the need for a bug tracker system is when theres many developers who need to coordinate. Theres many other ways you could record the bugs, an 'open bugs' and a 'closed bugs' folder in your email program would do, 90% of the job.

    --
    There are four sorts of people in the world: fools, lunatics, idiots and morons. - Umberto Eco, Foucaut's pendulum.
  53. Does your boss have a boss? by ChipMonk · · Score: 1

    If he does, then go over his head. Expose him for the duplicitous moron he is. And if you get fired for having some ethics (and for trying to look out for the company's interests), well, it's their loss, and your gain.

    1. Re:Does your boss have a boss? by witte · · Score: 1

      >And if you get fired for having some ethics (and for trying to look out for the
      >company's interests), well, it's their loss, and your gain.

      I'd think getting fired would be his loss as well.

    2. Re:Does your boss have a boss? by ChipMonk · · Score: 1

      His boss is setting him up for a fall. He can walk away, or not. If he chooses to stay (for reasons known only to him), then he can risk paying the price now, for doing the right thing, or pay a bigger price later, for keeping his mouth shut.

      Seriously, would you want to be known as a toady for this guy's boss?

  54. Re:It amazes me how 67 replies can all miss the po by 4way · · Score: 1
    I think you've overlooked a very important line in the story:
    ...although my boss does produce some code and is the reason that I would like version tracking (he has made changes to my code that I was not aware of until I noticed problems with certain functions)...
    From this one can deduce that:
    • Boss codes
    • Boss thinks he can code
    • Boss thinks he knows how to run his code shop
    As a boss he needs to be convinced he is capable of doing all this, of course, so it takes a lot more than just balls to alter this situation. It takes a sideways approach to the problem, which may result in some interesting solutions...
    --
    If you don't life on the edge you take up too much space!
  55. You are the Project Leader by Anonymous Coward · · Score: 0

    Start with simple no-cost solutions to code control and bug tracking, and prove the requirement to your boss by example. Be aware that you are saving them $00,000s with an in-house solution. That gives you power, so use it.

    You are the one who needs to drive the specification and implementation issues, and managing those in authority is one aspect of that process.

    I haven't seen much mention of project management yet apart from Steve McConnell's books, which are all practical and authoritative. Do some investigation on RAD and waterfall techniques and choose one which is simple and appropriate. I use two UK methodologies (SSADM and DSDM). Maybe other posters will have some suggestions for ones popular in the US. This stuff really helps if you use it wisely.

    The time to move on is when there is nothing more for you to do, or learn. Is that the case? Juniors often get the most freedom to innovate. This may be the only job in your career where you get to make a real difference.

  56. Excel? by Anonymous Coward · · Score: 0

    Subversion is nice, but Excel? If you're using MS Office you might as well use Access instead, even if it's like the suckiest database ever. In about 5 minutes you can think of all the fields you'll need and crate the tables + reliationships, another 5 to create some basic forms, and perhaps another 5 will give you some printable reports, and a last 5 for a switchboard if you really want to (Perhaps an hour tops in total if you're not familiar with it). You can import/export data to anything else (other databases, CSV, excel, etc) if you want/need to. Excel is a spreadsheet, using it for bug tracking is a very poor choice. Heck, if you want something I'll even send you a such access DB for free. Pretty much anybody will be able to use it too (coders, management, clients, etc). It has worked well for me in some situations (instead of using a real bug-tracker).

    1. Re:Excel? by egriebel · · Score: 1

      An hour to create a bug-tracking db in Access? yeah right. Even with the overly-optimistic estimates (you must be a coder!), it's 45 minutes longer than an Excel solution would take. Poop on Microsoft stuff all you want, but sometimes the best tool for the job is a sucky but easy-to-use one. Excel works particularly well when (only when?) one developer is changing data.

      --
      ACHTUNG! Das computermachine ist nicht fuer gefingerpoken und mittengrabben. Ist nicht fuer gewerken bei das dumpkopfen.
  57. Do source control yourself by oo_waratah · · Score: 1

    I am pretty much in your position in my company. So I do it myself. I use CVS because it is as common as mud and I think the next best source control is not there yet, but pick your own tool for the job.

    I run production as a working set (a check out). When people copy in 'their version' of code into the working set then it is an update and I can see the changes that they have made (and undone other work).

    I have my own working set on my computer, I make my changes and test, commit to the repository. I then go to production and do a diff and check what others have been doing (It is surprising how often then do not tell you...). I accept the changes by committing to my repository adding a comment on who I think did the change and what it did or reject them by writing a note outlining what has changed and why I think it is wrong, if it is a little wrong often I patch and then commit without comment. I then update my personal working set and retest then commit again.

    All of this tracking information is incredibly handy. When the investigation starts on the next major problem just diff your production working set for changes, document what has changed and how it broke. Questions will eventually be asked about how you know what is going wrong so quickly and people will move to working with you.

    There will always be one person who is invaluable for the company that will stand outside the general practice. Just manage them in the same manner as best you can.

    You have you bug tracking software, just keep using it eventually people will see the benifit of it, if they do not then at least you will know what is going on and be more in touch. Eventually good practice wins out.

  58. Done it... by BigJim.fr · · Score: 1

    I started a new job this summer. First shock was to discover that bug tracking was handled with assorted spreadsheets all subtly different and a sprinkle of randomly formatted mail. Just reporting bugs and worse, gathering information about them was driving everyone crazy. I promptly took the initiative to write requirements and implement them by installing and parametering Mantis. With barely a hint of evangelism it took on like bush fire. Userbase is now sixty users and growing. Bug tracking is back to sanity and everyone is happy including my boss. This is my second such deployement and it worked like a charm both times. If all the projects were that easy...