From: S Perryman on
MikeB wrote:

> the reason I questioned what looked like an assertion was that I've been
> exposed to codebases where both V and I are high. Those systems
> invariably exhibited poor design.

By "invariably" , I would expect to be shown a strong objective statistical
correlation between V(E) , I(E) , and other canonical 'quality' measures
(coupling, cohesion etc) .


> Taking this further, I'd venture that for a given volatility, impact is
> a purely function of the quality of the design.

When E has a high value for :

1. I(E) , we are informed about the potential effects of change
throughout a system.

2. V(E) , we are informed about the amount of change occuring for E.


#1 allows us to ask what will happen (rework, re-testing etc) if E
changes, and the justification thereof.

#2 allows us to ask why is E changing so often.

The reasons for either are often nothing to do with poor
design (good design is actually often the cause) .

For example, something that is very useful will have a very high I(E)
value. Think of things like I/O, container functionality etc.


> I wonder whether I misunderstood you and you meant that "in a good
> design, V and I are inversely proportional".

Over time, entities with high V(E) will exhibit I(E)
values tending to the relationship (high impact entities tend to become
less volatile - they 'stabilise' as their desired/essential purpose
becomes clear etc) .


Regards,
Steven Perryman
From: S Perryman on
Daniel Pitts wrote:

> MikeB wrote:

>> I wonder whether I misunderstood you and you meant that "in a good
>> design, V and I are inversely proportional".

> It could be that Steven meant that there is a lower bounds on V*I, but
> that is only my guess, I have nothing to back that up.

V(E) and I(E) are in the range [0,1] .

The product can be 1 at worst (impacts everything, changes continually) .
And tends to 0 at best (inversely proportional, the implications of one
property is tempered by that of the other) .


Regards,
Steven Perryman