![]() |
|
An e-newsletter published by |
November 2006, Vol. 3 No. 9 |
| Welcome to Food for Thought™, an e-newsletter from Software Quality Consulting. 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 this Forward Email link. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link. If you don't wish to receive this newsletter, click the SafeUnSubscribe™ 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 Months’ Topic,
I discuss the difference between software quality professionals and testers…
|
|
What’s In a Title – Part 2 Software development organizations often have a group that has the word “quality” in the group’s name. Depending on the industry and the organization, this group could be called:
Not surprisingly, there are also many titles for people who work in these groups:
Last month, I discussed how the title “engineer” is often applied to many jobs that don’t meet established criteria for engineering disciplines. I also discussed differences between software engineers and programmers. I listed my views on the scope of responsibilities for each and how we need recognize the roles of apprentices and mentors in our industry. It is so important that management support these critical roles. This month, I would like to continue this discussion by examining differences between software quality professionals and testers. My pal Watts Humphrey defined Software Quality Assurance (SQA) as:
In my May 2006 newsletter, I identified many different activities that an SQA group could perform. Roger Pressman often refers to SQA as an umbrella for many diverse and important activities. Is SQA an Engineering Profession? The first question is does SQA meet the definition of an engineering profession? If you recall the discussion from last month, to be considered as an engineering profession, five characteristics need to be met [2]:
Clearly the most glaring lack here is in the area of formal education. Working with hundreds of software quality people over the years, I have found that most have not had any formal education in the software quality field. Back in 1997, this is what ultimately motivated me to write a book on this topic… Many people working in the software quality profession have undergraduate (and often graduate) degrees in fields unrelated to computer science or software engineering. As a result, most folks have learned their craft through on-the-job training. Given the significance of what these people are doing from a quality perspective, this is clearly not the best situation. The lack of formal training in this field has been one reason people in this field are often treated as second class citizens – especially when compared with software engineers. What is the SWEBOK? Over the years, there has been much debate about topics related to software quality and software quality assurance and the relationship of software quality to software engineering. The IEEE Computer Society, working closely with industry, developed a software engineering body of knowledge - called the SWEBOK. After extensive industry review, the SWEBOK was published in 2004 [3]. The SWEBOK presents the body of knowledge in several different areas. These areas include:
It is interesting to note how that Software Testing and Software Quality are listed separately. SWEBOK topics related to software quality [3] are:
SWBOK topics related to software testing [3] are:
The fact that the SWEBOK presents Software Quality and Software Testing as separate areas is interesting. This confirms my belief that we need two well-defined roles - testers and software quality professionals – for the same reasons we need programmers and software engineers. Let’s look at how these two roles would complement each other. Software Quality Professionals Software quality professionals are people who could develop and lead an organization’s quality activities. Examples of tasks that software quality professionals would be directly involved in could include:
Software Quality Professionals should have an extensive background in basic quality principles as applied to software development. Software Quality Professionals should be skilled at applying traditional quality principles such as auditing, statistical analysis, root cause analysis, etc. They should also have a considerable amount of domain knowledge of the products being developed. They need excellent interpersonal communication skills. Certifications such as those from ASQ or QAI (mentioned above) should be required along with several years of experience. Testers In my view, some of the tasks that testers could be involved in would include:
Testing is often viewed as an entry level job for people who are changing careers or looking to enter a high tech industry. People who are new at this obviously need a lot of training, mentoring, and coaching. This is yet another example where an apprenticeship role makes abundant sense. Testers can also be recruited from within organizations. For example, people who are in a Technical Support, Customer Support or Field Service role can be given an alternative career path – as a tester. This can work very well since people in these roles have lots of domain knowledge. What they lack are basic testing skills. It is much easier and less costly to teach people basic testing skills than it is to provide people who may have testing skills with sufficient domain knowledge. Summary Just like other engineering disciplines, we need to recognize the need to have apprentices and mentors both in software development and in the software quality areas. Having apprentices and mentors enables people to develop their skills and become more effective and productive. The relationship between an apprentice and mentor is also something that can have long lasting impact and provide organizations with significant long-term benefits… Until next time… |
Every month in this space you’ll find additional information related to this month’s topic.
|
Every month you’ll find news here about local and national events that are of interest to the software community …
|
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™ – 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 or send us an email. |
I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback… Thanks, |