Eric Armstrong
eric.armstrong@eng.sun.com


Memorandum

Date: Mon, 24 Apr 2000 22:52:00 -0700

From:   Eric Armstrong
eric.armstrong@eng.sun.com
Reply-To: unrev-II@egroups.com

To:     unrev-II@egroups.com

Subject:   Purpose of DKR Project


Adam Cheyer wrote on 24 Apr 2000 10:10:26

Are we listening closely enough to Doug's experience and wishes?

Possibly not. But...

We are starting where a design needs to start: on the user and the problem they need to solve. Since we are not building "everything for everybody", we need to be highly focused on what we *are* going to build.

The existence of that focus, or the lack of it, shows up big time when you go looking for funding. If you haven't got it, if you can't define it in 30 seconds or less, and explain why someone cares in under 2 minutes, you have already lost the "sale", whether to a customer or to a potential funder.

Your summary paragraph assumes an understanding of the term "Open Hyperdocument System". What is that exactly? What does it do, and how does it make the user better off than they are without it? We certainly can't assume that the person we are talking to has ever heard of it. And after all this time, I would still like a codified definition. I've put forward a number of requirements for what *I* think one is, but is that a subset, a superset, or an intersection of the "real" definition? Or will the term take on meaning after we get done creating whatever it is we are supposed to build?

The other aspect of design work is that committing to a methodology before explicitly detailing the goals is almost uniformly a disaster, as I'm sure you know. Our choice is to play follow the leader, or do the work that ensures we build the right thing.

Let's open it up the question to the group. My feeling is that we should engage in a conscious design process that may well involve retreading ground Doug has already covered -- but the point of what of we are building is capture such investigations in such a way that we *could* profit by them, had they been preserved.

The importance of preserving rationale is multifold:

  1. It prevents you from making mistakes or bad decisions that have already been discovered to be unprofitable.

  2. It saves you the time it would take to discover them.

  3. The existence of the rationale lets you identify when the thinking that seemed appropriate at the time is no longer correct -- so you don't miss opportunities.

The reason for doing the analysis is to make sure we are not missing anything, to uncover information in the first two categories when it is available, and to keep from going down blind alleys presented by category 3.

But it takes time. I think we should find out if anyone else is impatient with the process. I know I was, 15 years ago when I enlisted two developers to build a system that I already "understood". But I can tell you the result was far better than the best image I ever had at the outset.

Sincerely,



Eric Armstrong
eric.armstrong@eng.sun.com