The Twitter Seminar On The Development Of Error Free Software Concludes — Session 8

December 21, 2014

PROGRAMMERS ARE SPECIAL QUALITY ASSURANCE MANAGERS!

Requiring our programmers to be special Quality Managers? This would be a terrible inconvenience?

On one of my contracts, I had the opportunity to witness an attempt to become ISO-9001 certified.

There were two ISO-9001 certification meetings; the first with the software manager and the second with QA.

The software manager had no idea as to what his group could do to be compliant with ISO-9001.

The QA manager described the increased formality required to be compliant with ISO-9001.

The body language of my client’s employees told me that no one except management wanted ISO-9001 certification.

One of the requirements of ISO-9001 is the use of “Standard Processes and Methods”.

The use of “Standard Processes and Methods” means that management would control our programming efforts.

Would you believe it I told you that programmers are already using “Standard Processes and Methods”?

No I don’t! As long as I do my job, management leaves me alone. They create more problems than they solve.

Then would you believe it I told you that programmers create their own “Standard Processes and Methods”.

No? How many times have you prepared a new source file by modifying an old previously developed source file?

Your collection of sources files defines your “Standard Methods and Processes” that you use.

Will this help you to develop error-free software? Reflect on your experience. It already has.

WHATIFWE were to make a conscious Quality Assurance Effort? Will it help? Try it, sees what happens.

I, A Programmer, Am Also A Quality Assurance Manager

December 21, 2014

To be strictly compliant with ISO9001, Programmers must
use enforceable standard methods and processes.

Assembly Language Programmers used macros for common
multi-instruction processes. These macros, once developed,
were never changed.

Software “breaks fatally” when it illegally writes. The
error cannot be fixed and it might take the machine down.

There are many error detection code segments that programmers
use during checkout and then remove before delivery.

I developed a C++ Macro Preprocessor to provide a highly
competent macro capability to facilitate using error detection code.

Unlike the Macro Assembler, my C++ Macro Preprocessor prepared
source code exclusively from the Macros.

IBM developed the first piece of error-free software in 1968.
It was the PL/1 Compiler and it was a joy to use.

The PL/I Compiler was error free due the strict application of
the requirements of simple precedence.

In the late 1960’s, Bob Prince of Lockheed developed a simple
precedence based compiler writer which I used.

In the early 1970’s, I used the Lockheed Compiler Writer to
prepare non-compiler applications with moderate success.

I had difficulty with the Compiler Writer on non-compiler
applications because data flows differently than processes.

I realized many years later that a multidimensional precedence
process could manage both processes and the data flow.

I learned how to make a set of coupled precedence processors
that “policed” the use of classes and the flow of data.

I updated my C++ Macro Processor to render it capable of
deploying simple precedence principles to my programming efforts.

My Macro Processor satisfied the Standard Methods and
processes requirements of ISO9001.

I inadvertently became a Quality Assurance Manager.

Open Source Software Development Tool Error

December 20, 2014

An Programmable Software Development Environment system error has been
discovered,

The WIN32 error message is as follows:

PCG ERROR: MacCert — 455
PCG ERROR: macproj — 2698
PCG ERROR: macproj — 315
PCG ERROR: devproj — 1400
PCG ERROR: mainprj — 1461
PCG ERROR: explrpde — 153

The LINUX error message is as follows:

PCG ERROR: MacCert — 474
PCG ERROR: macproj — 2717
PCG ERROR: macproj — 334
PCG ERROR: devproj — 1419
PCG ERROR: mainprj — 1480
PCG ERROR: explrpde — 172

SATURDAY: 2014/12/20

STATUS: All of the software parts library associated with web-site
development process were successfully restored using the original
Programmable Software Development Environment.

DETAIL: As expected, the subject error resulted when css website
library was processed.

RESULTS: I changed the version of the css website library from alpha to
experimental and the subject error no longer occurred. The website
development effort can be performed independently of this upgrade
process.

NEXT TASK: The next step will be to equivalently restore the previous
WIN32 version.

The Twitter Seminar On The Development of Error Free Software Continues — Session 7

December 20, 2014

Can a software engineer be a Quality Assurance Manager?
Quality Assurance is a management task.

To find out, let us look at the beginning of all Quality
Assurance programs; i.e., the Deming Cycle.

The Deming Cycle, first used in Japan in 1947, consists of
the following four steps.

The first Deming Cycle Step is “make a plan”. The second
Deming Cycle Step is “do the plan”.

The third Deming Cycle Step is “check the results”. The
four Deming Cycle Step is “change the plan if needed”.

The Deming Cycle appears to be a concise definition of
common sense!

Would you believe it if I told you that all programmers
are Quality Assurance Managers?

No! Then would you believe it if I told you that a computer
program is a Deming Plan?

A computer program is a Deming Plan to be done at the
client’s site by a computer, not by a person.

Most Programmers do not understand that they are very special
Quality Assurance Managers.

WHATIFWE required our programmers to be special Quality
Managers? Would this be a terrible inconvenience?

MORE IN THE NEXT MESSAGE

The Computer Wisdom of Bugs Bunny

December 20, 2014

Do you remember the Bug’s Bunny cartoon where he pops out of the ground
in the middle of the desert and says “I think that I should have turned
left at Albuquerque”?

Mistakes always happen; some because of stupidity, some because of greed;
some because the required knowledge was not available, and some because
we are just human beings.

