A letter to the extended team/business/qa mailing list:
There we were... 20 minutes to a 1pm demo. All was set the night before... some "safe" last-minute changes requested by the business analyst (Marc -- in NJ).
scrambling to figure out why we suddenly couldn't get [insurance thingy] RQAs to open, or to rate when they worked an hour ago. i (in PA) make some DB changes, cross fingers, try to open an RQA to test
[DB and App running on servers in the middle of PA]
12:46 <markhanson> i am about to faint [Mark is in CA]
tick, tick, tick
nothing
crap
12:56 <mmatrix>T-4 [mike is in CA]
(mike is viewing the demo via netmeeting and reporting to us.)
i flip caching back on
hell with the test, trust in the force
12:59 <mmatrix> uhoh; faultString (String): java.lang.StackOverflowError
and much else followed that i can't print (*I* only said 'crap' on IRC!)
13:00 marc and harry start demo presentation in New Jersey...
at 13:03 I realized smth was up with Questionnairre #3's meta data
i point some of the sql scripts that mark wrote long ago to help ensure qstnrs were properly formed...
bang, an errant condition for one of the rules! darn!
13:11 somehow, the choice that the condition was looking for lost its question!
mark: how did that happen?
jon: [shrugs in PA] probably me
I make a quick change to the DB to fix
13:15 <mmatrix> they are demoing right now :-(
13:15 <mmatrix> (it's like watching a train wreck in slow motion.)
jon: editng the RQA... waiting... it worked! Questionnairre is healed.
jon: okay, cache back on. do we need to bounce the server?
mark: no, just re-open RQA two more times and it will be cached
jon: cool, i am editing the RQA a 2nd time now
13:16 <jonkern> i am still waiting for a response [the RQA to return]...
13:16 <jonkern> app is transferring data now
13:17 <mmatrix> waiting for what? Do they [marc & harry] know about the problems?
13:17 <jonkern> got it! [The RQA]
13:17 <mmatrix> He [Marc] just did a create new
13:17 <mmatrix>
mark: hurry jon! hurry before Marc hits CONTINUE button
13:17 <jonkern> trying it [editing RQA] again now for 3rd time
jon: someone slow marc down for a few seconds! (I joke)
13:17 <jonkern> FAST, SWEEET!!
13:17 <markhanson> and marc hasn't hit continue yet!!!!
13:17 <jonkern> and all without the usual demo rodeo clowns
13:17 <mmatrix> will it be too late?
13:17 <jonkern> nope. it [RQA] comes back fast now (<10 seconds)
13:18 <mmatrix> JK, if this works it will be the closest I have EVER seen a demo be cut
13:18 <mmatrix> he is creating new
13:18 <jonkern> ignore the men (and lady) behind the curtains
13:18 <mmatrix> hasn't continued yet
13:19 <markhanson> i am lol and pinching myself to not lose consciousness
13:19 <mmatrix> here he goes
13:19 <mmatrix> doing BOP [a type of insurance line of business] it looks like
13:19 <markhanson> he hit continue
13:19 <mmatrix> ... looks for a place to hide
13:19 <jonkern> did it come back fast???
13:19 <mmatrix> no
13:20 <mmatrix> still nothing
13:20 <markhanson> came back
13:20 <mmatrix> it is BACK!
13:20 <mmatrix> son of a GUN
Major applause and cheering from us!
And much more merriment was had when marc did rate the sample insurance applications and premiums were returned, and he made changes to the quote and re-rated and got different premiums. Sweet, the core concepts of the application were just proven. Yes, we can put a modern RIA front-end on a Phoenix back-end and get penny-to-penny match on the premiums!
Reflecting back... Mike was giving play by play description in the phone of the demo and what marc was doing. Mark was also talking to me on the speaker phone (and eventually other developers joined in). All the while, it struck me as listening to the Apollo lunar landing as someone was watching it, or being in mission control with different folks checking in, but I myself not being able to see.
What a rush!
Harry's words sum it up:
[Team,] on tuesday afternoon you told me we could make thursday COB for friday QA build. We actually hit the goal on Wednesday afternoon (especially once Andrew discovered missing LOBs on TEST), and left Thursday morning for cardio exercises:
Savor the moment... there will be more, but this was a good one. Be proud! I am -- of you.
Some recent discussions revolved going back and forth on DESIGN.
For me... design is a multi-faceted thing... Sometimes it is a very high-level part of the overarching theme of what drives an application's details. Generally, the design is the means by which superior business advantage is gained by our clients.
For the first two cases above, the combination of design ideas, sketches, wiki explanations and code will give you the fastest ticket to joining the team and becoming productive.
For the 3rd example, you could jump in on examining source code for any of the 50 objects and know all there is to know about the design and start coding.
design is in the eye of the beholder also... the facets of the design that you choose to share are generally for a specific reason. Maybe for the stakeholder to understand the business value that an advanced design provides... Or, a combination of showing the application architecture + the domain models + code samples for the entire set of layers for the technical architecture is what is best for developers. To discuss the UI design, that is a whole other ballgame.
Another way I like to think about folks (like Ron Jeffries) considering the "Code IS the design:"
sometimes the two are the same, often not quite... at least in my reality.
just remember, don't over design, underdocument, and overcode.