Food for Thought-An e-newsletter published by Software Quality Consulting, Inc. January 2008, Vol. 5 No. 1 Do you have the Right Stuff to manage an SQA Group? What topics would you like to see in this newsletter? Each month, this newsletter tries to provide you with useful information. This is a two-way street and your feedback is important. Please send your thoughts and comments to steve@swqual.com. -------------------------------------------------------------------------------- Welcome to Food for Thought(TM), an e-newsletter from Software Quality Consulting (http://www.swqual.com/index.html?Intro). I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking the Forward Email link at the bottom of this page. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link (http://www.swqual.com/newsletter/Subscribe.htm?Newsletter). If you don't wish to receive this newsletter, click the SafeUnSubscribe(TM) link at the bottom of this newsletter, and you won’t be bothered again. Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to info@swqual.com. -------------------------------------------------------------------------------- *** In This Issue *** In This Months’ Topic, I discuss the unique challenges of managing an SQA Group... Regular features to look for each month are: - Monthly Morsels Hints, tips, techniques and reference info related to this month’s topic - Calendar Conferences, workshops, and meetings of interest to software engineers, QA engineers and anyone interested in software development -------------------------------------------------------------------------------- *** This Month’s Topic *** DO YOU HAVE THE RIGHT STUFF TO MANAGE AN SQA GROUP? Tom Wolfe’s book tells the story of the original group of NASA astronauts who willingly accepted the dangers of space flight. Wolfe describes the enormous risks that Navy test pilots were already taking (one of four died in plane crashes), and of the extraordinary mental and physical characteristics required for and reinforced by their jobs. It was these mental and physical characteristics that became legendary and subsequently known as the “Right Stuff”. Fortunately, managing a Software QA/Testing (SQA) Team is not (usually) life threatening. While managing an SQA Team has many similarities to managing other technical groups, there are several unique challenges that SQA Team managers face. Here is a sample of what SQA Managers are likely to encounter on a daily basis : - The project schedule is always wrong and Development more often than not delivers buggy code far later than scheduled. - Your team rarely, if ever, has the time they requested for an adequate testing cycle, while Development always takes longer than expected. - Schedule pressure is intense throughout the project, reaching a crescendo during the weeks just prior to release. - Prior to release, working 60-80 hour weeks is often required. If you or one of your Testers needs to take time off during this period for any reason, you are accused of “not being a team player.” - Intense scrutiny, second guessing, and armchair quarterbacking by others who know little of what is involved in testing software is constant... - Support and recognition from upper management is negligible. - Developers are often praised for writing good code - regardless of the number of defects SQA finds - while SQA receives little if any recognition. - Measures of testing progress are demanded while it is rarely required that Development or Marketing provide measures of the progress of their work. [1] - If the project fails, you are blamed. - Finding and retaining talented people is a constant challenge. Without a doubt, managing a team of technical people can be one of the most difficult, challenging, frustrating, and potentially rewarding jobs you’ll ever have. From my experience as a manager and from working for many managers in my career, I’ve observed that: - Not everyone has the Right Stuff to be a good manager. Having strong technical skills doesn’t mean you have the right skills or the right disposition to be a good manager. Staff members with strong technical skills can be threatening to some managers. These managers don’t understand that as a manager, your technical skills are secondary to your management skills. - Managers need coaching, mentors, and a support system. Early on in my career, I was a Test Team Manager. Back then, I was not aware that I needed to develop people management skills. I also didn’t have any good role models I could learn from. As a result, I muddled my way through with no training, no support system, and no feedback. If you are committed to becoming a good manager, it is essential that you find other more experienced managers you can talk to about your management challenges. You may be lucky enough to find good managers within your own organization who are willing to coach and mentor you. There are many training programs that can be of assistance in this area. Your HR Dept can probably help identify some training programs that can help. Find out about the IEEE Mentoring Connection... (http://www.ieee.org/web/membership/mentoring/index.html) Within your organization, try to find other managers that you can talk to in confidence about management challenges and ways to try to address them. Your HR Dept. might be a resource for starting a manager’s support group. - Feedback is a two-way street. One of the most important things a good manager does is give feedback - both positive and negative. If you are the least bit uncomfortable with doing this, you should seek out some coaching. Without the ability to give timely, specific feedback, you can never become a good manager. Here are some suggestions for giving feedback from Johanna Rothman and Ester Derby: 1 [Is this an appropriate] item for feedback: Does it affect the work? Does it affect working relationships? If not, don't bother with feedback. 2 Prepare to give the feedback. Gather specific examples of recent instances of the problem. Focus on behavior or results. 3 Determine the outcome you desire. Be ready to give corrective feedback or coaching. 4 Always deliver feedback privately. Deliver "normal" feedback (appreciations, corrective or coaching feedback) in one-on-ones. 5 If you have some specific action or result you want, say it. If you're open to a range of possible solutions, engage in joint problem solving. 6 Agree how you'll follow up. [2] In addition to giving feedback, you need to receive feedback about how you are doing as a manager. Feedback is essential for managers if they want to improve. After several management jobs, I realized that feedback is a two-way street. I was giving feedback to my staff about their performance, but I needed them to give me feedback about my performance as a manager. So I asked them for feedback in a way that was safe for them. From that feedback, I learned a lot about what it takes to be a good manager... If you or your staff are uncomfortable having this discussion, involve an impartial third party (someone from HR) to act as an intermediary. SQA Managers - could you benefit from some coaching? Contact me (steve@swqual.com) to set up a time for a free, no-strings-attached coaching session. SO WHAT IS A GOOD MANAGER? In my opinion, a good manager has several characteristics. Here’s my Top Ten list: - A good manager is someone who empowers people so they can achieve their full potential. - A good manager works behind the scenes to make his/her team more effective by removing obstacles and roadblocks. - A good manager realizes that every person has something different to contribute and knows each person’s strengths and weaknesses. - A good manager is committed to helping each person achieve his/her professional career goals, even if it means moving on to other groups within the organization. - A good manager spends time with each person setting realistic project goals and personal goals and then works with each person to help him/her achieve those goals. - A good manager is constantly aware of the need to give specific, timely feedback... - A good manager is a skilled and effective communicator that does not shy away from dealing with difficult situations. - A good manager leads by example. - A good manager’s management style can be characterized as Management By Walking Around... - A good manager recognizes that when people feel valued and truly enjoy their work, they can move mountains to achieve shared goals. Good managers are rare. Most people are lucky to have worked for one really “good manager” during their entire career. I believe this is the case because we don’t pay enough attention to what it takes to be a good manager... SPECIAL CHALLENGES IN MANAGING SQA TEAMS As a former manager of several SQA Teams, I encountered several management challenges that I found to be unique to SQA Teams. Here are some of these challenges and my recommendations for dealing with them. - People Challenges Once upon a time, QA Engineers and Testers were viewed as second-class citizens in the organization. It has taken a long time to raise the level of professionalism for QA Engineers and Testers. Today, many enlightened organizations have realized that QA Engineers and Testers are just as important as Software Engineers and Developers. Recommendations for Managers: 1 It is essential that, as a manager, you take steps to improve the professionalism of your staff. This means that you need to: - Review job descriptions for QA Engineers and Testers and if necessary, strengthen requirements for educational background, professional certifications, experience, and communication skills. Talk to your staff about skills they feel are essential for their job. Read about responsibilities for Software Quality Engineers and Testers... (http://www.swqual.com/newsletter/vol3/no9/vol3no9.html) Learn more about certification from ASQ Software Division... (http://www.asq.org/software/getcertified/index.html) - Know the background (education and work experience) of each member of your staff. Spend time with each person to identify his/her strengths and weaknesses and come up with an annual plan for leveraging those strengths and improving those weaknesses (by attending training, working with a mentor, etc.) Training for QA Engineers and Testers... (http://www.swqual.com/training/on_site.html) Remember that how the organization views your team is a direct reflection of you as a manager. 2 If you change job descriptions for QA Engineers and Testers, review the new job descriptions with each member of your staff. Identify each person’s weaknesses with respect to the job and from that, identify specific shared goals that you both need to work on. This could include things like writing skills, testing skills, programming skills (for automation tools), etc. You as the manager need to take specific steps to enable your employee to be successful. You should identify what these steps are and when you expect to accomplish them. Your employee should do the same. Plan another one-on-one meeting to follow up... 3 Work with other technical managers to identify career paths into your group as well as career paths out of your group. For example, Technical Support is a group where providing a career path into SQA can work extremely well. People in Technical Support usually have an extraordinary amount of domain knowledge and these folks can be easily trained in basic testing skills. Once these career paths are defined, discuss them with your team and identify for each person, what his/her long-term (5-year) career goals are. The best way to maintain morale and retain staff is to take a sincere interest in helping your staff achieve shared career goals. 4 Reward and recognize outstanding performance. Doing this well is a critical skill for good managers. Knowing what to recognize, when to recognize and how is essential. For example: - Catch your people doing something right. Recognition can be tricky. Too much recognition quickly becomes meaningless while too little recognition leads to frustration. Learn how to provide meaningful recognition when your people accomplish something they deem significant. To learn more about this simple technique, read The One Minute Manager (http://www.amazon.com/ exec/obidos/ASIN/0688014291/bookstorenow57-20) [3]. - Recognize positive behaviors as close as possible to when the behaviors occur. This helps ensure that your people know you are paying attention to what they are doing. Similarly, negative behaviors also need to be identified and discussed as close as possible to when they occur... - Know the person you are rewarding well-enough to know what reward would be meaningful to him/her. For example, someone who puts in extra hours on the weekend might really appreciate a day off to attend a child’s school event. As a manager, you need to know what kind of reward would be most meaningful for each person on your team. - Not everyone wants to be rewarded publicly. Some people public recognition, others don’t. As a manager, you need to know the preferences for each of your people. 5 Use Performance Plans to change behaviors. People generally behave in ways that are directly or indirectly determined by what they are being measured on. If you want to change behaviors, change the way people are measured. - Organizational Challenges Some organizations view SQA as the group that gets in the way of meeting schedules. Since most testing occurs just prior to release, those involved at the end of the process are often blamed for the release being late. A blaming organization can be a toxic place to work... “From a very early age we like to blame. If you don’t believe me then take some time watching the activities of small children. When one child does something wrong then the tendency is to blame the others – usually to avoid punishment! Why is a blame culture unhealthy for test teams? Because we become fearful of taking any risk in case we make a mistake. When asked do you [have] a blaming culture, [one manager] replied; ‘Well if we do, it’s their fault!’ If we are to learn, progress and become more productive as a team then we must fight the ‘blame culture’ mentality.” [4] As a manager, you need to take steps to avoid blame. Acknowledge poor performance by your team to demonstrate you are willing to accept responsibility when it is deserved. Provide objective evidence when others are at fault in a non-accusatory way to demonstrate you are not interested in blaming others. Maintaining positive and productive working relationships is critical for every SQA Team. These include relationships with: - Project Management - Senior Management - Software Development - Technical Support To be effective, SQA Teams need real support and real commitment from Project and Senior Management. This doesn’t mean that everyone will always be in agreement, but everyone’s opinions and recommendations need to be heard, respected, and considered. In relations with Software Development, SQA needs to be up-front, objective and able to support their position with facts. I often suggest that Testers take a Developer to lunch every month (and vice versa) as a way to foster good working relationships. Managers on both sides should do the same. SQA can learn a lot about what customers are doing by establishing good working relationships with Technical Support. Information from Tech Support should be factored into test plans. Technical Support can be an excellent reviewer of test plans as well. Recommendations for Managers: 1 To be effective, SQA must be independent of Software Development. SQA should report to the same executive that the most senior development manager reports to, or in an organization that has a senior executive responsible for overall product quality, SQA can report to that position. The SQA budget should be separate from the software development budget. Read more about leveraging your SQA resources... (http://www.swqual.com/newsletter/vol3/no5/vol3no5.html) 2 The role of SQA must be clearly articulated throughout the organization. I recommend the role of SQA should be to provide Management with timely, factual information so Management can make better business decisions. SQA should provide information on risk, potential customer impact, etc. By using information from SQA, Development, and other groups, Management can then make informed decisions about releasing products. The information SQA provides needs to be considered in this decision, but ultimately, the decision rests with Management. Sometimes SQA may not agree with the decisions Management makes. If Management never agrees with SQA, there’s a problem... 3 SQA should not be solely responsible for making the release decision. SQA should clearly participate in the decision-making process. Management owns the responsibility for making the ultimate decision. As an SQA Manager, be aware that there will be pressure from many parts of the organization to place this responsibility on SQA. Read more about the role of SQA... (http://www.swqual.com/newsletter/vol2/no1/vol2no1.html) SUMMARY The challenges of managing an SQA Team are significant. By becoming a good manager, the rewards can be equally substantial. It’s akin to watching your children grow up into responsible, mature adults and knowing that you played some small part in their success. If nothing else, remember this: Good managers are good leaders and good leaders lead by example. ‘Til next time... -------------------------------------------------------------------------------- *** Monthly Morsels *** Every month in this space you’ll find additional information related to this month’s topic. - References: [1] Rivera, T. and Will, S., “Lessons from Experience: Managing Software Test Teams”, Software Quality Professional, Vol. 10, No. 1, December 2007 [2] Derby, E., and Rothman, J., Behind Closed Doors - Secrets of Great Management, The Pragmatic Bookshelf, 2005 [3] Blanchard, K., and Johnson, S., The One Minute Manager, Morrow, 1981. [4] Roden, L., “Choosing and Managing the Ideal Test Team”, Grove Consultants. - Additional Resources: - McKay, J., Managing the Test People, Rocky Nook, 2007 (http://www.amazon.com/Managing-Test-People-Judy-McKay/ dp/1933952121/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1199553215&sr=8-1) - ASQ Software Division - Software Quality Engineer Body of Knowledge... (http://www.asq.org/certification/software-quality-engineer/bok.html) - QAI Advanced Certification - Software Testing Manager (http://www.softwarecertifications.org/qai_cmst.htm) - QAI Advanced Certification - Software Quality Manager (http://www.softwarecertifications.org/qai_cmsq.htm) - IEEE Guide to the Software Engineering Body of Knowledge (http://www.swebok.org/) -------------------------------------------------------------------------------- *** Calendar *** Every month you’ll find news here about local and national events that are of interest to the software community... - Software Quality Calendar There are many organizations that sponsor monthly meetings, workshops, and conferences of interest to software professionals. Find out what’s happening... (http://www.swqual.com/links/upcoming.html) - Workshops Offered by Software Quality Consulting Software Quality Consulting offers workshops in many topics related to software process improvement. Get more info... (http://www.swqual.com/seminars/courses.html) -------------------------------------------------------------------------------- *** About SQC *** Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development(TM) – so that organizations can consistently deliver quality software with promised features in the promised timeframe. To learn more about how we can help your organization, visit our web site (http://www.swqual.com/index.html?AboutSQC) or send us an email (info@swqual.com). -------------------------------------------------------------------------------- I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback... (info@swqual.com) Thanks, Steve Rakitin info@swqual.com Food for Thought, Predictable Software Development, Act Like a Customer, and ALAC are trademarks of Software Quality Consulting, Inc. Copyright 2008. Software Quality Consulting, Inc. All rights reserved. Graphic design by Sage Studio