Let's check context --- IF we establish that software engineering is a
licensable profession, THEN any company that makes life critical
software would be foolish to not have a licensed software engineer
signing off.
That's a big IF.
I happen to be a fan of professional licensing, and my sympathies are
on the plaintiff's side of malpractice liability. WHEN there is
malpractice, I like to see the malpractitioner get sued, disciplined,
pay for it, and in the event of repeat malperformances, get summarily
booted out of the profession. I'm not being sarcastic about this --
personal accountability is important to me. I've even served as a
full-time volunteer prosecutor in the Santa Clara County District
Attorney's Office, putting my feelings about personal accountability
into practice.
I have two concerns about licensing software engineers:
(a) Do we have a solid enough consensus in the field today to define
the Standard of Care that a jury should evaluate a software engineer's
performance against?
(b) Is the set of materials (SWEBOK) that will be promoted as the
statement of that Standard of Care a reasonable description of what I
understand as good software engineering practice?
Regarding (a), this is a vital issue because this is the basis both of
licensing and of malpractice litigation. There has never been a
successful suit for pure software engineering malpractice. (There have
been successful software-related malpractice suits against accountants
and other licensed professionals, but not yet against software
engineers per se.) The reason that there has never been a successful
suit is that the law does not yet recognize us as a profession. Only
professionals can be sued for malpractice (professional negligence).
If we convince politicians to declare software engineering a profession
but don't have a sufficient consensus, then we create a litigation
lottery. Dissatisfied clients will be able to sue for malpractice, but
the jury will get essentially random guidance from the expert witnesses
who testify at trial about appropriate engineering practice.
In my view, this would be a disaster for the developing profession.
Ultimately, standards of care WOULD be established. But they would be
established in litigation. By judges, juries, lawyers and insurance
companies.
It is impossible to predict what standards would come out of a process
like this.
I look forward to a time when we do license software engineers. I think
we'll appropriately hit that time about 20 years from now. Let's not
make the mistake of rushing into it today.
Regarding (b), SWEBOK reflects a collection of practices that have been
successfully promoted to DoD and several other government agencies.
They have credibility, they have a big fan club, there is a lot of
money being made doing business with DoD (etc.) under these
practices/standards, they are not going away any time soon. If our
field adopts a Standard of Care in the next few years, it will look a
lot like SWEBOK.
I think SWEBOK promotes a set of practices that are sometimes
appropriate, but in many contexts thay are as outrageously expensive as
they are remarkably ineffective. The idea of adopting these as a
standard of care for our profession, is, at least to me, abhorrent.
-- cem kaner
On Sunday, June 1, 2003, at 01:39 PM, Dan Rawsthorne wrote:
> Cem Kaner said:
>> I agree that a company that made
>> life-critical software would be foolish to not have a licensed
> engineer
>> as overseer. But for commercial software -- unless there is a
>> regulation or law that I am unaware of -- no such legal requirement
>> exists.
>
> Cem is correct. Furthermore, life-critical software that is currently
> being built *is* signed off on by a professional engineer. This
> engineer
> is often an EE who claims proficiency in software.
>
> Since there need to be professional engineers that sign off on
> software,
> I would prefer that they be software professionals, wouldn't you? They
> would have a better chance of recognizing why agility works, or what
> lessons patterns teach us, and so on.
Cem Kaner, Professor, Department of Computer Sciences,
Florida Institute of Technology, 150 West University Blvd.
Melbourne, FL 32901.
Senior author of
Lessons Learned in Software Testing
Testing Computer Software, and
Bad Software: What to Do When Software Fails.