Page 259 -
P. 259

Software project teams are made up of smart people. It’s far better to leverage their minds
                          than to treat them like robots. Many people like to throw around the term “grunt
                          programmer,” as if there were a lot of programming tasks that were little more than cut-
                          ting and pasting program recipes. But even the lowest impact programming tasks involve
                          decision-making on the part of the programmer.

                          Accept Criticism
                          There are two ways that managers encounter criticism from a team member. One way is
                          when the team member disagrees with the way a manager wants work done. The other is
                          when the manager disagrees with how the team member is doing the work. Dealing with
                          criticism is a potentially demotivating situation, but it’s also a potentially encouraging one
                          if handled well.

                          Sometimes the team members solve a problem differently than you would. As a manager
                          it is important to recognize the work that has gone into these solutions, even if they con-
                          tradict your preconceived ideas about that work. Being able to accept the team member’s
                          criticism of your solution means that you are making decisions in the project’s and organi-
                          zation’s best interests, and motivates your team to keep thinking their way through such
                          problems in the future.

                          Everybody solves problems differently, and it’s a fact of life in software engineering that
                          most problems have many correct solutions. When you ask a team member to solve a
                          problem, it’s likely that she will come up with a correct solution that is different than the
                          way you would solve the problem. If a member of your team offers a solution that is tech-
                          nically correct, but you don’t accept it because you would do the work in a different (but
                          equally valid, or even slightly more efficient) way, the team member will feel crushed.
                          A good manager’s default action should be to accept, not reject, ideas. You must take it
                          very seriously when you reject somebody’s work, and when you do, you should always
                          explain and defend your decision. There are many good reasons to reject a team member’s
                          solution. Sometimes it’s incorrect, and sometimes it’s not well thought out. But people
                          will become very attached to such solutions, even when they are dead-on wrong. In those
                          cases, you must be willing to stick to your guns. When you do, it must be for the right rea-

                          sons, and you must take the time to explain your reasoning.
                          Criticism goes both ways. Sometimes a manager will want the team to do their work one
                          way, and some team members will disagree. In fact, sometimes the entire team will disagree
                          with a decision and come to the manager en masse. In this case, it is very tempting to just
                          roll over and give in; it is equally tempting to refuse to even consider their opinions. Neither
                          of these options is good, because no real discussion takes place in either case. Instead, a good
                          manager will come up with a real justification for why he wants the work done that way,
                          and will expect the team to do the same. If there is a real, verifiable reason for going with
                          one alternative, everyone should be able to see it. And most importantly, the manager
                          should show that he considered the argument, even if he essentially rejects it.





                                                                               MANAGEMENT AND LEADERSHIP  251
   254   255   256   257   258   259   260   261   262   263   264