Spoon planning

Andreas Raab andreas.raab at gmx.de
Thu Jul 5 22:25:12 UTC 2007


Craig Latta wrote:
>> Have someone other than you use it...
> 
>      Ah, and how do I get them to do that? :)  That sounds like a
> restatement of the original problem.

No, not really. After all you are positing that this is technology that 
will benefit many people, right? If this is so, there should be someone 
who says that this technology is such a clear win that they're willing 
to give it a shot. So what I'm saying is that one measure of success is 
whether there is actually someone who says "yes, this looks so clearly 
beneficial to my problem that I'm willing to be the first to try it". 
Every technology has that problem, and every successful technology has 
(by definition) overcome it.

>> ...for a decently sized project...
> 
>      I'd appreciate it if you (or anyone) were to define what
> "decently-sized" means, perhaps by giving examples of other successful
> decently-sized projects.

This is a harder question to answer (which is also why I phrased it more 
vaguely ;-) What I mean by "decently" is that the problem being solved 
is a real problem, not a made-up example that only highlights the 
particular advantages of the technology and doesn't solve any real problem.

For example, I consider the collection refactoring using traits a 
"non-real" example; nobody really has that problem it's purely 
academical and of no practical use. Contrary to which the traits-based 
class kernel is a real example. Regardless of whether you think that 
this is an improvement or not, it enables a discussion that otherwise 
would be purely on theoretical grounds (and where you end up in a design 
discussion instead of an evaluation of what was done). The thing is that 
in order to solve "real problems" you have to get your hands dirty, 
touch some of the nastier parts of the technology, deal with it. For 
defining the success of a technology, this is critical because it 
validates whether the ratio of effort and benefit are acceptable on that 
level, e.g., whether this technology is only usable for the three things 
it does really well (and yeah, if it doesn't do those what's the point) 
but also whether you can (when you have to) go beyond that.

Hope this explains what I mean by these terms.

Cheers,
   - Andreas




More information about the Squeak-dev mailing list