BETA VERSION PHILOSOPHY

January 26, 2010

The Programmable Software Development Environment is a beta version.   This means it is a work in progress driven by an extensive personal research and development effort focused on the development of portable error-free software using enforceable standard methods and processes.

The program is continually tested by using it on real problems.   Errors will be discovered from time to time.  Most of these errors will occur in the error-handling sub-systems which do not get exercised at the same rate as the functional sub-systems.  These errors will be reported in this blog and corrected in a timely manner with a set of new download files. The corrected version of the program will not be considered a new version of the program.

New capabilities will be added from time to time as needed.  New capabilities will result in revisions to the web-site and a new set of download files which will be considered a new version of the program.

If the user needs to access previous downloads, a more complete collection can be found on CodePlex under the Project Title “Programmable Development Software Environment”.

PURPOSE OF TOOLS CATEGORY

December 7, 2009

Although all of the tools available on the web-site, http://www.whatifwe.com, are well documented, their use is not always obvious.   This category has been provided to assist the user in the use of these tools and to report any problems.

PURPOSED OF IRAD CATEGORY

December 7, 2009

Summary statements relative to the Independent Research and Development programs can be found in this category.  Software Engineers are invited to contribute their personal IRAD summary statements in this category.

Life of A Programmer — Session 5.1 — You are a Quality Assurance Manager

April 18, 2014

You are a software engineer. You work for a great software
development company.

Would you believe it if I told you that you are a Quality
Assurance Manager.

You don’t believe it! I don’t blame you.

Q.A. is a management activity. It is taught in Business
Administration.

You have a college degree in Software Engineering, not
Business Administration.

MORE IN THE NEXT MESSAGE

Prague Conference in 1987

April 18, 2014

In 1987, I presented a scientific paper at a conference
in Prague, Czechoslovakia.

At that time, Prague was a city in the territory under
control of the Soviet Union.

I have always performed my research on my own time and money.

I attended the conference on my vacation.

Needless to say, the other attendees were quite curious
about my personal research efforts.

During this time, I had an interesting conversation with
a Polish attendee while walking along the river:

POLISH ATTENDEE: We are not special.

MY RESPONSE: Being special is defined by what you do
to be the very best in your field.

POLISH ATTENDEE: We have no resources.

MY RESPONSE: Do you have a personal computer at your home?

POLISH ATTENDEE: Yes.

MY RESPONSE: Probably a better one than I have. My is
a Heathkit H89.

POLISH ATTENDEE: The bosses will not like it.

MY RESPONSE: Usually, the bosses don’t kill the goose
that lays the golden egg right away.

At this point he understood and I was effectively
“walking on water”.

You ask: why am I sharing this little bit of history
with you.

History is a great teacher and today we need to learn
this lesson.

Life of A Programmer — Session 4.5 — How can you become more skilled than your fellow employees.

April 16, 2014

PRINCIPLE 4: ACCEPT NO VERBAL ORDERS

In 1961, Lockheed had a standard document called an ANVO. This meant
“ACCEPT NO VERBAL ORDERS”.

This is a very important and valuable concept.  Spoken commands are
more likely to be misinterpreted.

Your boss might only make verbal commands. In this case, give him
your interpretation in writing.

When an ANVO has been issued, make sure that its required effort
is properly documented in your log.

MORE IN THE NEXT MESSAGE

Software Engineers are Quality Assurance Managers

April 15, 2014

Have you ever noticed that Quality Assurance, ISO-9001,
and the Deming Cycle is taught only in Business Administration?

I have found that when Quality Assurance was taught in Engineering
Schools, it was in Engineering Management Classes.

Is Quality Assurance just an Engineering Management Problem?  Is
a Software Engineer a Quality Assurance Manager?

Computer Programs are special Deming Plans to be Done at the
client’s site by a computer not by a human being.

Software Engineers are, in reality, Quality Assurance Managers.
For the most part, they do not realize this fact.

WHATIFWE taught Quality Assurance, ISO-9001, and the Deming
Cycle to all Engineers in our Engineering Schools?

Life of A Programmer — Session 4.4 — How can you become more skilled than your fellow employees.

April 15, 2014

PRINCIPLE 3: MAKE SMALL SELF-DOCUMENTING SOURCE FILES.

Each of your source code files should not be longer than
three or four pages.

Each source code file should have lots of descriptive
comments.

Each source code file should reference a section of
your plan.

Each variable name should be instantly identifiable.

Keep in mind that your source-code goal is to be able
to instantly relate to its design and use when you open
its file.

You might have to answer a question over the phone a year
after you complete the project.

MORE IN THE NEXT MESSAGE

 

I, A Programmer, Am Also A Quality Assurance Manager

April 15, 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 Preprocessor satisfied the Standard Methods and
processes requirements of ISO9001.

I inadvertently became a Quality Assurance Manager.

Developing a Website using a software parts library

April 11, 2014

The activity associated with development of a software parts library
for the development of a web-site will be presented here. This will be
an extension of the library used to prepare Programmable Software
Development Environment manual.

This effort was started a long time ago following the development of
the manual software parts library. Its purpose was to eliminate the
need for Front Page. It was subsequently put on hold so that other
more important efforts could proceed.

Mr. Mike is a long time professional friend of mine who has recently
offered to reconstruct my Web-Site. I told him my plan to use my tool
to rebuild my site. He has had difficulties relating to my technology
(It is quite different than normal programming methods) and I am not
really skilled in Web-site design. We both felt that this might a great
opportunity to make the technical connection.

THURSDAY: 2014/04/10

STATUS: The HTML software parts associated with wholepage have been
developed and successfully tested,

DETAIL: The wholepage does not function unless it contains something.
The software parts have been defined to insert a line of text if there
is nothing else present. This facilitates the development process by
allowing the website to be developed one step at a time.

MY NEXT TASK: The next step is to start the software parts development
process associated with the the group pages. These pages contain
header, contents, and text sections and are identified by unique id
names.

Life of A Programmer — Session 4.3– How Can You Become More Skilled Than Your Fellow employees.

April 10, 2014

PRINCIPLE 2: KEEP A WRITTEN DAILY LOG

Keep an accurate written log of your activities.

This log should contain the beginning and end time
for each activity.

This log should briefly define the activity and its
results.

Where appropriate, the log should reference particular
sections of your plan.

The “Weight of The Evidence” is always valuable in any
progress report.

You will always be able to show management your current
status at any time.

MORE IN THE NEXT MESSAGE

The Purpose of My Blog

April 10, 2014

The original purpose of my blog was to provide me an easy
means of reporting my activity on my personally funded
research and development activities on error-free software
development methods.

I subsequently expanded the purpose of my blog to encourage
others to improve their skills by conducting their own
regular experimental process.

I became a software engineer in 1966 due to an experiment
that I had performed. I have never taken a course in
Software Engineering. You are encouraged to take a similar
path. If my tools can be of any benefit, they can be
downloaded free-of-charge from my web-site, http://www.whatifwe.com

Life of A Programmer — Session 4.2 — How can you become more skilled than your fellow employees.

April 8, 2014

PRINCIPLE 1: WRITE AND EXECUTE A PLAN

In many companies, when a new major task is assigned, the
responsible software engineer will be asked to make a plan.

This plan will be presented to management and the senior
programmers for their comments and criticism.

In most cases, this plan will become obsolete and forgotten
with the first software development keystroke.

To become more valuable in the eyes of management, you must
strictly execute the plan that you have prepared.

It can be done and you will learn how to plan your tasks much
better than anyone else

MORE IN THE NEXT MESSAGE


Follow

Get every new post delivered to your Inbox.

Join 103 other followers