Tuesday, June 30, 2015

Götterdämmerung

Scoreline - June 30, 2015
USA: 2
Lloyd 69' PK; O'Hara 84'
Germany: 0

Biggest match up in women's soccer history.

Everything to prove - against Germany.

And we OWNED them.

Dream Team? Yeah, kinda.


Everybody was playing out of their minds: Holiday, Brian, Sauerbrunn, Krieger, Lloyd, O'Hara, Heath, Rapinoe, Klingenberg, Morgan, Solo....

Oh, and Johnston! Hell, yeah, Johnston - I'd say the player of the tournament - but Lalas said that, and I swore a blood oath to disagree with everything that man says.

Still - Johnston - what a game - offense, defense - and YES - she pulled down an attacker in the box, but the Soccer Gods decreed that this would not stop us.
Johnston: Clearly better than you.

And the crowd... Just magic - Morgan's first big shot wide had the place jumping outta their seats.

Lloyd? Flat out aces. Old Guard? I'm fricking DRIVING this bus.

Swarming midfield, Solo psyching out Sasic...

Yes, Germany can pout about the PK, but they had their chance and blew it. Crappy calls are part of Soccer - and lord knows, the US has had their share. (You think I forget? I FORGET NOTHING).

This was the culmination of the USWNT's campaign. They were on their game against the world's best and beat the crap out of them.

I feared for this team in the group play, but they are clearly on afterburners now.

Go USA.

Monday, June 08, 2015

Rapinoe to Rapinoe

Rapinoe: American badass.

Not our best effort by a long shot. We looked really ragged at the back for most of the first half.

And I don't know if Wambach is putting too much pressure on herself, but two flat our misses by our used-to-be guided missile forward just boggle.

And after a fortuitous bounce goal, Rapinoe looked like she was trying too hard as well. All kinds of whiffed crosses, flubbed passes - even a missed throw in.

And then she does this sh!t:



And this was after getting the ball at the half-way line. She ran half the length of the field, looked up and thought

Well, everyone thinks I'm gonna cross - I'll just shoot this F*&-er.

And boom! Low to the far post, for the icer.

Take NOTHING away from Press & Laroux's efforts to get the go-ahead goal. Leroux is all kinds of hustle and guts, and Press threw down ironclad evidence (if any was needed) that-



COACH? 

I AM 

A FORWARD

Hell's yeah, she's a forward -  and make sure she gets more playing time in the middle, eh coach?


Sad for the Matildas. De Vanna was her usual full-throttle self, she was criminally unmarked in the box and instantly reminded the US why that is a bad thing.

I hope the Aussies get some success, but looking at the rest of their schedule - it's not like it gets easier from here.

USA: 3
Rapinoe 12', 78'; Press 61'
Australia: 1
De Vanna 27' (who else, seriously?)

Sunday, June 07, 2015

Feels like 2011

Hell yeah, I remember.

122nd minute.

Ian Darke, Julie Foudy and the rest of all right thinking people losing their minds as one.

I just shortened the lives of countless Brazilians.

A fan could live a lifetime for this sport and never get a moment like that.

The Cup doesn't care if you are worthy and the Soccer Gods have always been @ssholes. 

Japan was a fairy tale worth telling, but Germany 2011 should have been ours.

And here we are, back for another helping of whatever the Soccer Gods choose to serve us.

Defying reason and the odds, we still have Rapinoe, Rampone - even Wambach.
Germany is - once again - terrorizing the minnows, and the Samba Queens are the same as always.
This time, the French are looking solid and the Dutch look to be the newcomers who could mess things up.

We have injuries, we have scandal, and everyone would love to be the team that sent us home.

Still, I can't wait.

Go USA.

Rapinoe to Wambach for the win.
Always and forever.

Friday, June 05, 2015

Farewell to Megatron

I'm in our stakeholder meeting, a few weeks ago - presenting one of our new features done by the west coast devs and things are not going according to plan.

Being me, I blurt out "That's not right."

In front of a crowd is never the right time to encounter a new bug. Yet it happens.

I try a few more times, before realizing that the app is behaving fine, I've just completely misread what was happening.

I reset, and get the demo done and hand things over to Noddy.

Noddy launches into their part of the demo - a feature that was supposed to be RFD in January that is only now taking tangible shape in code. Noddy's dev's have endured missing requirements, late requirements, incomplete requirements - and late edits when they were still coding.

Noddy has created features with a single requirement - that is wrong. Noddy's feature work has spawned endless "fix it" stories, to correct some omission or other mistake. Each correction will require changes to automated testing, more time and additional expense.

But now, Noddy has landed the first wedge of their feature - and it's...

...it's a mess. The overall problem that this feature is supposed to solve - CANNOT be solved directly by our product. This feature's value rests on the dubious assumption that our users (who hate data entry) will enter data into our application, print out that data, and then re-enter the same data into the Nachen website.

This makes sense to absolutely no one.

Because Noddy has been on this feature, it is being built in incredibly small slices of functionality. Which is agile, but the fact is this feature is a webform. Something as basic as a webform does not need to have a lot of slices to be built by an agile shop.

Sure, you can say, build me the basic form without the ability to validate it. Then validate it. Then make the printout. Then show me how to find all the forms I've filled out. And so on.

Noddy has turned this into story pong, where features are added - then moved, then shifted to other stories, and finally landing in a heap right before a looming deadline.

Noddy's built their form, and it's maybe a third of what it needs to be in order to be a basic, dumb form. The stakeholders are not mean, but they ask pointed questions until Noddy starts deflecting in their usual way. Talking technical and promising future work until people lose interest.

Pinning Noddy down is just too much work sometimes. Even I've given up most of the time.

The meeting ends and I'm off to get a beverage. I meet HockeyTwo in the breakroom. They laugh at my struggles in the demo, but as they put it "at least you fess up to problems. If that had been Noddy? They'd have pressed on, never said a word, and hoped nobody noticed."

It's a remarkable how often a co-worker can (out-of-the-blue) break into a critical observation about Noddy.

*     *     *

The Noddy effect. It's amazing.

I've been in the hallway and been accosted by co-workers, "GOD, Noddy is just so good at pissing people off, huh?"

I've been at team building exercises that have turned into full blown Noddy venting sessions. One of my co-workers related the story where once, at a work sponsored family fishing outing, their six year old child had caught a fish and wanted to catch-and-release like everyone around them.

Noddy had intervened and told this child (mind you, someone else's six year old child) that "No, that fish is invasive, you need to kill it."

Now, I can imagine saying something along those lines, in the absence of thought. I might do that. But faced (as Noddy was) with a weeping six year old asking Why? Why does my fish have to die? 

-most of us would reconsider. Not Noddy. They insisted - to a six year old - that the fish must die.

And on and on. Ad nauseum to anyone unfortunate enough to be near an employee of NerdHaven. Everyone has a Noddy story.

*     *     *

I leave the breakroom and head back towards my desk, then I remember I have something to check on with Dragonman.

On the way there, I see Atlas talking to Noddy. Atlas wants Noddy to meet with them in their office. Noddy is begging off, they have to do something, but Atlas is insistent, "Right after."

Now, I know Noddy's been on the hot seat for a while now. In fact, most people on UX know that as well. Noddy gets regular meetings with the boss, and a host of performance monitoring activities have become the norm for our entire team.

Hearing Atlas wants to meet with Noddy is filed away.

*     *     *

The day goes on. I'm back to my desk. Runner, Dash and I have our own little UX Shangri-La, separate from our team, and a genuinely nice setup. Windows, natural light and plant life.

Plus? No Noddy.

Our team hired two more devs and there weren't enough chairs for everyone, so Runner and I volunteered to move to the next room.

Noddy offered to move as well - and BigDog was about to go along with it, logic being move all of the UX crew at once - but Runner shot BigDog a look that could maim.

And BigDog pivoted on a dime. "murph and Runner will move over to the other room." Noddy would end up staying in the team room. In a way, this made the most sense. Noddy would be creating work for the team, while Runner and I were doing work exclusively for the west coast devs.

But mostly, we were sick to the brim of Noddy.

I've thought long (way too long) about what I think of Noddy as a co-worker.

They are not:
  1. Honest
  2. Hardworking
  3. Diligent; or
  4. Professional
Above that, they have a disastrous personality and virtually everyone hates their guts. 

Runner deserved a break, and I was happy to get one as well. With the new UXer, Dash - we've got a great thing going. Dash is cool - and a pro.

I miss our devs, but I love our new digs.

I ground out some work for the rest of the day, and was on the way out when I run into OneTwentyEight. 

"What's up with Noddy?"

Huh?

"After showcase, they came back, groused something about 'might as well hand in my resignation' and left in a huff."

!!!

This news is positively electric. Nobody wants to call it out as fact, but everyone is thinking it.

Noddy is gone??  

*     *     *

The next day, Noddy is nowhere, and their laptop is missing. Questions are asked at standup, but no one has solid info. Someone thinks that Noddy's child was in the hospital. This is greeted with a certain amount of disappointment. 

Later that morning, we get an email from the boss: Noddy has a family emergency and will be out until the next week.

So that's it. 

Runner is jubilant. Noddy is gone! But family emergency has me wondering - if they are gone, the boss would just say so. I remember all the crazy with H, that dragged on and they ended up coming back. I don't want to get happy too soon.

But days roll on and Noddy does not come back. Frankly, with Arwafn blowing up and damage control in full swing - I don't notice their absence. 

The next week, Gumby tells everyone that Noddy will be gone "indefinitely." This gets all the rumor mills flying, but there's still precious little to go on. Noddy's not here, and we don't know when or if they will be back.

*     *     *

I speculate openly with HockeyOne & HockeyTwo - towards the end of the week, I'm feeling flip and launch into "I think this may be it."  HockeyTwo is skeptical, but clearly thinks this would be great news. Noddy being gone has created a news item, and more than a few water cooler discussions stray into what if?

*     *     *

And then its Thursday, and I walk into standup late. I've been in some catchup session with Gumby or something or other - I've been running late for everything lately - and I blow into the team room right behind Runner.  They look pissed.

The team goes through the standup routine and BigDog is going through their list -

- And I see Noddy back into view. They'd been standing right behind Runner such that I couldn't see them at all. 

And there's the answer. When's Noddy coming back? Right now.

And they are back with a vengeance. We get the story on their child being hospitalized - they are okay now, but it sounded like quite an ordeal - and then Noddy is back onto muddling their way through their allotted work. They have meetings with Ihaq, and are working with Ahhh, the new UX in the west coast office.

Ahhh is a special case, and I'm starting to think that Noddy and Ahhh are on the same page. Noddy can wield a firehose of bullsh!t and I'm afraid Ahhh is starting to think Noddy is credible.

For that matter, I'm worried that Ahhh & Dash are going to need the talk about Noddy in the near future. Runner and I have studiously avoided talking to Dash or Ahhh about the Noddy situation. We'd hoped that the situation would be sorted out before it became necessary, but that hasn't happened.

Dash and Ahhh deserve to know that Noddy should not be relied on. That their pronouncements on Nachen work should be double-checked - always. 

They need to know that Noddy is borderline useless in a great many ways - but...

How do you start that conversation? I want Dash and Ahhh to make their own conclusions. I don't want to just start in with "Noddy's a useless hump," but I don't know a middle ground. I've punted and avoided the issue.  When Dash needs to work with Noddy, Runner and I try to assist.

Dash is no fool, and they have to know that there is a schism between Noddy and the rest of UX - but watching them struggle to collaborate with Noddy is hard. We want to jump in and say "Forget what Noddy is saying, do what you think is right."

The devs hold their fire as well. They are pros, and they are focused on getting work done, not smoothing things out for the new UXers. Sooner or later, they will figure it out on their own.

*    *     *

I'm running late on a Wed and want to check in with the boss before standup. Gumby's in their office meeting with Portal and Noddy on something, so I head to the desk and chat up Runner.

BigDog strolls into UX Shangri-La.

"One at a time, I need all of you to come to BigSad." BigSad is the main conference room.

Runner & Dash are confused - thinking we are each to go to BigSad by ourselves and then come back before the next person goes.

I took it to mean we were all to go to BigSad, but one by one so as not to make a big deal out of things.

I have a momentary flash of panic. OMG BigDog is leaving! Which would be biblically bad. BigDog is awesome and they are about to have another child. Why would they change jobs? They can't do that to us!

*     *     *

We make BigSad together, contrary to orders. Most of the team is there. BigDog tells us to close the door and starts in.

"No other way to say this, but to say it..."

Please, no.

Just no.

I love working with BigDog, they are awesome. They are the most supportive dev I have every worked with - and they kill it in the dev space. Their status as team lead has taken them away from the coding they love and they've been clearly frustrated by it... And they've been fed a steady diet of crap work by Noddy.

OMG, Noddy - if you've cost us BigDog, I will personally-

BigDog finishes in a rush.

"Noddy is being let go today. Portal asked me to get the team out of the room so it won't get awkward."

*     *     *

When the moment finally arrived - it was a total ambush. I was exhausted from the Arwafn grind, terrified that BigDog was leaving, and frankly - numb.

Of course. Portal. Duh. They always do the reaper work.

And today they showed Noddy the door.

Noddy. The person who has caused untold misery and wasted hours - will burden us no longer.

I made an excuse to go to the breakroom and get a beverage. Before coming back, I swung by HockeyTwo.

On the down low, deliverance is at hand.

HockeyTwo nodded somberly. They were totally on the same page.

Back in BigSad, we are told the information is close hold until we hear specifically that it is not.

Oops, already blew that. Odds are good HockeyTwo has at least told HockeyOne.

After a brief stay in BigSad, we are allowed to go back to our desks. Noddy has already been shown the door.

*     *     *

Official word comes during yet another Arwafn meeting. Gumby sends out an email to our team announcing Noddy no longer works at Nerdhaven. 

I'm sitting across from Teacher, who utterly detested Noddy - and have to share. With Gumby's email maximized on screen, I spin my laptop around and offer it to Teacher.

We're on a phone conference, so Teacher keeps composure, but leans over to Juice and relays the news in a whisper. Juice looks at me, eyes wide and I make the touchdown sign.

Somehow, spreading the news makes it real.

This has really happened.

*     *     *


The team went out for a celebratory lunch, and we read Dash into the situation. Dash took it well. "I guess I don't have to feel bad about wanting to redesign all of Noddy's work, then."

Nope!


Later, I'm in the hall and I run into SnT, a wonderful human being who does great, high stress work and yet still finds time to be amazingly nice. 

Did you hear?? I want to say, but SnT's clearly clued in. This news has whipped through NerdHaven like a shockwave.

SnT and I swap Noddy stories for a bit and they're all like "I wanted to give them the benefit of the doubt, but after that whole egg-kicking thing, I just knew they were a total asshole."

To hear someone as generous as SnT launch into profanity is no small thing.

I laugh and share our nickname for him "We called them Noddy."

SnT blinks.

"Because they were always falling asleep."

SnT busts out laughing. "We called them Megatron."
(apparently, Noddy was fond of using a particular buzzword that ended in '-tron' - thus, Megatron).

I bust out laughing, and we stand there laughing in the hall until we have to explain ourselves to a passing co-worker. And then they start laughing.

*     *     *

And before folks start accusing me and mine of being mean spirited, I would like to offer the following justification.

I tried for over a year to be sympathetic to Noddy. I gather their home life is not easy. But I have watched this person bring misery and additional work to a team I am very fond of for a very long time. 

An untold amount of work was wasted cleaning up after Noddy and stepping up to do stuff they should have done. 

Noddy added stress and uncertainty to the team - and very little else.

Everyone at NerdHaven gets to be happy that those burdens have been lifted from them.

I can separate any feelings of empathy for Noddy and their family from that. Yes, I hope things don't go too badly for them. I genuinely hope they land on their feet. That they find work that inspires them to actually do the work and not just phone it in.

And I sincerely feel sympathy for Noddy's family.
A family whose chosen breadwinner decided to surf Ebay for collectables rather than do their effing job. 

Who, when faced with the prospect of imminent professional death, chose to continue the same half-assed everything that landed them in hot water in the first place.

That family deserves sympathy.

But mostly, I'm happy for my team. The UX lost a staff member and productivity will increase. Morale will improve.

And we will do better work for our customers. 

We get to be happy about that. 

Free and clear.

Thursday, June 04, 2015

Derailment, part IV

That's not Agile!

I cannot tell you how often these words are uttered these days. Arwafn has gone over the cliff, and Nerdhaven has had to publicly walk back from its launch posture of "Wow, look at this!" to the less inspiring message of "Watch this space."

Upper management is involved to an alarming degree.

Faced with the possibility of completely shutting down Arwafn, dev effort was flung at the TURN issue to determine which customers could retain the feature and which could not. The SMEs drew a line in the sand and in the end, about a third of our customers could keep the feature.

Which would be encouraging, if it weren't for the filters. Arwafn has more than a few, and two of them in particular are near total flops. Both are based on fields that customers have never been required to supply. We'd assumed they were, and our limited beta tests looked promising. Data flowed in, and the filters acted on that data.

Trouble was, that data was crap. For some customers, Filter A's key field was being populated only 20% of the time - or was co-mingled with another field, rendering it unusable. In beta, these filters appeared to work, but what they would show was wildly inaccurate.

In beta - our users were not doing a rigorous comparison between their system's data, and what Arwafn was showing. Our users viewed the beta sessions as a preview - play time. And while they surely care about the accuracy of the report - they evaluated Arwafn based on what they imagined it was doing.

Fellow UXers of the world: learn from me. Spell out exactly what you want your beta testers to do. If you need them to do system testing, you need to tell them that. Regardless, you should ensure that your feature has system testing with live data before you green light it for wider release.

But some customers had good data. And there were options for us to explore - an alternate key field might get us there. It would mean an immense amount of re-tooling, though. The thought of it made my mind hurt.

Filter A was the good one.

Filter B was based on a field that not only had issues with being populated only some of the time, when it was populated it was almost always the right kind of data - at the wrong point in time.  Filter B is supposed to present its value as of a specific moment - and it was showing a value that was a few days later. And those few days were killing us.

We had a few customers who were happy to get the data at all - even asked for Filter B to be left on despite the time shift - but Arwafn is supposed to follow a standard. A few days later was not the standard. With over 100 clients active on the report, we only found 1 who had a working Filter B.

Worse, when I spoke with Data about our prospects for getting Filter B working, I read out the point in time requirement and Data just groaned. "If we ask the customers to send us an entirely new set of data, we could get closer to what is needed. But the literal criteria for Filter B does not exist in any data element that I know of."

For the millionth time, I ask myself - How is it I am learning this now? How did we get to the point where we have code in production, and I literally just found out that the data point I need does not exist?

And I don't have a good answer for that.

UX was primarily focused on the front end stuff - what the user sees and touches - and the back end stuff (where the digital bodies are buried) was supposedly the realm of other smart people. Our former UXDir encouraged us to provoke the change by asking for things without looking under the hood. "We'll figure it out," they'd say, "we can't design based on just what we have now, or we'll never make new things."

And there is a point there. If every design is vetted against the current codebase, legacy code limits what your customers get.

Fellow UXers of the world: learn from me. If a feature is dependent on a lot of user supplied data, design it to fail gracefully when some or all of those elements don't show up.

That's pretty basic, but its one thing to nod at a good idea in principle, it's quite another to realize that your feature is built on a house of cards while you are working on it. When all of this was happening, it all seemed so...right. And now Arwafn was a pile of roadkill in the middle of the road.

*     *     *

And everyone was rushing in to help. Which is great, but with upper management calling folks out, the agile culture in NerdHaven was beginning to crack.

Upper management said: Turn off Filters A and B. NOW.

And NerdHaven jumped to obey. Devs created branch code, stopped all other feature work and slammed two shutoff switches for Filters A and B into production. Devs were up in arms, because upper management never tells NerdHaven to work on this feature or that feature - and now they were.

But a fire was burning and this would put it out, so everyone got it done.

Next up was the TURN problem - and dear God what a mess. Telling upper management that the key value for Arwafn is being adulterated by our product was the easy part. Management realized there was a problem and TURN fit that bill. Resources were allocated to fix this issue and commandments were given.

FIX THIS. NOW.

The problem was, as we fixed TURN for Arwafn, we realized that TURN was used all over our product - and fixing it for just Arwafn would mean that other features would be out of synch with Arwafn.

Mind you, I'd always thought of Arwafn as a modest feature - and it is. Just a little report in one corner of the product. But TURN is a value that is used in the NumeroUno feature, and Nachen work, and more besides.  I spoke with Sprint when we started fixing TURN and they gave me the full list of what they knew would be affected and it was alarming.

Then, in the middle of one of our situation room meetings for Arwafn, I started spelling that out to the group.

This launched another round of anxiety telephone and soon fixing the TURN issue for Arwafn, became fix TURN everyGoddamnWhere.

Which meant the scope of work just ballooned - which naturally had to be reported up the food chain.

Upper management's response was predictable:

FIX EVERYTHING NOW. AND SWEAR IN BLOOD THAT THIS WILL BE THE LAST OF THE TURN PROBLEMS.

Now, you're an agile dev shop and you get this kind of directive. What do you say to that? There is absolutely no guarantee that we will get everything in one go.

The SMEs are being asked to sign in blood that everything is fine from their perspective - and they are already anxious about the current state of things. They don't see everything and now they want to see EVERYTHING.

We've got SMEs crawling down our necks asking for more access and more analysis. And then Gumby's asked to provide proof that UX has discussed our designs with SMEs (in a meeting, with no warning - so they don't have that information, which itself becomes a thing)...

...and now we're careening towards Waterfall.

Waterfall: an epithet in dev shops. Shorthand for let's add more analysis and more documentation and more signoffs and when that doesn't result in a perfect product - slow down and add still more analysis/docs/signoffs. Lather, rinse, repeat.

All the UX folks hate this idea with a passion, and I pointedly ask if this change is the new way of things going forward, or just until we get Arwafn/TURN fixed.

Gumby is direct, "this is going forward."

I feel like throwing up. Yes, we steered the company in the ditch, but we learned a boatload and absolutely nobody wants to go through that again. We will be more vigilant, and we don't need more goddamn documentation.

I point out (for the umpteenth time) that more SME contact in our process would not have caught our data issues. The SMEs don't go under the hood any more than UX does. But we have experts in house who do, and we will be joined at the hip with them the next time we roll out features driven by client data.

Let's do that, I say, before we get all process heavy. We are already getting berated for being slow, all this bloat is not going to make software happen faster.

Wasn't this why Agile was invented? to prevent this kind of stuff?

But the powers that be are unassailable - we will add process and hope this will get better  - or blow over.

Or something.

*     *     *

Today was a day that threatened to be the end of all things. I was roped into three meetings in a row, one about some future data issue I knew absolutely nothing about, one with the SMEs to discuss their (well aged) laundry list of desired features (that have absolutely nothing to do with Arwafn/TURN), and one that I was dreading most of all: a review of all our Arwafn/TURN work with the SMEs.

The laundry list meeting was a total bust - the SMEs want us to build what they want (as opposed to what Product has prioritized, or what the customers want). Their list of wants will solve issues that the SMEs have experienced, but may not do much to address root causes of user pain. And it is very unclear if all the items on the list should be solved with more computer code. Some might literally be user error. And all of the items are broadly worded concerns that cannot be vetted without specific examples of the behavior in question.

Sprint is in the meeting with Gumby and I and (heroically) volunteers to vet the list for the SMEs. I say (as diplomatically as I can) that this list should be given to our support staff, who can explain the inner workings of the application and perhaps get to the root of the matter without us trying to build a solution based on a speculative issue. I'm not sure the message took, but Gumby and Sprint are clearly way ahead of me. They want to do right by the SMEs, but route support work to support resources.

And then the review meeting. I wanted to keep my hackles in check, but this had all the hallmarks of being a "why did you put the button there?" kind of discussion. One of the SMEs, Ihaq, had ridiculed our design of a new form and I was dreading a new session of "Move that button, because I want you to."

The lead SME was Voldemort: brilliant, hardworking and overworked beyond all reason. They started out with a few probing questions which Gumby fielded for the first few minutes. Ihaq was there and clearly confused about what we would be running through. They had a few questions they wanted to run through before we got started. Ihaq's questions are never brief, and usually involve follow ups.

It was getting awkward.

When we got to the list of feature work, Gumby gave me the podium.

At the risk of appearing arrogant - I am pretty good at explaining things. So long as I understand something, I can transfer that information to pretty much anyone.

And the work we've been neck deep in for the past two months is stuff I can't help but understand. I wake up in the middle of the night thinking about this stuff.

Grok it? Hell, I wrote it.

And I go to town. You have a question, Ihaq? I got you. Voldemort wants clarity on the hideously technical matter of historical TURN values?  I got you, too.

And as soon as I realize that the SMEs are (rather predictably, I might add) solid professionals trying to do their jobs - the tension goes out of the meeting. The SMEs are not there to grill us, or re-design our work - they are literally trying to understand where the work is now and where it will be when we are all done.

Gumby asked our new UXer, Dash, to study our stakeholder demos and they pointed out a host of issues with how we present our work and how it is consumed and retained.

Predictably, shortcomings in our presentations leave lasting misunderstandings in the SMEs as well as others in our organization.

Having this Q and A session allowed us to close that gap for Voldemort and Ihaq at least, and at the end of it - it was a really good feeling.

Voldemort was exultant "That was awesome."

And I cannot tell you how much better that made damn near everything.

Yes, we have a metric sh!t-ton of work ahead of us, but we are beginning to round the corner and we've started to mend things with the SMEs.

The technical work is in flight, the release date is set. Our culture has taken a massive hit to the jaw.

But if today was any indication-

We can do this.

Friday, May 22, 2015

Derailment, part III

Continued from Part II

I literally go from the airport, to Gumby's office, and thence to G's house to watch basketball. I'm absolutely shredded and a long weekend away from it all could not be better timed.

Hoops with the gang is sacred. I know next to nothing about basketball, but the gang puts up with me anyway. We eat a lot, drink a lot and loaf a lot - which is good for your mental state.

And my mental state needed a helping hand. I'd booked my PTO back when the West Virginia trip was not a threat - then the trip was moved to be right on top of Hoops.

Not cool. I ride out the weekend and soak up the camaraderie. Then I slouch back home to deal with Arwafn.

First there's the anxiety tag: Nerdhaven, like any business, has factions - and the loudest faction at present is the SMEs. The SMEs are frontline staff, up to their eyes in subject matter expertise, but also expected to perform a slew of customer contact, sales & support.

Since they have real jobs, they're not deeply plugged into what goes on back at Nerdhaven, and a lot of the work that our UX team does seems (to them, at least) to come from outer space. There are a lot of reasons for this: distance, iterative design, and a long history of unsatisfactory dealings with UX.

We don't build exactly what they ask for. Largely because every request out of the SMEs starts with a solution. They are smart people, and they know what they want.

Being in UX, we know that any solution causes more problems - and the trick is to look for root causes before you "just build what they ask for." It doesn't mean that UX folks have the answers (lord knows we don't) but our approach is to get more data to see if we can gain enough insight to make a 'big win' kind of solution.

The SMEs don't have time to wait for that kind of thing. They need answers yesterday - and are confident that their chosen approach will begin paying off immediately.  They may be right - but one of the things we hear from our end users is classic alert fatigue: the users have more warnings then they have time to respond to. And a lot of the requests from SMEs amount to 'gimme a new alert option.'

Its difficult, and frequently frustrating for both UX and the SMEs and I don't see a good way out of it.

*     *     *

With that bit of background, you can appreciate the amount of anxiety tag that is ripping through the SMEs after the launch of Arwafn. They've done demos of the report in front of clients. They've described its many features and clients have oooohed and aaaaaaahed. And now the product has been flipped on for their clients and the result is a big, wet, thud.

And it's the SME on the horn or in the room with the client having to take the abuse, not me. Nobody in UX is on the phone with a baffled customer trying to explain why their numbers don't add up.  Historically, the SMEs have to run with whatever features make it out of UX and they quickly share the skinny on what they've seen so they can go into client contact forewarned and forearmed.

I'm eventually cc'ed on a series of messages between the SMEs "Did you hear? This filter is a failure across the board!!" and that SME tells the next one, and the next - and soon you have a whirlwind of anxiety making its way to the higher ups.

The higher ups have seen this movie - and they rapidly direct their power on various minions who are ordered to bring them clarity about what the hell is going on. One of the higher ups is Gumby, new to Nerdhaven and that means I'm getting pulled into their office and other meetings to explain everything I know in detail.

I spell it out over and over again. I state my mistakes and assessment of where the product is at the moment. I spell out the issue with TURN codes and list out a half dozen other things that could be made to work better.

Then I do it again in front of the the execs. I have to go before the Wizard, who is mighty, but never really says much. I live in mortal terror of having to go before MGM, who is mightier still, but those fears are thankfully not realized.

Airing the TURN issue in front of this crowd means we are going to fix the issue. HockeyOne will be happy, Ajax will be relieved, and our client's data will at last be made whole.

And the exec level folks will make our lives an unending hell until all of this is done.

Product is leaving the company - completely unrelated to this situation, they just got a VP gig elsewhere, so this 'fix the Arwafn' effort is going to need a point person.

Absolutely no one volunteers. So, after a loooooong pause, Gumby raises a hand.

As the newest manager at Nerdhaven, Gumby has a free pass in the situation. They had nothing to do with what has happened up until now. Their role is enthusiastically endorsed by a roomful of cowards.

*     *     *

The boss is in this up to their neck, and UX is now on the hook in a larger sense. Gumby has to prevail.

And Nerdhaven has to fix Arwafn. All of it.

Thursday, May 21, 2015

Derailment, part II

Continuing from Part I

Arwafn is coming undone. And for a reason I first started hearing about a month after I came to Nerdhaven.

One of the base data elements of Arwafn is something I'll call TURN. TURN is a series of codes that factor into the key datapoint of the Arwafn report. Calling it the lynchpin of the report would not be overstating it. The customer sends Nerdhaven TURN codes and we group them, count them, and make them look beautiful.

Classically, a TURN code is a single character value. Like T, or U, or R, or N. And Nerdhaven's process is built on this standard.

Single character come in, single character go into database. Arwafn is happy.

But what if TURN comes in as multiple characters?

Instead of T, let's say it comes in as T<*

Then what?

This question had been posed and answered for me by Noddy. Noddy had raised an issue about multichar TURN codes in their usual manner: Airily, arrogantly "raising a concern" via email to a slew of senior staff. Runner and I were cc'ed so we would be aware of his brilliance.

Look at me!

That's Noddy, and the truth is - its hurts their message, since the resulting eyeroll drowns out the content. But the issue sounded serious.

According to Noddy, when a multi-character TURN code came in to a system I'll call Dragon, it would get truncated. Dragon would take just the first character and bin everything else.

T<* would become simply, T.

And that didn't sound so bad, and really wasn't bad, until new values were added to the TURN code like NO and TDD. These were values that were distinct from T, U, R, and N.

But if Noddy was right, Dragon would take an incoming code like TDD and convert it to T. NO would become N.

And that really would be a problem. Because now our system would be adulterating client data - and that is not cool. Arwafn would be inaccurate, and other features in our product would be wrong as well. TURN is deep, deep in the works. And Noddy wants us to know he's found this problem.

I remember Heater responding to Noddy's initial email. Heater had a few stories written up to deal with this issue - they'd never been given priority before, but maybe now the time was ri-

Dragonman kills that noise almost immediately. Dragonman is lead dev on the Dragon system, and his response took the wind out of Noddy & Heater.

Here's a count of all the incoming TURNs we've received in the past two months: out of millions of messages, we're only gettting a few hundred N values. Even if all of them were really 'NO' values, its a negligible amount of data.

In other words, Dragonman was saying this is not a problem.

Heater lives in fear of Dragonman, and Noddy never follows up on anything. So that was enough to make them drop the issue.

I'd remember talking with UXDir and they were frustrated that we weren't fixing this issue. "We shouldn't treat this like a tech support call! Who cares if there isn't a lot of volume now? We should make this right, so we future proof the system!"

I also remember talking to Product & suggesting that supporting longer TURN values might be a selling point for our product. Product said we didn't have any data to support that it would be worth it. Between that and the technical pushback, the idea was buried.

Yeah, we truncated the TURN codes, but it didn't matter enough to warrant allocating dev resources to fix it.

*     *     *

That answer became the party line: We truncate, but so what?

Months later, even I used that line to shoot down Suit when they tried to grandstand on the discovery that OMG, we're truncating TURN values!

Suit was engaging in that same chicken little exercise where "lookee everybody! I found a problem (and gosh, aren't I smart?)" and I was in no mood. I forwarded Dragonman's original response on TURN to Suit and cc'ed about everyone. This is a crap issue, leave it alone.

I felt proud of myself, too. I knew what was going on under the hood with TURN. It's no big deal.

*     *     *

Rewind to about five months ago. I'm on the phone with Goldeagle, one of our beta testers, and they are looking at their version of Arwafn and they are confused.

The numbers for this item just look wrong. It's way too high, and I think the count is off.

I'd seen this before, but it had always been a setting problem. The user had misconfigured things and broke the output. But a quick check showed that Goldeagle had the settings right. The numbers were just wrong. I told them I would figure out what the problem was.

This was weeks after Arwafn went live to over 100 customers. And this was definitely not good.

I asked BigDog to give me the under the hood data for Goldeagle's report. I do the math and everything adds up to the same crappy numbers Goldeagle was wondering about. And I notice a pattern in the data: the calculation is based on the occurrence of T's out of the total of T's, U's, and R's.

And there are no R's at all.

Which is odd, because Arwafn is report that spans a year or more. In the course of a year, for this particular datapoint - there should be at least an R here and there.

I check again. None.

As all the data I'm looking at is in the Guardian database, I wonder if we're screwing things up somewhere upstream: in Dragon, maybe.

But Dragon doesn't hold data, they take incoming values and slot them into our Guardian db. True, Dragon would be the place where we are truncating TURN codes, but truncating still passes something and I was seeing no Rs at all. Was there a process that was eating the Rs?

And why was it only for this one record? Arwafn has dozens of record lines, each crossing columns with other values. And only this one combination was showing this total lack of Rs.

What the hell?

At this point, I trot over to the other side of the building and visit HockeyOne. They are a code slinger, an expert on incoming client data, and they're one of the folks that are always asking me painful questions when I'm showcasing new features.

HockeyOne lives and breathes in another system that is upstream of Dragon. It's called Lizard. And Lizard is very low level stuff, grabbing up massive volumes of text files sent by our clients and flinging them into the jaws of Dragon.

HockeyOne is a guru of all things Lizard and I start asking them if they have any idea what could be happening to my missing Rs.  HockeyOne looks at me with a sort of amused smile and says "have you looked at the KIM fields?"

No. KIM fields are not TURN fields, why the hell would I look there?

"Because if the TURN is too long to go into Dragon, we'll append it to the end of a KIM field and pass a blank TURN value."

Shut
the
front
door.

HockeyOne goes on to explain the problem. Lizard wants to pass all TURN values to Dragon, but it will get an error if it tries to pass a TURN that is longer than 1 character, since Dragon will only take a 1 char TURN code.

Rather than give up, Lizard will look for a neighboring field, KIM, and append the TURN value to it so the data has somewhere to go in Dragon. Lizard doesn't truncate the TURN, it puts it elswhere and passes nothing at all to the TURN code in Dragon.

I start to sweat. "Can you run a query to show me what kinds of extra noise is getting tacked on to Goldeagle's KIM field?"

HockeyOne says "sure!" and writes up byzantine query in a few minutes. They show me a list of values that are in the KIM field, but supposedly came in as values in TURN:

  • BLES
  • UB
  • CLAB

Whiskey Tango Foxtrot? I've never heard of these values coming across in TURN. I ask HockeyOne to make sure - absolutely sure - these values exist in the client's messages to our system. HockeyOne goes deep into the weeds to show me - that these are real values Goldeagle is sending to us AND that they are sending to as as TURN codes.

I ask for samples that prove this, so I can show them to others. HockeyOne has just demonstrated that we are NOT truncating TURN codes, we are moving them elsewhere. Which to downstream features like Arwafn, is essentially the same thing as deleting them, since Arwafn is looking at the TURN field, which ends up blank every time one of these multicharacter values bounces off Dragon's front door.

HockeyOne is excited. They've always hated the fact that Lizard was shoving data in weird places, and they've asked repeatedly for Dragon to take longer values and store them. They give me all kinds of examples of what is going on in Goldeagle's incoming messages - and I find front end examples of this data mangling so I can sell this as a real issue.

Then I get back with Goldeagle, and ask them what is going on with these other codes. What do they mean? and why are they being sent in a field that should only have 6 discrete values?

Goldeagle tells me that their system uses those other values to track TURN as well as an entirely different dimension called BLES. In their system, the code BLES = R and also has some additional meaning as well. UB is also the equivalent of R.

Which means I've found my missing R values, they are being sent as multichar values in TURN, which means Lizard isn't putting them into our db as TURN values, because Dragon won't let them.

Which means Arwafn is pretty much screwed at this point, because Arwafn only sees TURN values in the Guardian database. If multichar TURN values aren't landing in Guardian's TURN field, they might as well not exist - because to Arwafn - they don't.

I ask HockeyOne how often Lizard would move TURN values into KIM and send a blank value in TURN to Dragon. I mean, I'd always been told we truncate.

HockeyOne is pretty sure that we do this for a majority of our sites. Which means that Goldeagle has a lot of company. And a lot of our Arwafn customers are going to be missing data.

I flip out and go to Data and Heater and declare that the sky is falling. Data tells me that what I am saying is inaccurate. "We truncate."

I show them the messages. "No, we don't. At least not for this site."

My equivocation doesn't help my case. I may have just found an outlier. I email a wider group and provoke an exasperated response from Ajax, who is the sheriff of these kinds of data issues. Ajax is a supremely competent person and they tell me that I'm describing the situation wrong. That any moving of data into different fields would require changes that they would be aware of. And they have seen no such changes.

I take this as "murph, you are full of sh!t" and as I have only one site as a datapoint, I can't press much further.  I get more data by hitting up OneTwentyEight to run HockeyOne's byzantine query against all of my beta sites.

More long TURN values show up, noisier ones like "NEG" and "POS" and a slew of things that look like equations. I run this past Data and Sprint and start to get some traction.

Sprint (who is awesome) runs ahead and sorts out a list of what chunks of work would need to be done to get these longer values into our system correctly.

We get Dragonman into the fold and a reasonable solution is proposed. Dragon will create a path for longer values to make it into Guardian. We draft up a list of work to present to Product.

We're on the verge of pitching this plan when all hell breaks lose on Arwafn.

I'm in West Virginia getting an alarmed email message from Product asking what the hell is going on with Arwafn. I'm wrung out from a long day of client visits yet completely unable to sleep - and so I lie in bed and type an epic mea culpa with my thumbs. We didn't go under the hood enough when we were in beta. This is over and above the TURN problem, but this starts the crazy train rolling.

I fly back home and drive straight to the office from the airport and see Gumby and Atlas clearly having a strategy meeting. I make myself available and soon we are in stage one of responding to an epic managerial sh!tshow.

The executives have heard that Arwafn isn't all it was cracked up to be and they are demanding answers.

The execs are flipping out about filters on the report not working - and they are pissed.

And at this point, they have no idea about the issues with TURN.

Its about to get a whole lot worse.

Wednesday, April 29, 2015

Derailment, part I

All at once, work is exhilarating and terrible.

Arwafn is rolling out to the world, and while the internal reviews are good - the only score that counts is the one you get from the end users.

The early reports are the worst. Not because they are bad, but because they usually represent incomplete opinions, initial reactions - delight in something new. They are passed along by hopeful co-workers who want to believe the same thing I do: that it has worked. That our customers are pleased with what we've done.

Somehow, I always manage to fall for this.  I supposed to be dispassionate, but after a year of working on the project, I want success. I want happy customers.

And so I flatter myself to think that this time, we did it right.

And then the second round of reviews roll in.

Second round is usually polite, deferential even. "Hey, I'm wondering about this bit here..."

By the third round, you know you have problems, and you start looking for patterns. This is not a drill. You'll need to fix this.

Bin the ego and lean into this, because it's going to hurt.
"Customer has some questions about this filter. It doesn't seem to work" 
"...numbers aren't adding up. They want to know why..."
Third, round - the co-workers have stopped being nice. They want to know what the problem is. And how those problems managed to make it through QA and beta testing.

There is no worse feeling in UX than watching a customer delight in seeing what they wanted to see - and then watch them realize their mistake.

Oh...I guess that isn't working.

*     *     *

The flaw in Arwafn that managed to make it all the way into production is the most maddening of all. Arwafn relies on customer supplied data - in the form of a data feed.

Data flows from a client's system and flows into Arwafn. Arwafn turns the tidal wave of data into an intelligible grid and allows the user to manipulate it in several ways. We've checked the design against the industry standards, we've verified that the added functionality was wanted by the customers - we've set up beta testers with their live data in Arwafn and let them play with it to get their responses.

And we've had QA try to beat it to death with everything short of a tire iron.

Arwafn came through all that. The board was green.

But we'd missed something - something that was admittedly pretty hard to quantify, but something that we could have noticed earlier.

The client data feeds are crap.

We were like engineers building a colossal aqueduct across miles of countryside and then aiming it at a dry lake.

Or, more accurately, a bog.

Some customers follow the agreed on specification for supplying the data and - for them - all is well. But for a still to be determined group of customers, they send us garbage - and for them, Arwafn is smelling pretty foul.

And it's no good pointing the finger back at our clients. We told them Arwafn was a new feature - we did not tell them it might work if your data isn't godawful.

Nor did we design the report to degrade gracefully. That principle I began learning with regards to crap browsers ages ago was noticeably absent when I baked out the stories to build this report.

It's a basic idea - and yet I'm re-learning it for the umpteenth time:

Okay, it works when A, B and C are present. What if I take away A?

Easy. It looks like it's still working - but isn't.

What if I take away B?

Same thing.

And so on. Any of those questions getting some real thought would have resulted in what NerdHaven is now rapidly deploying to the field. Switches to enable the functionality dependent on A.

Don't have A? We'll shut that off for you.
No B? We'll turn that off, too.

The rest will still work.

That's how it should have been designed from the get go, but in my naiveté thought "Of course, they'll all be sending us this information. How could they not?"

 And they're not. Or rather, I wish they just weren't - that would have been easy to spot.

When we did beta sites, no data would have resulted in obvious failures. But that didn't happen. We had data flowing into our UI, and the dependent features worked as expected.

Did we ask users to go through our report line by line to ensure accuracy?

We did not.

Did we ask our internal experts to crawl around under the hood of our beta sites?

We did not.

All of this, every new expression of the problem, slams home into whatever professional pride I'd managed to save up. Three weeks ago, Runner and I were heroes. Now, I'm being forwarded emails from our SMEs where they are describing Arwafn's failings in scathing terms. I'd have hoped I would have been included in those messages when they were sent, but I get them secondhand. After they've been routed through management.

Atlas has been unfazed by this - they point out we've had data issues in the past, and the scope of the issue is being overblown. I feel genuinely ill. Atlas and Gumby finished up my performance reviews before this all blew up. I came out really well in their eyes. I was proud.

And now this. The folks who sang my praises are now being hauled in front of the executive leadership team.

And there is something else. Something that goes beyond a customer sending us crap data.

Something I'd heard about and went after.... just way too late.




Thursday, February 26, 2015

Pwned

murph
To: C

Need to ask you a question...but it's one with some consequence.

Have you tried to post a comment on my blog in the last week, posing as someone called Noddy?

I've been slagging on Noddy (a co worker) on my blog - and I believe they've managed to stumble across my blog.

You've pranked me on my blog in the past - and if it really was you, it would be a genuine relief.

Let me know when you can,

thanks.

*     *     *

CTo: murph 
What?  That would be bad.That’s why I had to post as Noddy. Gotcha. 
C.

*     *     *

Kinda makes me wish I'd contacted C before I'd ended up telling my co-workers about my blog at the holiday party.

#Facepalm

Saturday, January 17, 2015

Gumby Ascendant

After months of reporting to Atlas and basically fending for ourselves, the UX folks at NerdHaven at last have a new boss.

It's Gumby from CorpWorld.

They arrived at a time of chaos. Atlas was overseas while our two development teams - who spent last year merged into a super-team - were reverting into separate teams with separate backlogs of work. The entire organization was coming off the holidays, we were starting 8 new people, and our only slightly less-new scrum master was trying to change our primary work tool. Data is no longer on the UX team and is reporting to Portal. Product was churning up trouble in the priorities list - tackling work that was typically in UX's bailiwick...

-and that was just for starters. I remember being more than a little overwhelmed my first week, but I was dealing with established patterns and procedures. The goalposts weren't moving.

Gumby's got a sh!t ton more stuff to learn than I ever did - and they're doing it when they don't know what is normal and what is a catastrophic departure from the norm.

Welcome to NerdHaven!

But Gumby is their old self, a person I've known for years - and great to talk to. They are in good spirits and I wonder how much of that is the post CorpWorld euphoria that I'm still tapping into. Runner's been keen on getting them here - because they get a finder's fee - but it's also clear to me that Runner has a rapport with the new boss.

And that's a good start. We spend a lot of Gumby's first week forwarding meeting invites and trying to explain away the crazy that is currently gripping NerdHaven.

No, it is not normal for the QA server to bonk and make us cancel the showcase.

Usually, your UX folks realize which team they are on and which one they aren't.

No, it is not normal for us to start a meeting with client with absolutely no data in hand.

That last one was particularly galling. UX is helping Product with the needs of a truly massive client, and we'd asked them in our last meeting to give us some feedback on some possible improvements to our design. At the follow up meeting - which I invited Gumby to - the client was going to give us their feedback.

Right now, any UXer with a brain is saying: that sounds completely wrong. Yes, it was. But we'd come off the holidays having gotten absolutely nothing from the rep working the account. BigRep scheduled the meeting for a Monday (Arrrgh!) and pinged me about a half an hour before the meeting to ask if I was leading the discussion.

I'm like: Sure, I can talk to them - unless Product is driving this bus. BigRep says they'll ping Product - and never gets back to us. Since they've also neglected to reserve a room for the call - Runner and I grab one and invite Gumby, Product and BigRep.

BigRep declines. They want to run the call from their office. Fair enough.

We set up, BigRep does the introductions and we have several people from MassiveClient on the line. Runner sets up the webex on the conference room's machine and shares our screen. I start out by reframing our last discussion and segue into the part where they were going to provide us with feedback. This is going out on a limb a bit, because I'm not entirely certain they've given us anything.

The opposite turns out to be true. They respond with "We've already sent it to you. Weeks ago."

Uh, what the screaming fark?

"Have you seen our spreadsheet? Our team worked diligently on it."

I'm mouthing obscenities while I watch an email appear on my (unshared) laptop. It's from BigRep and it contains two attachments: a PDF and a Word Doc. Both are clearly from the client.

The words 'weeks ago' had blown pretty much every other thought out of my head - so I sit there for a second while I realize the scope of this disaster. We were going to meet to listen to these people, and they are expecting us to have absorbed these documents already. They are going to want to see designs based on them.

F*%k.

What do you do? I'll go by the Ziegler principle: Because it's the easiest thing to remember - tell the truth.

I fess up to not having seen the documents, apologize profusely and start talking about scheduling a follow up meeting where we can have the meeting this feedback deserved. BigRep cuts me off and suggests spending the rest of the meeting going through the feedback documents they've provided and we can ask them questions about them.

Yes. Off the cuff questions are really worth these people's time. They've taken time away from their real jobs and we're going to -

Whatever. We need to proceed. Gumby's first chance to observe UX doing client research is them watching us implode thanks to our being left out of the communication channel.

We finish up as best we can and I go over to BigRep.

What
The
Hell...

BigRep is somewhat aware that something bad has happened, makes it sound like the files never made their way to them until this morning and then starts talking about how it wasn't really that bad.

In other words - this is their fault.

I'm angry and embarrassed. Angry, because this was a total waste of everyone's time - and I'm not convinced that BigRep is tracking that. I guess I'm not really all that embarrassed - UX's screw up was we should have been asking after feedback earlier (and we absolutely will from now on) - but the big ball drop wasn't ours. MassiveClient won't care - they'll be mad at all of us,with good reason.

I really wanted to have a good session so Gumby could have a decent client interview under their belt, but it turns out to be a good experience for them. They get BigRep on the hook for scheduling a follow up with MassiveClient as well as a check in for our team and BigRep beforehand to make sure we won't have a repeat of "oh, I never sent you that?"

This is a good move by Gumby and a sensible practice. Schedule the team meet up when you schedule the client contact. We should be doing this and hadn't been. Point for the Boss.

Gumby also had new eyes when our pre-IPM meeting started to tank because of AV equipment failure. Runner was hanging up the call by accident (their anti-superpower) and I'm misreading the horrid UI on the three remotes that drive this equipment.

We get the call back and Gumby points out two things we were doing wrong and - Presto! - we're back in business. Boss: 2, Subordinates: 0.

Gumby's full of surprises. I remember from their interview that they had a background in the (hideously complicated) subject matter our app is grounded in. But on the job, I can see this becoming a bigger asset as they deal with other in house managers. Gumby's hidden reserve of subject matter expertise will save them from being steamrolled.

Three points for the Boss.

Well, four actually. Gumby has been read into the whole Noddy situation. And so far, the signs are positive. Regular meetings and calling Noddy out on their bullsh!t. The fear is that they are trying to rehabilitate Noddy - which I think would be disastrous. Noddy will do the work if someone is riding them every day. But it would have to be every day. That's a waste of managerial effort, and frankly I think Noddy has passed the point where they could turn things around. They've had at least two years - and this is what we have. It is time to tell them what standards they have to meet and what will happen when they don't meet them. Perhaps Noddy is no longer inspired by their job, and if that's the case - they should search for work that inspires them. UX is a good market these days.

Gumby's just starting out with the Noddy situation, and so far it looks like they are doing the right thing. Gumby and Atlas attended our last IPM and got to see Noddy try to snow everyone. "My work's all ready to go!" It wasn't and it showed - in front of management. It wasn't the full blown implosion the work truly deserved, though.  I think restraint on the part of a lot of our team made things go better than perhaps they should have. But it served to underline the proper way to treat Noddy. Watch this one closely.

Those are the positives to the new era - so far.

There's another aspect to Gumby that has begun showing through that has us more that a bit on edge. I'm not sure I can describe it fairly, but here goes...

Gumby is enthusiastic about creating process and documenting roles. They do so with an energy that seems - to my admittedly cynical mind - to be a little...excessive.  I mean, sometimes - you need to write down a new process so everyone can get on the same path. I get that. But on our project team, the attitude is always that documenting process is a necessary evil.

With Gumby, I get the sense that this is something they genuinely enjoy. Part of this has to do with the way they process information. Their mental workspace appears to be external. Draw things, gesticulate, explain. Communicating what they want may appear excessive because they are doing all of it in front of you. Their enthusiasm for it comes across as cheerleading - and that may be unfair.

Part of my comprehension process has always been explaining things to others - or at least writing them down. Lord knows, I've bored plenty of people with my explanations of things. AmIright?

But there's something else in the wind with Gumby. They are the boss - and we should expect some changes to our wild west existence. Under the former UXDir, we were mostly left to our own devices. After their departure, we've gone positively feral.

The thought that Gumby might start shifting roles within our team - pairing us up on projects differently (e.g. with Noddy) has more than a few of us nervous. Gumby wants to have us do less analyst work and more pure design. I love the analysis part. Doing the investigation means I know what I'm writing up - and writing up the requirements from soup to nuts means I won't lose anything in translation. I want to be open to improvements, but I don't off the cuff change.

Data's abrupt request to report to someone other than the UX director struck me as an indication of their faith in the new boss. I could be wrong.

Gumby came from CorpWorld - and adding meetings & discrete roles may be part of their DNA, or it might be part of their detox process. Part of what's great about NerdHaven is having the freedom to run a problem to ground and kill it. CorpWorld always had a procedural roadblock that stopped you. Or a faction you had to have buy in from.

It's still early days - so I'm not sure where this is going yet. But maybe that is the thing:
Gumby is at the helm of UX: and the crew is nervously looking astern.


Wednesday, January 14, 2015

1, 2, 3, 4, 5

A while ago, readers of this blog might have noticed an odd post. The contents were a single number which appeared once in the post title and once in the post's body. It was up for just a day or so. 

I promised someone an explanation, and here it is.

*   *   *

I was somewhere over Greenland when it first happened.

Mom and I were flying back from Norway and I had a series of thoughts that haven't left me.

I was looking out the maddeningly thick window at a distorted, frozen landscape and my drama starved imagination conjured up a 'for instance.' And then it just wouldn't stop.

What if the plane tore itself apart right now?

I would die.

But what if the plane came apart without hurting you?

I would still die. At cruising altitude there simply isn't enough air to breathe.

What If you held your breath until you fell into thicker air?

I would still die. Cerebral or pulmonary edema.

Those might not affect you before you...

Froze to death? It's -50 up there. Centigrade.

Dressed warmly...

I would miraculously remain alive and conscious during the six mile plunge to my death.

But if you had a parachute...

And the foresight to strap it on before I was hurled into a frozen, oxygen starved plummet.

You could-

Crash onto Greenland's ice shelf and wander aimlessly until I froze.

To.

Death.

*   *   *

It's thoughts like this that drive home how completely insane it is to be flying in a commercial jetliner.

All those people sitting around you, jostling over seat inclines and gazing expectantly at the attendants? They are shielded from certain death by an aluminium barrier that is a fraction of an inch thick. The notional protection of seat belts, masks, and flotation devices - glossed over with movies, snacks and beverage service. All of it. It makes no sense.

I am not a bad flyer. I don't get shortness of breath, or grip my seat or do any of the classic freak outs. 

Point of fact, I don't freak out. I just fly. But that part of my brain that delights in imagining tragedy and horror is terribly overstocked with source material when it comes to aircraft.

So that's what my brain does while I fly - run an endless loop of Tenerife, Jet Blue, and Lockerbie. My own private 'Seconds from Disaster.' And as a - reasonably - rational adult, I would just deal. But I'm finding there's a difference between flying with my family - and flying without them.

With them, there are countless logistical distractions. Keep the kids from fighting, hold out on deploying snacks or electronics. Bathroom breaks for one and all. There's no time to think, much less think about the thousand of ways everyone you hold dear could suddenly become doomed.

And even if you could, you'd have to eat it, because you can't freak in front of your little girl. Man up, right?

First time I flew without my family, I was going to London. I've been lots of places, but I'd never been to Europe as an adult and there were lots of distractions. Outbound is always easier, you're fresher and looking forward to new adventures. 

The return leg is different. You're beat, and you're headed back to the known - the resumption of all you'd flown away from. 

And Greenland was the return leg from London. It was like a series of bursting dams. I'd hold firm for awhile and then some new possibility would occur to me and I'd be seized with the overwhelming urge to walk the F$%8 around. To run. To scream that we needed to get to a safer altitude, because this sh!t just isn't right.

Air travel was different for me after that.

*   *   *

Sometime after it became clear that I would be taking a second trip to Europe with Mom, I had the idea.

Whenever Mom flew in for a visit, she would joke about things we probably should know and file away. Y'know, here's where I store my logins - in case the plane goes down.

When dad died - I remembered being impressed at how well organized things were. Paperwork was filed away, bills paid, very little to sort out. Aside from waiting for the overwhelmed state agencies to give us dad's death certificate - I think there were two loose ends. We had to transfer title of two of the vehicles that were under just his name to Mom - since the storm had totaled them and insurance wouldn't pay out to a dead man. That, and the gun safe combo was only in dad's head - we had to go through a Byzantine recovery process to get the manufacturer to give it to us.  But on the whole, dad's things were in order.

The thought of getting on a plane again had me wondering what kind of hairball I'd leave to my family if the plane went down. Little stuff like, would they know where to find the bill schedule? Or big stuff like, do I have enough life insurance? To entertain any of these thoughts is to start down an endless slope of self examination. Do I have my sh!t together? What if somebody had to pick up where I left off?

Once the administrative anxieties find their new level - the next logical step in the freak out is thinking of what happens to your loved ones. How you would miss out of their life's milestones, all the things you'd want them to know if you were gone-

-and then you think of leaving them a note in a safe place.

But leaving a piece of paper around seems foolish, because it could get thrown out - or lost, or opened by mistake after you've made it back safely.

I needed a note that would be inaccessible unless the worst happened - when it would become easily available.

And I thought...Blogger allows you to schedule posts in the future... 

That's where it started. I would write a final post that would publish automatically if the worst happened.

*   *   *

I started out by thinking I would write a last letter and quickly decided that a single message was not going to work out.

For one thing, I needed at least one other message. One that posted after my return date just in case I came home and forgot about the scheduled message. Sort of a tripwire message. If it published after I got back, it would be the reminder for me to log in and remove the other message.

Then I thought a single message was taking the easy way out. Like a Christmas letter from the beyond. Hi, everyone. I'm gone now - but I wanted to say a few things... I tried to write that a few times and couldn't make it work. There just wasn't an intro.

I decided on something more focused. Write something for each of them, to them. Those words came to me a lot easier. I would have the posts publish on each of their birthdays. I'd heard of a parent doing something like that, but rather than a series of messages - I'd just have one. I didn't want to linger. I didn't want to haunt.

So then, plan in hand - I went to work.

The tripwire message would publish first, but I knew I couldn't write it until I was done with the others.

*   *   *

First one up on the calendar: the Boy.

I'd tell him how proud I was of him - watching his all-in enthusiasm for the things he loved. How much he reminds me of my dad when he picks a task and runs it down. I'd tell him how I loved watching him happily working away on one of his projects. Or how I'd marvel at the questions he would ask - questions that a battalion of scientists might answer - but were utterly beyond his hapless father.

I would tell him he was my first child, my only son - and that I loved him beyond measure. I would ask him to forgive my failings as a father. Parental mistakes never leave you, and you never get the context to truly express how sorry you are for letting your children down - for being less than the father they deserved.

I would tell him that my world changed after my father was gone - but the responsibilities I'd left to him were things I needed to embrace. I wish my father were here, but I wish I'd realized I didn't have to wait for his help a lot earlier. I have surely made things hard for my boy by lording what I know over him. I should have encouraged more and chastised less.  I tried to be honest about what I knew and what I didn't - and I hoped he would do the same.

My lovely boy.

Be nice, work hard, be honest.

*   *   *

The first draft was terrible, even worse than what you're reading now. But it was therapeutic, in a way. Putting it down in words forced me to think about a lot of things and there was that feeling that I was doing something responsible. Checking something off on a list.

*   *   *

Next up on the calendar would be E.

I knew this one would be hard - partly because there were always trivial, administrative things that would crowd out what I wanted to say. Things like make sure to check on the life insurance policy. Things that were awkward to put in a public blog, but easier to pull out of my head than the real things I needed to say.

Like how I've loved our life together. How we've managed to be comfortable with each other just being how we are for almost two decades. How marvelous it was to watch E in a house full of bustle when we're spooling up for a holiday meal or some gathering. I know she loves that - and it reminds me so much of watching her mom ramp up for one of their family brunches. E loves to make a gathering, thrives on the disorder because it always works out. Left to my own devices, I'd probably tend towards hermit - but E craved contact and would fill the house with people.

I admired E's point of view. How she would always call you out on your bullsh!t. You always hear people say that parenthood changes you, makes you live for someone else, but marriage is a hell of a big shift, too. You share all your viewpoints with someone and learn which ones are indefensible. E's moral compass has trumped many of my antiquated viewpoints and I treasure those moments where one of E's off the cuff pronouncements has changed the way I view everything.

My post to E broke down on all sorts of levels. I kept coming up with random thoughts: Make sure you get a big, floppy dog. And I kept trying to avoid dwelling on regrets.

I'm sorry I never took you to Hawaii.
I'm sorry I won't be there when you need me. I know I swore I would never leave you.

I remember closing with gratitude, how marvelous it was to be with her. How I loved goofing off with her. How I thought she was a spectacular mom. How our late night chats about anything were the best conversation to be had - and I loved how she'd snap "Freak!" at me when I'd pester her.

And I loved pestering her.

I was so proud to see her get her Masters. Doubly so when she made the huge leap to her newest job. Plunging into the deep end after years of the stable and the known. So awesome. 

I love seeing her delight in the kids. Her enthusiasm and love for their every little thing.

*   *   *

There is too much.  This is what I kept learning. How do you sum up a life with family? How do you write a last anything to them?

I kept going back, revising. Evaluating if I'd said enough. Pruning out the sappy. It would never end.

*   *   *

Little e's birthday would be last.

My little happiness factory. Running to meet me - always ready with a huge hug. She made me a poster for my birthday. A rapid fire drawing of E, that said "Happy Birthday! Your Wife, E!" which is perhaps the greatest poster of all time.

I love how she devours books, delights in people and loves to get her groove on. I'm sure over time, she will stop calling me the World's Greatest Dad, but I will use her words as armor against whatever the world will throw at me forever.

I loved saving you from whatever problem you had, little e - but I know you have it in you to be your own solution to things. It's fine to ask for help - but you'd be surprised at what you are capable of.

I love how she will instantly ask after a word she doesn't know - because she wants to understand. I was the kid who'd stay quiet and hope I'd figure it out eventually, rather than risk a question. Keep asking your questions, there is no safety in ignorance.

Hold on to your joy. Be good to your brother. Take care of your mother.

*   *  *

So many things to say - and a note does not allow for the passage of time. You cannot give personal safety advice for a teenage daughter when she's still in elementary school.

Always with siblings, there must be parity. Have I said too much for one and not the other?

Had the worst happened, I wouldn't have known my boy would make the National Honor Roll for math. Something I'm immensely proud of. Not because of the competition, but because he leaned that if he stuck with something he could accomplish great things.

I treasured the pride in his eyes when my son held his medals. Remember that feeling when you are thinking of saying 'no' to something. You can do great things.

The thought that I could have missed that. It's too much.

Thinking of my little girl in her little tricycle, determined to finish the 4th of July parade - on her own.

These moments bubble up into a flood and soon I have to stop.

*   *   *

In writing, you kill your darlings. Pare the words back to the most essential - and exterminate the rest.

I'd done the opposite. Started with the idea of a single post and I'd turned it into four.

The first post, I just called "1" - because I couldn't manage to start it. This was the tripwire post. Once I got back it could serve as the warning post for me to stop the others. But the content was always up in the air. Hi, I might be dead right now...or I just forgot to stop this message from displaying. Keep watching this blog to see which is true.

Then a post for each of my family: 2, 3, 4 posts.

And then 5.

It would seem unjust to end the posts with one directed at a single family member, just because of the calendar. And I'd need to make clear that there would be no more messages. They should know when I was done.

So I started a fifth post - I'd settled on Christmas. Just a short message to tell them how I loved them - how I wished them the very best and that this would be my last post on the blog.

*   *   *

It was the editing that broke me.  I couldn't kill my darlings. I couldn't find ways to make them say everything I wanted. I couldn't make them equal because there was always something left out.

I re-listened to the radio story about that mother who sent the letters - it didn't end well. I knew that, but hearing the anguish in her daughter's voice - I knew a drawn out series of messages could play out in ways I couldn't control.

And then I thought about the likely scenario where I arrive safely home. The scenario where I delete all these messages - so my family won't see them. 

That made the least sense of all. Why would I hide these things from my family? Whatever final words I wanted to leave them with are things I should probably be saying while I'm still here.

The more I thought about it - the less I wanted to keep editing hidden blog posts. I figured I should do a better job of making sure I'm saying these things out loud. To my family.

When my father died, I remember people asking me "if there was anything they could do," and the only answer I had for them came years later.
Is there anything you could do? Yes.
If you love someone, the next chance you get - and I mean the very next chance you get 
- tell them so. 

*   *   *

About a week before our flight to Paris, I started deleting the posts, 5, 4, 3, 2.  All that angst and foolishness blown away with a few clicks.  It felt pretty good.

The '1' post was empty, save for the single '1' I'd put in there when I first had the idea.

Somehow, in the rush to go - I'd left that post in there & it published after I got back.

I got a comment asking after what it meant and I promised an explanation - so here it is.

I'm kind of glad '1' published by mistake. Helped me think about a lot of things that needed a little brainwork.

-But flying still scares the crap out of me.