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?
You could tell him that all of the quick-hack programming will probably come back to bite him in the butt, and unless he gives the programmers more time, your company's reputation will probably suffer in the long-run.
when salmon are outlawed, only outlaws will have salmon
It could be worse...they might get a consultant to try and impose "quality" or "six sigma" or some other BS. That's all happy flap for managers to feel better, and to feel like they're doing something to improve quality in products. The deadlines never change...or if they do, they get shorter.
They decide how much money they put into developing quality. The customer decides whether to buy the product or to go with a better product. All you get to do is find someplace cool to work. If you have fun where you work, stay. If not, don't. Maybe there are moral issues about programming hack jobs, but that's up to your conscience.
The best thing you could do would be to start up your own company if you think you could make more money doing things your way.
You might want to consider getting some QA in place (if you dont have one already). Also, there is a series of books published by Microsoft Press (Yes Mickey$oft!) called Software Development Classics that can probably help. The books are: 'Debugging the development process', 'Dynamics of software development' and 'Software Project survival guide'. The most useful being the second mentioned by Jim McCarthy who has plenty of sagelike advice, some of which will certainly be useful in your conversations with this project manager you mention.
Tell the manager to take a first year engineering course called "ENGR 107" , in this he will learn about Total Quality Management...
These days, management can't afford to be idiots. Us programmers and engineers are slowly taking up the ranks in management.
Or if you dont want to do managment, go into consulting, they'l listen to what you say and pay you for saying it..
First a word of advice: If you're getting paid, and the company you're working for isn't about to go out of business, then strongly consider staying where you are.
Perhaps you can approach the problem a different way. You could try talking to your boss about the issues you're dealing with; it seems the worst one is repetitious nature of the code you're working on.
Anytime you're doing something repetitive with a computer it's usually boring, and it's a sign that you're doing something wrong.
Perhaps you can work with your company to develop a more abstract toolkit for your application area. If your programming lanugage/library doesn't support abstraction very well, perhaps you can come up with a code generator.
It may be easy for you to push out quick hacks. But how easy is it to write a program that can do the same? That could be a good challenge, and it would benefit the company because they could complete projects quicker. You might also get to use some new techniques or tools.
An employee who's constantly eliminating his own job is highly valued by good managers. Not that really good managers are all that common either...
As someone whose primary job it making things work more efficiently, I have to tell you that sloppy code is the way the world works. Get it done, get it out there, fix it later if there is a problem.
Maybe in acedemia programers have the time to achieve loftier goals, but in the business world elegance isn't very valuable.
I'm sure that there are places you could go where you'd be able to write programs the way you like, but I'd make damned positive that you'd found one before you leave your current job for what is admittedly a "philosphical difference".
Kind thoughts do not change the world
All in all, bring it up, say that you would like to see better quality work get done and your willing to do it. There is a very good chance they will tell you to get the hell out of there office and get back to work ...
until (succeed) try { again(); }
Let software quality make your products stand out from others, not features. There are many "elitist" companies in every industry that use this tactic. Take the Leica camera company for example (I'm into photography). They make some of the simplest featureless cameras in the market, yet they are the most expensive cameras in the market. Why? Because people don't buy their cameras for features, they buy them because of quality.
You can do the same thing with software. Make it nice and simple, but make it stable and fast. Take the basic and most important features that people use all the time, and make them work the best they can. With a good solid base system, minor features can easily be compensated for or even forgotten.
Outdoor digital photography, mostly in New Engl
Since the mid-60s, my father has been a huge proponent of Quality Assurance and Total Quality Management, having followed the teachings of W. Edward Deming long before even General Motors had taken a liking to him (Deming, not my father). Since I was very young, I knew that my father's job was to make companies make better products. Sometimes he'd cost a company a few hundred thousand dollars in new quality programs that would, in several years, pay the company back millions of dollars in decreased support or re-work costs.
I also knew that when the United States fell on hard times (relatively so, like in the 70s, early 80s, mid 90s, and now), my father would inevitably spend several months looking for a new job because the companies he worked for could no longer afford the overhead that a Quality Assurance program introduces. There was never any question of a Return on Investment in quality, but there was always the question of how much cash the Quality Programs required. What's worse, Quality Assurance is a cost center: cash flows in but revenue never comes out. Most improved processes in all parts of the company can no be directly tied to an increase in revenue or a decrease in costs, so even though people understand that Quality Assurance is something beneficial, they don't know how to quantify how beneficial it is.
Because of this, when a company needs to tighten its belt, Quality Assurance staff are the first out the door.
It's a great thing to get management interested in improving quality. There are many people who truly believe the principles that were taught by W. Edward Deming, that are awarded by Malcolm Baldridge, and that are supported by the ISO 9000 certification process, but given today's economic situation, now is probably not the right time to be bringing this up with your management.
Oh, and if anyone knows of any upper-management positions for a long-time Quality Assurance guru with an impressive track record and who's been through the ISO-9000 process many times, send me e-mail. My father is, yet again, looking for a new job in the Los Angeles/Orange County/San Diego County area.
--
The is called the REAL WORLD boys and girls. It's a world where the corporate mentality is MORE is MORE and you'll produce or hit the highway.
They don't care if you leave, the down tech sector has produced starving database programmers who are willing to take your place and readily dispense with the "quality" tripe.
I was a contractor at a major automotive plant, when hourly workers complained that the transmissions don't fit into the prescribed holes, the plant managers said "Hit it with a rubber mallet until it does line up, and do it quick so you don't fall behind".
Gotta love the corporate work quality mentality. Either quit, or sell your soul.
Hope this helps.
managers (including the poster's) evaluate the costs and benefits of QA. the benefits of not pursuing quality include lower dev costs, and a shorter turnaround on investment. the costs of not pursuing quailty include customer churn, bad image, tech support costs. balancing these costs and benefits and their attendant corporate politics is probably quite tricky, so the manager therefore probably won't be that interested in being told how to do his job by someone who doesn't know how the company works (unless it's a blindingly obvious way to reduce costs - such as reusing old code ...).
That was a huge mistake. I was "talked to" by several people above me, and my superiors wondered if I was "on crack." When I tried to explain my standpoint, and how quality would improve and six-day workweeks would be unnecessary if we could produce more quality work on a consistant level across the development teams, here's what I was told:
So what it comes down to is that the profit margin is the bottom line, always, and the beauty of the insides of the machine you're building take a backseat to doing things the way they've always been done, as long as everything gets done on time.
Is it crappy? You bet. Am I comfortable working this way? Not at all. But like everyone else, I have bills to pay, and I'm looking forward to a future where I can start my own small company, and run things in a manner that I'm comfortable with. It's a sucky situation, but the more I learn about anything, the more I learn that the bottom line is always the trump card in every situation.
It's also true that the market does suck, but smart people will always be needed, and if you're smart enough, you can find a way out that both benefits your career and improves your workstyle. It may not be this week or the next, but it will happen.