Slashdot Mirror


On Getting Management Interested in Improving Quality?

npoole asks: "Like many of the Slashdot readers, I am a programmer and have been pushing out repetitive database content for about a year. The work simply doesn't stop and the more we get it seems the less we ensure quality work. I have been debating telling my boss that either we take less clients, less money, more quality work or I am leaving. Is this a smart thing to do? I'm making very good money doing quick hacks to push out websites, but it's not very project oriented as much as it's become 'throw in pre-written, pre-used functions'. Any advice on how to ensure quality in our work without telling my boss it's either my way or the highway?" Of course, improved quality in any product affects the bottom line, and it's the bottom line that managers are paid to keep up. How can a developer communicate to managers (both open and closed) the value of better quality in development, and how long should one try before giving up?

8 of 270 comments (clear)

  1. profit level is hard to argue against by devleopard · · Score: 5, Insightful

    Not an impossible task, but you need to consider your approach. As developers, we like clean, pretty code. However, the people that keep us fed like profit. Saying, "I'm a geek, I like it like this" will get you nowhere. Instead, push for quality control - some sort of lifecycle methodology (in which writing code is a small part of the overall process). Point out that 80-90% of the life an application is maintenance, not original development. By pushing for a structured development process (requirements, design, development, QA, deployment) your projects will come out clean and well implemented. Of course, the bottom line is profit - if the "extra" hours to ensure quality can't be translated into billable hours, there's no hope. However, whatever you do, DON'T QUIT. The market is sh** right now. I repeat, the market is sh** right now.

    --
    The best thing about a boolean is even if you are wrong, you are only off by a bit.
  2. As a manager... by Anthony+Boyd · · Score: 5, Informative

    ...I would suggest that this economy is no longer the kind of economy that will support an employee dictating "my way or the highway". It is very likely your supervisor will pick "highway" even if you're very good, because there are many, many highly-qualified candidates now coming into job interviews. It wasn't like this a year ago. I realize other slashdotters may challenge me on that, because it's not a very nice thing to tell someone that they're possibly expendable. However, your boss may very well think that way, regardless. So be careful.

    In addition, the "good salary" you claim to be getting may be due to the fact that you're churning out sites fast but charging the same rates you did back when you custom-built them. By asking to change the process, you may be getting a change in salary too.

    Finally, don't forget that object-oriented, modular programming is supposed to make cookie-cutter work possible. If you're reusing your code over and over, sure, it could be sloppy, careless work, but it also may be that you've got a system working well and just object to the monotony more than the code. If that's the case, ask to be put on different projects, rather than taking a hard-core "reform-or-I-walk" stance.

  3. Re:Quality... for who? by EvlPenguin · · Score: 5, Insightful

    Sounds like npoole wants to change the quality of his workday, not necessarily the quality of the software he produces.

    They're one in the same. I know from personal experience that if I'm not motivated by anything more than just getting the job done, then I won't produce the same quality code that I would have under favorable circumstances. Not due to time constraints, but because there's no motivation for me to do anything more than the bare minimum. This is why I'm a programmer and not just another corprate slob; because I take pride in my work, but that's not possible when you're being treated like a code monkey.

    --

    --
    #nohup cat /dev/dsp > /dev/hda & killall -9 getty
  4. Get creative by Stephen+Samuel · · Score: 5, Insightful
    Rather than coming at the situation from the point of complaint, come at it from the point of solution. Look for ways that you can liven up your work day, AND make the company more productive (profitable).

    As an example:
    If your work is repetetive, this indicates to me that there is room to automate parts of it. You might talk to your boses about setting aside 10% of your time to improving the website creation software. This could make your work time more interesting and make the company more profitable.. a win all the way 'round.

    What's possible is only limited by your imagination. Just remember that the easier you make the change for your management, the more likely that they'll agree to it.

    --
    Free Software: Like love, it grows best when given away.
  5. Be careful what you wish for by Prong · · Score: 5, Insightful
    First off, I highly recommend not giving your mananger the "my way or the highway" speech. Even in a good job market, it would be considred a CLM. Right now you'd be better off withdrawing 2 to 3 months worth of income and pitching it off the nearest bridge than getting in management's face.

    I'm not sure what code reuse has to do with poor product quaility, unless the modules themselves are broken somehow. What you've described really sounds like a development manager's wet dream. Drop-in, pretested modules with a minimal amount of modification? That's the holy grail of the coders-as-cogs management mentality! If the customers themselves aren't complaining about quality, I doubt management is going to give a hoot what the rank and file thinks.

    If you really insist on pushing this, I've got a few pointers for you:
    • Send a polite e-mail asking for some time to discuss some concerns. Don't go into to too much detail, and keep a copy for yourself.
    • Prepare a written document on exactly what your concerns are, and exactly why you believe these to be problems for either your customers or your company
    • It's best if you can quantify the impact (x numbers of customers lost, y dollars in revenue gone), but you need to at least show a solid link between your issues and valid potential consequences.
    • Be as professional and calm as possible. Going on about how stupid something or someone is doesn't impress management types, and probably gets your issues routed to the circular file pretty quickly.
    • If all else fails, start looking for that new position quietly!. Getting the boot before you've gotten something else lined up is expensive and foolish if you've got the option of keeping your current gig until the next thing comes along.


    Best case, management addresses your issues, and you look like a "team player". Worst case, they drop kick your arse out without even giving you a listen. The outcome depends on how you play your cards.
  6. Go Between the Horns by MarkOShark · · Score: 5, Insightful
    You don't have to accept poor quality or leave your job. What you need is a strategy to drive an increase in quality.

    There is a trilogy of dimensions at the core of the issue: cost, time and quality. Every organisation needs to balance these. The management of your organisation, like most I have worked in, don't understand the quality issue in relation to software because it is more subjective than the other two dimensions and therefore it doesn't get the emphasis it deserves.

    From the little I know about your situation, here is my take on what you need to do:
    1. You need to understand the impact that the reduced quality has. Is this manifested by significant complaints from the user community; is it manifested by users switching to an alternative product:? Understanding this is important because it will become the business driver for the change you want. If you can't demonstrate that the reduced quality has an impact that matters, you won't be able to influence anyone.
    2. Find other people in your organisation that believe that quality is also a core issue, and preferably not just from the software development team. e.g. Documentors, help desk staff, testers. Most importantly, if you can find articulate users who can reiterate your claim of poor quality, this is good.
    3. You need to identify tangible steps that will increase the quality. You can't just say you need more time to develop because this doesn't demonstrate that the quality will improve; you might just spend more time making nicer interfaces. You need to say things like: we need to add an additional 1 hour of stress testing for every 3 hours of programming; we need to add a step in the project plan for users to acceptance test the product and allow 2 days (for arguments sake) for changes as a result of this; (insert you ideas here!)
    4. You need to make a business case to your management. This doesn't need to be a fancy piece of work, but it does need a punchy argument so that the management will look at it and reach the conclusion that the quality issue is having an impact on the organisation. The angle you need to take will vary on your organisation and the people you are trying to influence. In a small business, the management are probably more focussed on basic objectives (e.g. profit, revenue). Larger organisations may include more complex factors such as market positioning, compliance to standards or legal requirements etc.
      But the basic form of the business case is:
      • This is the problem and it's impact [on whatever matters, usually $]
      • Here are steps that will rectify the problem and the costs for these steps
      • Here is how we will measure that the steps have increased the quality
      • Here is the business benefit that will be achieved (and here is the kudos you'll get from your peers/clients)



    Another way of saying the same thing is:
    • The only way to get the change you want is to influence the people who make the decisions on how much resource (money, people) are involved on something.
    • You need to prove to these people that quality is important and your product doesn't have enough of it.
    • If the quality is improved, it has the effect of improving of whatever is important to them.


    If you have other people who have the same focus as you, pool your talents and resources together.

    If you want this change and it's important to you (which it sounds like), then you need to put in some work to make the change. Don't make an ultimatum because it's an employer's market - they can just take you up on it and that won't help anyone, especially you.

    Remember, anyone can be influenced if you can show them that what you want makes it better for them too.

    I hope this is in any way helpful. I have had similar battles myself and still do, but life is always slowly improving!

    Mark
  7. Horse shit masquerading as horse sense - was Re:As by samantha · · Score: 5, Insightful

    The day I have to "be thankful to have a job at all" and not speak my very experienced and bright mind as I see fit is the day I stop programming for a living. I wouldn't be worth a damn without being able to speak up and actually make a difference.

    Not taking a stand, if done by enough employees, guarantees that your job, or even your entire company will be the one with its head on the block next.

    Not caring about quality because your company doesn't is a most excellent way to hate your work and lose your spark utterly. Don't do it. The paycheck isn't worth what that will do to you if you take such advise. I know what I am talking about.

  8. The problem is managers with little tech knowledge by Futurepower(tm) · · Score: 5, Insightful


    'As a rule, I will *never* work for any organization where project management is in the hands of people who are not technically current.'

    By far, the biggest problems in technically-oriented companies are the non-technically-oriented managers. They are generally making far more money than they would at a non-technical company. They are willing to do anything to keep their jobs, including making life miserable for everyone else.

    The best acting I have ever seen was not in a Hollywood movie. The best acting I have ever seen was by a manager trying to make everyone believe that he could manage without thorough understanding.

    When they sink their companies, they are generally able to get another job, because the people who hire them are faking it, too.

    The dot-coms failed because they hired good actors and not knowledgeable people. The dot-coms did not fail because of highly complex situations that could not be understood in advance. They failed because they did extremely foolish things.

    The use of non-technical managers will continue as long as there are investors who will put money into something they don't understand.

    --
    Bush's education improvements were