We are currently experiencing a great many security problems due to
hackers.

The basic computer design that makes this possible has a common program
and data buss. Hackers can cause their program to be loaded on the target
machine via this common buss.

In the late 1970’s, there was a different computer design, the Harvard
Architecture with separate data and program busses. This architecture
cannot be hacked.

About 1985, the microprocessor became practical and the Harvard
Architecture became obsolete.

“Did we turn right at Albuquerque in error”? I believe so. Could
have avoided it? I think not. We could not have predict the future.

Should we re-vitalize the Harvard Architecture? I think the benefits
would greatly out-weigh the costs.

The Twitter Seminar On The Development of Error Free Software Continues — Session 6

December 19, 2014

CAN WE PREVENT ERRORS DURING SOFTWARE DEVELOPMENT?

Suppose we had a software tool that produced source code
exclusively from a set of macros? Would it be restrictive?

A computing language is often considered the pallet where
the programmer expressive his creative juices.

Restricting the programming effort to a minimal set of macros
would take all of the fun out of the project.

In addition, a highly skilled programmer can be trusted to do
the job correctly without these constraints.

Would you believe it I told you that all programmers, even the
great ones, make errors.

The errors made by the junior programmers show up quickly
during checkout and are easy to fix.

The errors made by the senior programmer take a long time to
show up and are difficult to fix.

Restricting the “field of play” can greatly simplify the
development process.

Restricting the “field of play” can greatly reduce the
occurrence of errors.

In the hardware world circa 1980’s, management select the
Integrated Circuits to be used in the project.

Unfortunately, management cannot provided the an appropriate
set of software parts.

Programmers are needed to develop an appropriate set of software
parts. Is a programmer a QA manager?

WHATIFWE had a senior programmer who was also a Quality Manager?
Would this help?

Limitation to My Response to Your Comments

December 18, 2014

Every day I receive between 50 and 100 comments. Many of these comments request information or advise from me.

I appreciate the honor of your request for information.

Unfortunately, there is only one of me managing and writing the blog. Consequently, I simply do not have enough time to reply to each of your questions.

There are many comments that ask the same question. In these situations where I have the information, I will provide my knowledge in a post, time permitting.

I will respond to any comment made by a person who is experimenting with my software development tools.

Thank You

Robert Adams

Open Source Software Development Tool Error

December 18, 2014

An Programmable Software Development Environment system error has been
discovered,

The WIN32 error message is as follows:

PCG ERROR: MacCert — 455
PCG ERROR: macproj — 2698
PCG ERROR: macproj — 315
PCG ERROR: devproj — 1400
PCG ERROR: mainprj — 1461
PCG ERROR: explrpde — 153

The LINUX error message is as follows:

PCG ERROR: MacCert — 474
PCG ERROR: macproj — 2717
PCG ERROR: macproj — 334
PCG ERROR: devproj — 1419
PCG ERROR: mainprj — 1480
PCG ERROR: explrpde — 172

THURSDAY: 2014/12/18

STATUS: My attempts at implementing a Linux version of the
Programmable Software Development Environment were unsuccessful. Some
of the projects functioned successfully. Others “Locked” the program up.

DETAIL: I was victimized by my “All I have to do is…” phrase. This
was not a simple, minor change. In addition based on the development
email notes sent from the Linux Developer, a compiler error was
reported a few months ago.

RESULTS: It is now necessary to re-establish what is working; the debug
version, the pre-release version, and the LINUX compiler.

NEXT TASK: My first step will be to restore the original version and
test its debug, release, and installed versions.

The Twitter Seminar On The Development of Error Free Software Continues — Session 5

December 17, 2014

CAN WE PREVENT ERRORS DURING SOFTWARE DEVELOPMENT?

It is important to detect and properly respond to an error
condition during the execution of the product.

It is also very important to prevent errors in the software
development process.

Perhaps we should look again at the development of military
hardware, circa, 1980’s.

In the hardware world, Quality Assurance begins with the
selection of a set of parts.

Management selected a set of Integrated Circuits and the
Engineers were required to use them in the design.

Would you believe it if I told you that there is an software
equivalent to the integrated circuit?

There is a “software part” equivalent and it is not an object
(which is more like a circuit board).

We can find our “software part” in the history of software
engineering.

Specifically, it is the macro instruction set in the
macro-assembler circa 1990.

These macros were used to define common multi-instruction
processes such as 4-byte addition in a Z80 machine.

Once defined, these macros were never changed. They became
standard “Software Parts”.

Unfortunately, the use macro instruction set was optional
in the development of an assembly language program.

WHATIFWE had development software tool that produced source
code exclusively from a set of macros?

The Deming Cycle — Everyone Should Know It.

December 17, 2014

The Deming Cycle, the historical basis for all Quality
Assurance Programs, helped Japan to recover after World
War II.

The Deming Cycle consists of four steps: Plan, Do, Check
the Results, and Alter the Plan if necessary.

The Deming Cycle is a good definition of common sense.
I have used it on many occasions without knowing it.

When applying the Deming Cycle, when do we learn new and
better ways of doing our task?

We learn during the fourth step of the Deming Cycle when
we Alter our Plan.

WHATIFWE were all taught the Deming Cycle as a part of
our public education?


Follow

Get every new post delivered to your Inbox.

Join 344 other followers