Frequently Asked Questions about Tejas Software Consulting
Here are some some questions that I've received a number of times,
along
with my answers.
Contents
Q: What's the best way to contact you?
A: Usually the best way is to send e-mail to faught@tejasconsulting.com.
I don't always have easy access to my e-mail when I'm at a client site,
so it
may take 24 hours or more for me to get back to you. If you need an
answer more quickly than that, please call me at
+1 817 294 3998.
When I am not at my main office, I usually forward this number to my
cell phone (the voice mail message will refer to my "mobile office").
If you don't get an answer to your e-mail within a few days, it
wouldn't hurt to e-mail a reminder or call me. Unfortunately, I
sometimes
get behind in the large volume of e-mail that I receive.
Please don't send me a Bcc (blind carbon copy). My mail filter
removes most e-mail that doesn't include my mail address in the header.
Q: Do you write software?
A: I do know how to program in several different languages,
and I did
once have a job as a developer. In a QA role, I often write
software to automate various parts of the testing and QA process.
This infrastructure software usually does not become a part of the
product that ships to customers.
In practice, people in a quality assurance role rarely modify or
contribute directly to the source code for a software product. For
a non-trivial product, there are enough quality assurance tasks to
keep one or more QA people occupied full time. As a tester, I did
once write a utility program (the sysinfo utility for SPP-UX) that I
needed in the test environment which was also adopted as a supported
part of the production system.
To borrow a slogan from BASF - I don't make the software you use, I
help make the software you use better. When I find software bugs, I
rely on the software developers who are already familiar with the code
to fix them. I do advocate, however, that testers do a fair
amount of investigation when they find a symptom of a bug, which
requires
debugging skills similar to those that developers use, and is probably
half of the overall effort required to fix a bug.
Q: Do you help deploy and/or customize software packages?
A: This is similar to the previous question, but from more
of an
Information Technology point of view. I do work with test tools and
other tools that assist with the quality assurance process. I can
conduct a tool evaluation and help deploy such tools.
In general, I don't
directly handle software deployment for the broad range of software
the businesses generally use as part of their infrastructure, but I can
help you manage the quality of such software and the
customizations that you apply to it.
Q: Okay, so what do you do?
A: I work with two related concepts - Quality Assurance and
Quality Control. These concepts have been at work in other fields
such as manufacturing for many years. They have been adopted for use
in the software engineering process.
Quality Control is usually referred to simply as "testing".
Once you've started a project to develop or deploy a software system,
you need to find out whether it meets the requirements that it is
intended to fulfill. One important way to do this is to develop a plan
for
taking the system through its paces the way the customer would, and
execute that plan, looking for bugs in the software. Other testing
activities occur before the system is completely finished - the sooner
you find a problem, the easier it is to fix. A small part of the
testing
process is just common sense, but leveraging decades of experience
accumulated in shelves full of books about testing, testers can be far
more effective and efficient. This can have a dramatic impact on a
product's success.
Quality Assurance (QA) is what you get when someone asks "Why
did we
write that bug into the system in the first place?" Quality Assurance
focuses on the overall software development process, looking for ways
to prevent defects and find them earlier and more cheaply. An
effective Quality Assurance effort can reduce the need for Quality
Control, or at least make it more effective. Note that in the
software industry, the term Quality Assurance is often used as an
umbrella term that includes Quality Control, and in the rest of this
document, I'll use QA as a shortcut to refer to both.
Read further down for more details on how I structure projects.
Q: What type of clients do you work with?
A: I work with software development organizations, and also
organizations who deal with outsourced software development.
"Software development" means creating the software from scratch and
maintaining the software for upgrade or bug fix releases. For
example, the operating system on your computer, your word processor,
the e-commerce web site that you use, and the software in your
company's back office were all the result of a software development
project.
This is often an organization that sells the software either by
itself or
as part of a product that includes software. I can also work with IT
organizations that are developing and deploying software for internal
use
within a company.
Q: What type of software do you work with?
A: I don't limit myself to any particular type of software,
though I have more experience with some kinds of software than others.
Some of the software I've worked with includes land title software,
restaurant automation, pharmaceutical devices, operating systems,
embedded software, e-commerce web applications, embedded Internet
applications, telecommunications software, military software, word
processing software, scripting language interpreters, and insurance
software.
You need three types of expertise on a test team - expertise with
your
application domain, general testing knowledge, and technical skills.
Ideally, you'll have a whole
team of people who are experts in all of these. But often it doesn't
work out
that way. I can apply testing expertise to any application domain, and
if
it's a type of software that I'm not intimately familiar with, I can
put your team's domain knowledge to work in customizing a process for
you. I can also help you recruit a team that has the right mix of
skills.
Q: What type of projects do you take on?
A: I can categorize my consulting engagements into three
main
categories (though some of my most interesting projects defy any kind
of categorization :-)
- Training. I create and teach courses for software professionals,
typically 1 to 3 days long. I do private courses at or near a client's
site, and I occasionally conduct public courses where enrollment is
open to anyone. See
http://tejasconsulting.com/courses/ for more details.
- Consulting. I arrange short-term engagements to deal with
specific issues related to software quality. I will travel for these
engagements
as needed.
- Contracting. I try to keep one part-time project running where I
have a long-term commitment, and where I can see the results of my
actions over the course of a project. This helps me to have a better
understanding of the things that I recommend during training and
consulting engagements. These projects are either local to the
Dallas/Fort Worth metroplex or the majority of the work is conducted
from my office in Fort Worth, Texas.
I can participate as an individual contributor, team lead, or
technical lead as needed, as well serving as a consultant, coach, and
trainer.
Q: How many people work for your consulting practice?
A: I (Danny Faught) am the sole employee, and I don't
currently have any plans to expand. I do, however, keep in contact with
a
number of other consultants whom I recommend to clients when
additional resources are needed.
If you do consulting, I invite you to submit an entry to the Testing
Contractors and Consultants list that I maintain at
http://testingfaqs.org/contract.htm.
Consider joining my newsletter mailing list using the form at
http://tejasconsulting.com/newsletter. Please give me your feedback on
the
newsletter and my other writings, and share any of your writing with
me. For other networking tips, see my article Developing Your
Professional Network.
Please do not send me your resume. I rarely have the opportunity to
help a client with recruiting, so I don't maintain a resume database.
Q: Will you send business to my test lab?
A: Make sure you're listed on the Testing Contractors and
Consultants list mentioned above, so I'll know how to find you if any
of my clients should need your services.
Q: Will you evaluate my test tool?
A: If you are a test tool vendor, I can do a competitive
analysis and make recommendations for how to position your tool in the
marketplace. Or, give me a call and I'd be glad to spend a few
minutes discussing your tool with you at no charge.
First, make sure your tool is listed in the Test Tools List -
http://testingfaqs.org/.
Q: May I subscribe to your mailing list?
A: You'll have to help me understand which one you're
talking
about. I maintain the
swtest-discuss mailing list, which is for general discussions about
software testing, and the
metro-sqa list, for networking for software QA folks in the Fort
Worth/Dallas area. I also have three announce-only lists, the Tejas Software Consulting Newsletter, a bimonthly
publication, Testing FAQ
News, for occasional updates on recent changes to
testingfaqs.org., and Open Testware
Announcements, for people who are trying to decide whether they
want to buy a subscription to Open
Testware Reviews. All of these are open to the public.
A: I am eager to connect with people I know
on LinkedIn. I don't
accept connection invitations from people I don't know well. If you are
trying to expand your network, I invite you to contact me at faught@tejasconsulting.com
to discuss whether we have any shared interests.
See my article Linking
Up on LinkedIn for more information about
LinkedIn, and also see Developing
Your Professional Network.
Q: Can you give me some pointers on how to become a consultant?
A: See my notes on Being a consultant.