Welcome

  • This is the blog for Intentional Software Corporation. We keep it open for comments as we seek a dialog with the community. Each participant will be trusted to participate with integrity, decency and respect for others.
  • Visit Intentional Software Corporation

« We are hiring! | Main | A Process With the Right Degrees of Freedom - the Lagom Process? »

May 16, 2006

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451741069e200d8345b10ec69e2

Listed below are links to weblogs that reference A Story of Four Benches:

» More information supporting Architect Must Implement (or at least hell, involved) from Architect Must Implement
There was a great (although somewhat obtuse) article on one of my favorite blog sites. It talks about... [Read More]

Comments

Peter Halas(z)

Thanks for pointing out the relevance of Professor Alexander’s work. The following is from:
http://www.natureoforder.com/library/reply-to-saunders.htm

THE NATURE OF ORDER - SOME SOBER REFLECTIONS
ON THE NATURE OF ARCHITECTURE IN OUR TIME

Professor Alexander wrote this, as part of his reply to a Commentary, written by William Saunders, and published by Architectural Record in the May issue 2002.

“ . . . the idea of wholeness. In the last two decades, physicists and other scientists and philosophers of science have begun to discover that a wholeness-based view of the world is, essential to proper understanding . . . A view of wholeness as an existing, guiding structure is essential in quantum physics; essential in biology; essential in ecology; in one form or another, essential in almost every branch of modern science.

Yet even in these rather precise fields, it has been difficult to forge a scientifically precise concept of wholeness. The idea places demands on science which stretch the very notions of scientific inquiry . . . ”

What does this mean to us, as software practitioners? I believe that the greatest detractor from what FP Brooks, in his book The Mythical Man Month called the “concept of the Cathedral” is complexity.

Just as there is something in the physical world called the “latent heat of fusion” before ice can turn into water, and “latent heat of evaporation” so water can turn into steam . . . there is, for software efforts . . . for EACH level of abstraction, a latent “simplicity” of implementation success (or the corollary . . . latent “complexity” of implementation failure).

EXTRA “governance” efforts and add-on initiatives have to be taken into account to reduce the 50% failure rates being currently observed.


• “Simplicity” implies . . .

having adequate user training, process alignment, management involvement and vision, usability peer reviews, a lack of “time line pressures”, process maturity, use of tools, use of employee incentives (carrots / sticks), and as needed . . . clear audit trails to demonstrate the meeting of regulatory requirements. The fostering of simplicity (ie: unfussiness) also results in the presence of such “quality” factors as: good performance, rich functional features, reliability, and as needed . . . the system is maintainable / serviceable, has a decent user interface (Aesthetics), and user satisfaction metrics indicate that they feel they have received Quality and Value


• “Complexity” implies . . . .


• at the project and enterprise level:

lack of management involvement, lack of vision, lack of Trust, lots of Anxiety, confusion, lack of “focus”, infrastructure incompatibilities, resistance to change, frustration, cynicism, stress, no use of peer reviews or walkthroughs, and a stress on artificial deadlines.


• at the code level:

convoluted logic, too many levels (of inheritance – for example), data binding - FORTRAN Common issues, reentrancy / multi threading issues, memory management exposures, not adequately taking into account such process and workflow issues as two-phase commits, etc.

Phil Bachmann

I am excited by the idea of bench factories though some questions naturally arise:
- What if the machines' makers haven't anticipated every customer requirement?
- How long will it take a machine operator to learn how to use these many knobs and levers proficiently versus screwdriver, saw and lathe?
- What if the machines don't work together quite right?
- What if a machine fails on a certain combination of settings? How long will it take for the engineers at the factory to fix it? What if they don't want to fix it?

I have my own answers to these questions and since you're testing your software with real-world customers I guess you guys do too.

Amiruddin Nagri

Hi,

Nice article about the methodology intentional software uses, but isnt it the same as Agile Software Development as I read in articles, gathering user requirements, capturing the core requirements, iterative development etc.

so whats the difference between both of them ???

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment