QEF home page
Church's Lemma and Funkenhauser's Rebuttal

This page contains an HTML rendering of the slides used for the keynote address at the Usenix Application Workshop in Toronto, 1994.


QEF Home Page
An Quick Introduction to Software Construction and QEF
Technical Documentation, Overviews, Tutorials, and Papers
QEF Papers, Talks, and Presentations


Church's Lemma
and
Funkenhauser's Rebuttal
David Tilbrook
Usenix Application Workshop
Toronto, 1994

Introduction

What I am about to inflict

Apologies and Disappointments

Not an apology to the audience,

but to our clients, users, and employers ...

As a community, our track record stinks ...

and we don't appear to be improving despite out efforts since the mid 60s with:

Life Cycle Models and other Myths

Manage software as if its development consists of:

But ...

Unfortunately software management is:

Not Getting any Better

Problems are multiplying ...

The Problem

The problem is that producing software is complex ...

maintaining it is even worse ...

but ... I believe that by:

you can eliminate many solvable expensive problems that plague the software industry.

Understanding the Objective

Have fun and make money ...

...

An achievable goal: ensure that the developers' efforts are transformed into running client-site software, such that:

Understanding the Process

``Software Process'' has a lot of dimensions ...

Concentration on the transformations of programmer efforts into a client-site instantiation so that we know:

Attributes of the Process

An appropriate process is the product of a set of transformations that is:

Parts of the Solution

A partition of the areas of concern:

The Source

The source is:

Changing and protecting the source

Probably a good idea that:

Should be audited -- easy to roll-back, roll-forward, snap-back and undo.

How to express the transformations

To dispel commonly held beliefs:

A common failure is to not have procedures to compensate for the limitations of the approach used.

A solution is to acquire qef, but ...

Validating the source and transformations

... worth many times the price of registration

#{ @gobo 1999/08/24 01:40:52
# QEFHALTFILE: /p/web/o/fsic/%qef11841b.hlt
+ cush -o. ,inst.rls -d /p/web/d rls -sN/
+ cush -o. ,objs.rls -d .. rls -sN/
+ bfsic -I ,inst.rls -O ,objs.rls > ,p.errors
+ rm ,inst.rls ,objs.rls
+ transl '/p/web/d/\0' ,i.tmps | /usr/qtree8.4/bin/sort -o ,i.tmps
+ rep -Z '/<_|[!$_][on]>\#' ,i.tmps | linked -nf | rmlist -f
+ fexists -l ,i.tmps | /usr/qtree8.4/bin/sort -o ,i.tmps
+ fexists -e ,[iop].* | rmlist -q
+ untouch -c ,o.tmps
+ (cd ..; ls fsic/,*) | /usr/qtree8.4/bin/sort -u -o ,o.tmps - ,o.tmps
+ fixflist -aq -r -d.. -s'..' ../fsic/,o.tmps
+ lls -o .FL ,[iop].* | rtabs -T 8l16l6R
	,o.tmps		     4
	,p.errors	     3
#} E0 gobo@/p/web/o/fsic 1999/08/24 01:40:53(1)

Validating the source and transformations cont.

Test, test, test

Bare metal builds, when you can afford it, not when you need it.

Believe in Murphy

Church's Lemma

``It's easy if you know how'' -- Stephen Church, 1994

He's right ... but ...

Funkenhauser's Rebuttal

``No it isn't'' -- Mark Funkenhauser, 1994

No matter what you do it's difficult -- building and delivering software effectively is a mind boggling difficult thing to do, even if you know how.

The process has to be continually tuned and tested;

Training should be continuous; and

Use every lever you can

Conclusion

What I meant to say ...


An Quick Introduction to Software Construction and QEF Technical Documentation, Overviews, Tutorials, and Papers QEF Papers, Talks, and Presentations
church.qh - 1.11 - 03/10/24 QEF home page