|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/srakitin/OLD/newsletter/vol3/no9/ |
Upload File : |
Food for Thought-An e-newsletter published by Software Quality Consulting, Inc.
November 2006, Vol. 3 No. 9
What�s In a Title � Part 2
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 [email protected].
--------------------------------------------------------------------------------
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 this Forward Email link at the bottom
of this newsletter. 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 [email protected].
--------------------------------------------------------------------------------
*** In This Issue ***
In This Months� Topic, I discuss the difference between software quality
professionals and testers...
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 ***
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:
- Quality
- Quality Assurance
- Quality Engineering
- Quality Management
- Application Quality Assurance
- Software Quality
- Software Quality Assurance
- Software Quality Engineering
- Test
- Test Engineering
- System Test
- User Experience Testing
- Software Verification & Validation
- Independent Verification & Validation
- Send me your group�s name if it�s not listed above...([email protected])
Not surprisingly, there are also many titles for people who work in these
groups:
- Quality Analyst
- Quality Engineer
- Quality Assurance Analyst
- Quality Assurance Engineer
- Software Quality Engineer
- Software Quality Technician
- Software Quality Assurance Engineer
- Software Verification & Validation Engineer
- Validation Engineer
- Validation Specialist
- Software Validation Engineer
- Software Validation Specialist
- Test Lead
- Test Engineer
- Test Specialist
- Send me your title if it�s not listed above...([email protected])
Last month (http://www.swqual.com/newsletter/vol3/no8/vol3no8.html), 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:
�SQA is a valid discipline in its own right and people can be SQA
experts without being software design experts. This SQA expertise is
what is required to establish a strong quality program. It includes
knowledge of statistical methods, quality control principles, the
software process, and an ability to deal effectively with people in
contentious situations.� [1]
In my May 2006 newsletter
(http://www.swqual.com/newsletter/vol3/no5/vol3no5.html), 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]:
1 A professional education from an accredited institution
Currently, colleges or universities do not offer undergraduate or
associates degrees in Software Quality Assurance.
A few universities are beginning to include Software Quality Assurance
courses as part of an undergraduate program in Software Engineering.
2 Registration of fitness to practice via voluntary certification or
mandatory licensing
We do have several examples of voluntary certification. For example:
ASQ-Software Division (http://www.asq.org/softwareforum/) - Certified Software
Quality Engineer
QAI-Worldwide (http://www.qaiworldwide.org/certifications/index.html) offers
the following certifications:
Certified Software Quality Analyst (CSQA)
Certified Software Tester (CSTE)
Certified Manager of Software Testing (CMST)
Certified Manager of Software Quality (CMSQ)
3 Specialized skill development and continuing professional education
We do have this. Many software quality related short courses and are
offered by organizations such as:
- ASQ Software Division
(http://www.asq.org/softwareforum/)
- Pacific Northwest Software Quality Conference
(http://www.pnsqc.org/)
- Boston SPIN
(http://www.boston-spin.org/index.html)
- Software Quality Group of New England
(http://www.sqadvice.com/SQGNE_Calendar.htm)
- Twin Cities Quality Assurance Association
(http://www.tcqaa.org/index.htm)
- Quality Assurance Association of Connecticut
(http://www.qaac.org/)
- Greater Kansas City Quality Assurance Association
(http://www.kcqaa.com/Index.html)
- STAR East and STAR West Conferences
(http://www.sqe.com/stareast/)
4 Communal support via professional societies
We do have this. Professional societies include:
- ASQ Software Division
- Quality Assurance International
5 A commitment to norms of conduct often prescribed in a code of ethics
We do have this. The code of ethics appears in the brochure for the CSQE
certification...( http://www.asq.org/certification/docs/
csqe_brochure_05-06.pdf)
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...( http://www.amazon.com/Software-Verification-Validation-
Practitioners-Managers/dp/1580532969/sr=1-1/qid=1162434619/ref=sr_1_1/102-
6483037-8016953?ie=UTF8&s=books)
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:
- Software requirements
- Software design
- Software construction
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management
- Software engineering process
- Software engineering tools and methods
- Software quality
It is interesting to note how that Software Testing and Software Quality
are listed separately.
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:
- Define Software Quality Processes and Procedures
- Review Software Engineering Processes and Procedures
- Define, develop, and analyze Quality Metrics
- Identify appropriate Peer Review techniques
- Identify appropriate Software Risk Management practices
- Identify appropriate Static Analysis techniques
- Actively participate in Peer Reviews and Formal Inspections
- Prepare Software Quality Assurance Plans
- Prepare and review Software Test Plans
- Prepare Software Risk Management Plans
- Audit compliance with software engineering processes
- Review Configuration Management and Change Control processes
- Prepare Defect Management procedures
- Participate in software document reviews
- Assess Test Automation needs
- Plan Manual Testing activities
- Review Regression Testing rationales
- Review Test Reports
- Lead Process and Product Audits
- Define Software Release Procedures
- Establish effective working relationships with Software Development
- Establish procedures for Triage and Root Cause Analysis
- Identify and provide appropriate training for testers
- Actively mentor and coach testers and provide leadership
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:
- Participate in document reviews
- Participate in writing Test Plans
- Write Test Cases
- Execute Test Cases and perform Regression Testing
- Prepare Test Reports
- Track status of testing activities
- Acquire automated testing skills
- Work with Defect Tracking tools
- Participate in process and product audits
- Acquire domain knowledge
- Build effective working relationships with software engineers and
programmers
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...
--------------------------------------------------------------------------------
*** Monthly Morsels ***
Every month in this space you�ll find additional information related to
this month�s topic.
- References:
[1] Humphrey, W., Managing the Software Process, Addison-Wesley, 1989.
[2] G. Ford and N.E. Gibbs, A Mature Profession of Software Engineering
, Software Engineering Institute, Carnegie Mellon University,
Pittsburgh, Pa., tech. report CMU/SEI-96-TR-004, Jan. 1996.
- On-line Resources
[3] IEEE Guide to the Software Engineering Body of Knowledge, 2004
Version. (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
([email protected]).
--------------------------------------------------------------------------------
I hope this newsletter has been informative and helpful. Your comments and
feedback are most welcome. Send me your feedback...([email protected])
Thanks,
Steve Rakitin
[email protected]
Food for Thought, Predictable Software Development, Act Like a Customer,
and ALAC are trademarks of Software Quality Consulting, Inc.
Copyright 2006. Software Quality Consulting, Inc. All rights reserved.
Graphic design by Sage Studio