OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Extreme Schema-building and Query-writing (was Re: [xml-dev] (data)mediu

[ Lists Home | Date Index | Thread Index ]

Jeff Lowery wrote:

>Just be careful.  Everytime I've been suckered into taking user requirements
>literally, I've built systems that are fragile and unextensible.  And then
>the new requirements come in.
>
Most people here probably know this, sorry, but this is what Extreme 
Programming is all about: keep the users involved throughout the whole 
process, not just the beginning and end; release early and often so they 
KNOW what they will get; and plan to be flexible because they are almost 
certain to change their minds once they see their brain farts turned 
into executable code (or the Next Big Thing hits the trade press, or 
they see how cheaply they can upgrade their hardware, or whatever).  I 
can't personally vouch for whether XP actually works as advertised, but 
all the other stuff like pair programming,  "the tests are the real 
specification," the discipline of refactoring, etc. are there to deal 
with the reality that fixed specifications are obsolete when they come 
off the printer in most organizations.

> 
>
>Now, I could continue in another vein about my experiences of users not
>really knowing their business, although they may perform their day-to-day
>functions quite well.  Teaser: they fail to have a complete conceptual
>business framework within which to see the full ramifications of their
>particular functional role.  
>
Hmm, I think this is a consequence of "Bosworth's Law" (or at least Sean 
credits it to Adam Bosworth in 
http://www.idg.net/ic_1263729_9700_1-5062.html): people think about the 
concrete information they need to know to do their jobs, and have a hard 
time with abstractions. " every layer of abstraction costs you 50% of 
your audience".   That's the world we live in, and we have to deal with it.

In other words, things change all the time, and most people are not 
comfortable dealing with the abstractions that might provide a unifying 
perspective on how they change.  What does this imply for XML practice?  
If on one hand you ask the users how they do it or what they want and 
bake that into code or a schema, you will get a fragile, unextensible 
system.  If you bring in a team of geeks to figure out useful 
abstractions for what they do and what they want and bake those into 
code or schema, you risk "running out of oxygen" as Joel Spolsky puts it 
in his famous essay on "architecture astronauts" 
http://www.joelonsoftware.com/articles/fog0000000018.html.  "Sometimes 
smart thinkers just don't know when to stop, and they create these 
absurd, all-encompassing, high-level pictures of the universe that are 
all good and fine, but don't actually mean anything at all. "

So, what's to be done?  I don't pretend to have solid experience, but 
maybe the ideas of "Extreme Programming" have a place here: figure out 
the minimum amount of structure you MUST assume to be productive, get 
constant feedback from the users to see if you are part of the solution 
or part of the problem, and be ready to re-do it when things change, as 
they inevitably will.  Maybe ... focus on finding the appropriate level 
of constraints (maybe on tag names) that remove more "noise" than 
"signal", but don't obsess about finding just the right content mode for 
all the elementsl; maybe use data types and validation where they really 
matter (dates, money, measurement) but don't try to figure out universal 
abstractions for things like addresses and phone numbers that vary 
greatly and are going to be read by a human anyway; and think more about 
extracting the information you need from the data people create than 
trying to make people create data that fits your needs.







 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS