Wednesday, July 27, 2016

Common Mistakes in Managing Testing

  1. In my book, Perfect Software and Other Illusions About Testing, I present a list of a dozen common mistakes made when managing testing. 

    Here are the first six items on the list. 

    1. Not honoring testers: If you aren’t going to believe what the testers uncover, either you have the wrong people or you need to get serious about helping them build their credibility. Testing is never just a matter of hiring and hoping.

    2. Over-honoring testers: If you let them make your decisions for you, then you should step down and let them earn the manager’s salary.

    3. Scapegoating testers: Even worse than over-honoring testers is pretending to honor them—manipulating them to give you the answers you want, appearing to act on that “independent” assessment, then blaming them later if that assessment turns out to be damagingly wrong (or taking credit if it turns out to be right).

    4. Not using the information gleaned from testing or other sources: If you’re going to ignore information or go ahead with predetermined plans despite what the tests turn up, don’t bother testing. (Actually, it can’t really be considered information if you don’t use it.)

    5. Making decisions that are emotional, not rational: Not that you can be perfectly rational, but you can at least try to be calm and in control of your emotions when you make decisions.

    6. Not evaluating the quality of test data: Numbers are just numbers. Learn to ask, “What was the process used to obtain this number?” “What does this number mean?”

      The remaining six mistakes can be found in the second chapter of the book.

      Or, you can purchase the book as part of the entire eight-book set of The Tester's Library at a bargain price.

Friday, July 22, 2016

Improving as a software developer

The question was posed: "What could I do to improve/advance on software development?" Here's what I answered:

There are many things you can do to improve, and I’m sure you’ll get some good answers. From my point of view, however, there is one thing to do that underlies all the other suggstions:

Never pretend you know what you don’t know.

Always be ready to ask for help in learning new things.

You may think you have to look extra smart and experienced to land a good job, but it’s quite the opposite. Just show your willingness and eagerness to learn.

Some people might not value this approach, but they’re not people you want to associate with. They’re probably pretenders themselves. They're certainly not Agile developers.

Monday, July 18, 2016

Becoming a better programmer

The questioner asked, "What should be my next step to becoming a better programmer?" In response, a dozen or more advisors suggested learning various technical skills. Most of the advice was good, but misdirected in a typical fashion, so I offered the following thoughts and references:

If you’re like most programmers, you’re already too involved in technical details and your ability to deal with other people is less than adequate. Studies of programmers at work show that typical programmers spend 70% of the time dealing with other people. (Agile programmers may spend even more.) [see, The Psychology of Computer Programming]

So, if you want to improve, perhaps you should devote some time to developing your People Skills. At the very least, you'll learn how to solve "people problems" more efficiently, thus leaving you more time, in a better mood, to do the technical work of programming.

Saturday, July 09, 2016

How Can A Developer Earn More Money?

The question on Quora was, "What is the best career advice for a software developer to earn a higher salary?

There were many logical answers, but in my experience the best way to earn a higher salary is to go to work for a badly managed company with lots of legacy code that they can’t get anyone to maintain. 

The managers of such an organization are usually desperate for a way out of the mess they've put themselves in, but being bad managers, the only idea they have about getting out is to buy their way out. They think that if they pay ridiculously high salaries, they can induce some foolish programmers to come and bail them out.

So, if maximum money is your only concern, find a company like this and work there until you can't stand it any longer, then take your money, leave, and find some other badly managed company.

Don't stay too long. The company may go bankrupt and not pay what they owe you. Warning sign: when they tell you your paycheck will be delayed, leave immediately.

If you want to know how to recognize badly managed companies, take a look at my 

Eventually, you may grow tired of this strategy and decide there are more things in life than maximum money. When that time comes, quit and look for a well-managed company, following some of the good advice in the other answers to this question on Quora.