Friday, May 02, 2014

Circular Firing Squad

I'm on the phone with Data, our in-house BI expert - talking about a feature of Arwafn that utterly blew up when we met with the SMEs.

It's not going well.

I've let Data down - again. This seems to be my lot in life. I'm told to move the ball forward, with the understanding that a first attempt will not be perfect - but we will improve as we go.

This is the opposite of what Data wants from me. Data wants me to have all of my sh!t together before I ask them to do their bit.

And I understand this. But UXDirector has given me explicit instructions to not to wait until everything is perfect. UXDirector is tired of waiting for perfect - and they want movement. Now.

They are the boss. So, I do what they say - only to end up utterly letting down Data.

Data has conviction. They are principled. "We cannot fake this. We have to get it right."

And I agree with this. I just believe that we will get it right, after a few revisions. We do not know what we do not know. So we will go forward, take some beatings - and learn.

Data doesn't want to take beatings. Right now, they are dishing them out.

I've often joked that a big part of UX is taking the beatings. So I lean into it until they are done.

"Do you know this stuff? Really know it?"  They are talking about Arwafn.

I hedge a bit - which is stupid.

"I don't have it memorized, but I believe I know it."

Data can sniff out BS like a bloodhound. "Because we cannot get this wrong. This has to be right. Customers won't go through the misery of setting this up if they don't see the value."

I'm trapped between two competing design strategies. UXDirector and Data are not on the same page. And there seems to be no way to make them both happy.

Somewhere in the beating Data drops a bomb.

"The Professor is leaving."

What?

The Professor is Data's partner on a big chunk of our current project. They both share the "first, get it right" philosophy of design - and have been collaborating well.

"Yeah, their last day is a week from Friday."

I do the math. It's Wednesday, which means if the Professor gave two weeks notice, the UXDirector has known for two days and has not told anyone.

What the what?

I like the UXDirector. But if they have a major weakness, it is in their communication skills. In person, you will get all you need to know - but only if you seek them out. If you are waiting for a bulletin from them - don't hold your breath. Once, they emailed us the day before they left the office for two weeks. Nobody knew a thing about it. "Bye department, I'll be gone until..."

And now, mum on the departure of a team member.

*   *   *

Bit of background is in order here: The Professor is someone I have a good deal of professional respect for. They clearly have UX and research chops.

But here's the thing: they flat out suck at working with people like me. I've never had a meeting with the Professor where I didn't feel like I was getting lectured.

Here's what I did... and here's the background on how I approached it and here's the proper technique...and-

"I have a question"

Let's table that for now. Now you can see here that..."

"What is that pattern?"

I would push back on the term 'pattern.' This is clearly an expression of a design language. Now, as I was saying...

And so on.

Hours of this.

We used to refer to some of the meetings with the Professor as "Watch Professor Type." They'd show up with stuff they wanted to show off, and brush off anyone else's material until they'd lovingly walked through every last facet of their design. At which point, any questions or alternate designs were swatted aside until the Professor would conclude that their design had carried the day.

It's just a strawman.

Strawman. They said this so often that it became a joke with Runner, Noddy and I. We actually had a drinking game where each of us would take a drink every time the Professor said the word.

Being in the office the drinks were usually sparkling water, but it made us all smile.

And I don't think the Professor is a bad sort, they just had no idea how to collaborate. At one point I got into an email rant with them about a particular design choice they'd assumed we'd all adopt. I proposed a compromise and - they took me up on it.

The ice was broken - somewhat. And I'd hoped this would be the beginning of better things. The Professor had a good sense of humor and our meetings usually had more than a few good laughs.

So, right after Data tells me the Professor is leaving, they invite me to a technical review of the work Data and the Professor have been doing. This, I consider a win. Data would like me to be there. They would like Runner to be there as well, but not Noddy. As they put it "I don't want them to screw it up."

So, Data and I are on the same page about Noddy.  Really, how could we not be? Noddy is a total tool.

Anyway, I go into the tech review and sit back while the Professor launches into another tour of their grand vision.

I've seen this part before - and I'm wondering what the Hell the Professor is up to. A technical review is basically "I want to build this. How many technical hurdles do you see at first blush?"

A rapid description of the features would suffice. But this is the Professor: He begins with his persona research. Then his task patterning. About three more abstract visualizations later, the developers are checking their smartphone email. Then the Professor starts talking about their prototyping tool. How it works, what their initial approach was - the problems they encountered - and why the performance of the tool was currently sub-par.

If the Professor had any empathy for their audience (aside from me, all developers) they would realize that absolutely nobody gave a sh!t about what they were talking about.

Some 45 minutes into the verbal barrage, the Professor finally arrives at showing page mockups and discussing the data requirements. This - devs care about. Questions begin flying in earnest, but there are so many unknowns that the meeting ends 15 minutes later with the devs as mystified about what was required as they were when the meeting began. Eight high-priced developers burned an hour to get a UX theory lecture and walked away with very little new information.

Awesome.

And there was a niggling little detail in the presentation that I couldn't manage to forget. In the past, the Professor hasn't been shy about lacing his documents and communications with snide nicknames for people and things he has little respect for. They'd referred to the Marketing Department's branding guidelines as "the art project" and I suggested we stop calling it that - lest one of these folks get wind of it and take offense.  This was my attempt at being diplomatic.

The Professor laughed it off - like it was silly to even worry about it - and just left the term in their documents. And proceeded to forcefully use the term in our subsequent meetings. It struck me as tacky - not a huge deal, but evidence that the Professor didn't easily turn off their scorn.

This is in the back of my mind, when I see the Professor's summation of our UX team's current projects.

Next to the entry for Arwafn - under the column that indicated who was working on it - the Professor had written 'the three Amigos.'

Meaning Runner, Noddy & I. In the eyes of the Professor, we're the three Amigos.

Now, I'd seen this 'cognitive walkthrough' of the Professor's before - only this part hadn't been in the tours I'd seen.

And I wasn't supposed to be in this meeting - Data had invited me at the last minute.

Nice. Way to belittle your peers in front of the Devs.

I mean, Runner and I are making fun of the Professor on a regular basis - we're just not documenting it and showing it to folks outside our team.

Okay. I see how it is.

*   *   *

So, the Professor is quitting. Taking a job for less pay, because they want to get out. They've tried ("and tried.. and tried" they say) to win UXDirector over to their design philosophy. No traction.

Hmm... maybe it's your delivery.

And they're going to - in their words - "a rockstar shop." So be it. If they find an environment that suits them, they are better off. Frankly, I think we will be, too.

I mean, I've been in a lot of pointless meetings - but the Professor had a way of describing things that they were "going to do" - and then not do them.

This is perhaps the reason that UXDirector is not embracing their design philosophy. Because it is so slow.

*   *   *

Which still leaves the question as to why the UXDirector hadn't bothered to tell anyone that the Professor is leaving the company. Given the UXDirector's communication style - I can't say this omission carried any special significance. You don't get much from UXDirectory unless you ask for it. Nobody asked them if the Professor was leaving the company - so, they hadn't said.

*   *   *

So, it's today. I'm still smarting from the week's beatings. I've recently acquired a new set of standards for Arwafn - and I can see it will require changes to its basic function. This will go over with Data like a lead balloon.

I remember Noddy talking about this particular function and find an email from them from March. They are asking about this function based on another document. They email basically everyone on the project to say "look what I've found." Product weighs in and says "make this change." A SME weighs in and says "we must do this."

I remember talking with Noddy about it - I was trying to figure out how big a deal this would be. I had no concept of how big of an issue this was - it seemed like an edge case. I wasn't eager to make changes, but I wasn't opposed to it. And Noddy had been greenlighted by Product.

Noddy does...nothing.

A month later - I'm looking at new specs that tell me I need to make this change

Hooray. I'm looking for ways to break this to them and opt to go to another person in Data's field - Heater. Heater instantly knows what I'm looking for and starts the machinery to make the necessary changes.

Heater is thorough - so they copy the UX team - which means Data. Data is clearly irritated at this new discovery. Clearly I'm not doing my job well - otherwise I'd have known about this.

My attitude is that making fixes as we go forward was always part of the plan. UXDirector has said we'll put our code into an environment and throw actual production data against it to see where the holes are. This strikes me as a great next step.

I've mentioned this to Data and while they are clearly on board with this - test and make improvements. But this new change of mine is still heresy.

*sigh*

UX is all about taking the beatings.

Later, I'll go tell the devs that we'll have to change working code.

Noddy stops by to tell me that he knew this would be a problem, that'd he'd asked for these features a long time ago and "...nothing happened."

Gee, wonder why that was...?

*sigh*

*   *   *

It's the afternoon. I'm looking at a farewell email from the Professor in amazement.

I've seen my share of awkward goodbye messages - but the Professor's is on a whole new level.

I mean, what do you usually say in a goodbye message? "So long, it's been great. I've learned a lot. Here's my contact info. Keep in touch."

Not the Professor. Their message has something else.

It has a chart.

A timeline illustrating the projects the Professor has been involved in - what the goals were - and the (Totally awesome) success each of them ended with. There are at least three swim lanes in the data table and...

...skip it. It was ridiculous. A victory lap for someone who saw their every action as triumph. 

I'm deleting it when I remember that I have another meeting with them.

The Professor is having their last meeting about the style guide. The style guide has been a recurring lecture series where the Professor tells everyone to do what they say.

To be fair, the sessions had improved from the first few sessions - but we hadn't met in recent weeks because we were all too busy.

Now the Professor wanted to have one last session and we couldn't really find a reason to turn them down.

We started out cordial enough. The Professor asked if anyone had some items for the group and I pointed out that everyone else in the room would still be around the following week to discuss things - but if the Professor wanted to say something, they should probably say it now.

"Fair enough," says the Professor - and they proceed to walk us through "their process."

Again.

I've seen this document before. At least three times. And now four. This matters not at all to the Professor and they replay their earlier lecture as if it were hot off the press.

They detail personas and affinity diagrams. And how they "informed their early iterations" and how this led to "an integrated feature set." How meeting with users had allowed them to "move forward with confidence."

At this point, I've had it.

I interrupt. "Are you showing us these things because you think they are new to us?"

I mean seriously, pal. Everyone in this room works in UX. You are talking to us like we are schoolchildren. 

AND I - FOR ONE - AM SICK OF IT.

The Professor seems surprised. "No. Not at all."

Then why the F*#k are you lecturing us on this stuff like you've just invented it?

The Professor just wants to share their design philosophy with us, they say. They want to point out how they've managed to do all this research AND still deliver stories in a timely manner.

*   *   *

Need to step back a bit here - and I appreciate you for hanging in there on this one. It's ramblier than usual because this stuff just happened a few hours ago.

The Professor and Data have been working on their project for as long as Runner and I have been working on Arwafn. We have a number of accepted stories and a bunch of stories Ready for Development. RFD, the coveted status of UXers in our company.

RFD = Devs don't go hungry = points on the board.

And we have stories that are in progress - and more on the way.

The Professor? The one saying they were able to "deliver stories in a timely manner?"

They have zero stories that are RFD.

TWO DAYS AGO, they dropped 40 stories into the queue and got them estimated. This means they are not RFD, not about to be RFD, but about to be worked on so they will eventually become RFD.

And the Professor is leaving in two hours. These stories - whatever they eventually become - will owe precious little to the Professor, since Data and Sprint will be stuck doing the work to actually make them happen.

And quite possibly Runner and me.

Professor? I CALL BULLSHIT.

*   *   *

So, knowing this - hearing all this, I've stopped being patient and started to call out the competing philosophies in the room. Up front vs as you go.

If I had a choice, from a standing start - with room to breathe - I honestly can't say which of these I would reach for first. Each of them have their advantages.

But there was no choice. UXDirector spelled it out. We are an as-you-go shop. We'll move stuff forward, make mistakes - and then make things better. The Professor has basically ignored this and has gone their own way. UXDirector has let this happen, under the hope/assumption that good stuff will eventually come down the chute. And - to my mind - the Professor has landed a big pile of maybe and is trying to rub our noses in it on the way out.

"I'm frustrated." I say. I point out how I'm told to write a simple story NOW - then make it better. And my reward for that is to drive Data into a near fury.

"I'm not trying to drive you crazy. I'm doing what my boss has expressly told me to do."

And then all kinds of sh!t starts letting go. Data takes issue with my version of RFD. The Professor asserts that our amount of rework will be less than theirs. I'm incredulous.

"You think you won't have rework?"

"Not as much."

The Professor is shoving 40 pigs through the python at once. Or, they would be if they were sticking around to make them RFD. Instead, Sprint and Data will try to make these pieces flow through the system - all interconnected - all co-dependent - and minimize the rework.

Good.

Effing.

Luck.

A lot of the stories are clones of one another, so you build one, you can easily build the other. But if you start them at the same time and one dev finds a problem that another doesn't...?

The devs were saying as much after the tech review. All that interconnectivity being built at the same time ups the risk substantially.

Sprint, bless them, stands up for me. I get the sense that Sprint and UXDirector are on the same page. Sprint lets go with some stuff that had been bottled up for awhile.

And Runner joins in. "We are not an effective team."

And we aren't. Runner nails it. Three of us are in one office and three (soon to be two) are on the coast. We used to have regular meetings as a team and now it's just impromptu phone calls and email.

And stuff gets missed. And then we get angry at...everything.

It's like therapy. Soon people are apologizing and we're agreeing to have regular check ins. Data volunteers to have regular work sessions with Runner and me on Arwafn.

It was horrible and beautiful all at once.

But I'm so glad it happened.

I end up wishing the Professor well - I do hope they are happier in their new shop - but I am glad they are moving on. I suspect I am not alone in that. I want to work in a team and (with the exception of Noddy) everyone else on the UX team is somebody I like and respect.

We just need to get past the awkward and the awful and move forward.

And I think despite - or perhaps because of - the Professor, we took a big first step.

Huzzah!

Monday, April 07, 2014

Another Letter

Round two came back in the mail after only three days. I was rushing out the door, and almost missed it. I'd sent out maybe a dozen or so documents and, lo and behold, back came an envelope containing a dozen or so sheets of paper.

Seen that before.

I chucked the rest of the mail on the couch, balanced my bag on the handrail - and ripped it open. It had a cover letter. One hand reaching for my keys, I looked for the check box.

But there wasn't one. This was a genuine letter, signed even. It said "Enclosed are the documents you requested."

I'm halfway out of the house, swinging the door closed, reading-
George _________ - Born March 20, 1887.
Hospitalized: August 31, 1921 - April 17, 1923.
I'll be damned.
There it was, in black and white. I sat down on the porch and began reading.



It was not a happy story.

It began with interview notes. In them, the patient is described as a common laborer. In the blank next to "education," the doctor has entered - "not much." The patient is asked a series of questions about the world around him; He knows who the president is, he knows that the Mississippi is the largest river in the US, and so on.

He doesn't know why he's here. He knows he owns his own house; he's had trouble with his wife over the children. He did threaten to kill her, but he didn't mean it. He thinks his wife doesn't care for him, that she might be unfaithful. She's been saying things, you see.

The diagnosis is brief.

The other documents were a chronology of patient behavior and disposition. Every month or so, the patient gets three or more lines of text.

Lines like:
...patient does no work...
...sits and stares into space...
...wanders the ward aimlessly...
...dull and stupid.
All entries report the patient is in good physical condition. Treatment is not mentioned at all.
The last entries record a change in demeanor: the patient has "a high opinion of himself" and occasionally attacks staff. The final entry has an almost exasperated tone:
Transferred by order of the Board of Control. Condition unimproved
There was a lot in the letter, but that's where it ended, 1923. Two years down, forty odd more to go.

If there is more to be had, I'll find it.


Tuesday, April 01, 2014

I am Weasel

Runner [3:29 PM]:  just feeling a bit grumpy today

murph
[3:30 PM]: whazzup?

Runner
[3:31 PM]: oh the earlier stuff with our buddy

murph
[3:31 PM]: Yeah, that's totally shitty

Runner
[3:31 PM]: did you talk with him?

murph
[3:32 PM]: I did.
Caution.
This will not help your mood

Runner
[3:32 PM]: OK
give it to me

murph
[3:33 PM]: He basically said all the things he should of said to the SMEs, but didnt'.
He thinks he was taking the bullet in the call and in his discussion with BigDog.
I do not think that is so.
He believes that he went through the stories with you to find ones that were ready for dev.
I made him repeat that.
Basically doubling down on the line of bullshit
I just....
I mean WT screaming hell?

Runner
[3:36 PM]: so I take the bullet for it

murph
[3:36 PM]: I went after that. "So now, the SMEs are going to think this is on Runner?"
He's like "No, I took the bullet for this."
I did not get that out of his conversation on Friday at all.

Runner
[3:37 PM]: did you mention that?

murph
[3:37 PM]: I did not. I sat there like a tool.
I could not believe his shit and I did nothing about it.
Which does not help.

Runner
[3:38 PM]: well whatever it is done
I learned a valuable lesson

murph
[3:38 PM]: Noddy is a weasel. And I'm not much help.

Runner
[3:39 PM]: well you don't want to get too involved in this
I think people know that, right?

murph
[3:39 PM]: No, Runner I let you down in there. Same as Friday.
I just could not believe how far down the rabbit hole he was going.
I just sat there.
I made sure I wasn't mis-hearing him but I didn't call him out.
Which is shit.
And I'm sorry, but I'll do better. This can't be how it goes.

Runner
[3:41 PM]: don't worry about it
sounds like this isn
this isn't the first time it's happened
and really it's my fault for letting it happen

murph
[3:42 PM]: No, letting it happen is on me, too. And I should not let this roll like that.

Runner
[3:42 PM]: and truth be told, I probably shouldn't have written up those stories without combining everything and getting it all in there

murph
[3:43 PM]: That's gonna be a thing, for sure for all of us.
Anyway, Runner - I'm sorry I didn't pounce on him. I was all pissed off, and then I got nowhere with him.
I don't think I can fix the overall situation, but Noddy should know that he's in the wrong.
I don't want the drama, but I hate the unfair.

Runner
[3:45 PM]: well lesson learned is that we can't just move stories ready for dev unless we vet them

murph
[3:45 PM]: Yeah. Totally
And we don't move stories that aren't ours.

Runner
[3:47 PM]: yep

murph
[3:47 PM]: See. Told you it wouldn't improve your mood.

Runner [3:47 PM]: I was expecting that really

Monday, March 31, 2014

One Small Box


I don't know exactly what I expected to find when I started chasing after my great grandfather, but it wasn't this.

Okay, that's not quite true - I did expect a few things. Fairly unrealistic things, now that I think about it. I was caught up in what I thought was a bit of a mystery - and mysteries always get my imagination going. I had started with one piece of information: the name of the facility where my great-grandpa George died

I was hot on the trail.

As it happened, there is a facility with that name right where I live (what luck). All the documentation I needed practically fell into my lap. All I needed to do was write a letter and ask them to send me everything they had on my great grandfather. This was going to be a fairly straightforward case.

So be it. If the hunt was to be easy - there was still the anticipation of what I would discover - what they would send me.

Here's how I pictured it:

I would wait a few days, then weeks, and then about the time I'd forgotten about ever making the request, it would arrive.

In my imagination, it would be a small, well-worn box. It would have a few dusty photographs of people I'd never met, maybe a book or two written in Russian, and (best of all) official documentation of my great-grandfather's confinement. There would be a certain amount of finality to it, but with enough leads to take me to new mysteries - if I was interested.

That's what I expected, but then - Hollywood has really done a number on my generation.

What I did get was a letter. In it was the request and supporting documentation I'd sent them - they were sending it back. They'd attached a cover sheet with four lines of text on it. Each line was next to a check box.

One of these boxes was checked. It said:
Our files have been carefully checked and we are unable to determine that the patient was ever seen at [our facility]
So much for imagination, so much for easy.

So much for round one. Round two is in the mail, and I've queued up round three. Mysteries be damned, I just hate to lose.

I'm still on the trail.

Friday, March 28, 2014

Accent on the 'We'

Okay, Great Grandpa George is gonna have to wait.

I'm gonna let go with some sh!t.



And I want to start this off by saying that my current job is - by far - the best job I have ever had.  Challenging work, a noble cause, outstanding UX support, and free coffee.

I'd also like to say I've been there long enough to say this isn't a case of being in love with the honeymoon. 

I work on a team stocked with rockstars. These are people worth going to the mat for. 

My UX role is backed up by management. I own the problem, study it, design a solution - and then my devs build it.

Note the curious absence of corporate bullsh!t

As I said, It's a killer UX job.

But I am now going to hurl a co-worker under the bus.

...because they so effing deserve it.



Back when I interviewed for this job, the only sub-awesome bit was the UX guy. A veteran designer, but clearly somebody who thought an awful lot of themselves.

This post is about them. 

Let's call them Noddy.

Over two months ago, the UX director called us into a room and asked each of us to take one of the many projects on Product's to-do list. Immediately after doing this, they informed me that I would be working on a report with a funny name. 

The UX director has a way of doing this. I think it's their way of cutting the crap. 

Fair enough. At the time, it's not like I would have known enough to make an informed choice - so they chose for me. 

UXDir then drove the point home by asking "What do you know about [A Report With A Funny Name]?"

Having decided to be honest at this job, I said, "If I think about it awhile, I might be able to spell it. ARWAFN."

UXDir grinned. 

Okay, we're all friends here.

The rest of the UX team got their marching orders. Noddy got a pair of reports, Sprint and WatchMeType already had serious project work - which they kept, and Runner got the dashboard that held all the reports.

Work these problems.

So, off we went. And I spent a pornographic amount of time learning about Arwafn. What it is, what it does, why people use it, how people use it.

In all former lives, this luxury of time was unheard of. You need to be done two weeks ago. Go.

At Nerdhaven, so long as the devs had stuff do, you could take the time you needed to solve your problem.

Awesome!

We all plunged into our assignments and started ramping up.

In the meantime, Noddy was still keeping our devs busy by giving them features and fixes so they had stuff to do - AND they had to work their reports. 

Sprint and the Professor kept their devs working on their project work.

All was well.

I started writing up things for our devs to do, a lot of Arwafn was stuff people had been asking for for ages, so writing requirements for it was a lot like transcribing our customer's broken dreams.

For the love of God, give us an Arwafn that works!

Doesn't take a genius to write specs for that feature.
1) Make an Arwafn report that works.  
2) Also, make it not suck.
I write these up - give it to the devs, aaaaand - they pause.

They hem. They haw. 

The existing Arwafn is not in our code base. 

Ramping up for my Arwafn work will take time. They will do it, but all my work is the same to them: Stuff they cannot start now.

The Devs are hungry for work, and my stuff doesn't help them. Runner's still ramping up to make stuff, Noddy's stuff is all they have.

And... Noddy's stuff is pretty thin gruel. 

I mean, we work in two week sprints, so you don't give a dev a slab of work that takes more than fourteen days. But still... 

Noddy writes up stuff like "add a value to a dropdown menu," or "change this text label." These are things that need to be done, but if I was writing up the work, I'd do a bunch in an afternoon and move on to real work.

I'm sure the devs think of them the same way. Developing even simple things takes longer than you'd think - particularly if you do it well, and our Devs are awesome.  So, I can't help but think they are uninspired by the work they are getting.

But Noddy's the only one giving them stuff they can do, and they're on two other projects. Runner and I need to step up.

Runner connects with our Subject Matter Experts, and starts getting a list of things that need to get better in report-land. This is something I'm bad at as a noob. I have all kinds of research materials at my disposal, my first inclination is to use them - not schedule a conference call.

Runner does the right thing - they get the SME's on the phone and Noddy shows us the ropes on Nerdhaven's version of virtual meetings.

Aside: Virtual meetings suuuuuuuuuck.

But Noddy shows us how to record our sessions so we don't miss stuff, and facilitates the introductions to the SMEs and generally gets us rolling. I spend the entire call waiting for someone to talk about Arwafn, and I don't think anyone did. 

Afterwords, Runner reviews the recording and writes up a summary/partial transcript with timestamps. At the time we're both looking for guidance for what we should be doing and Runner's wondering if they're wasting their time with the transcript. They send it to me and Noddy for review and I forward my edits. 

Noddy never forwards any edits. To Noddy, this is a waste of time.

I believe this is not a waste of time.

We had a session full of good info, but all of it was stored in our fragmented memories - and a video recording. 

Months from now, when someone asks what we came up with in the meeting, we'll all have forgotten the call and we'll be left with the video. 

A two hour video.

PRO TIP: You cannot skim video.

If we wanted to know what was in that file, it would take 2 hours. And if we didn't write anything down when we watched it, we'd have the same problem a month later.

This, I learned, from Sensei. 

Sensei wrote up notes on some conference calls that saved me a ton of time. A summary I can skim and learn "This two hour video is all about reports." If I want more, I can read in detail, or (last resort) watch the video.

Moral: Write the damn notes. If you never find a use for them, someone will.

Also: Thanks, Sensei.

Anyway, our Devs are starving for work. Our team lead, BigDog, is trying to be patient, but wants us to give his devs work.

Soon.

I write up more stuff for Arwafn. Because it's what I've been told to do. The other UX folks are going to land stuff soon, and after those are done - the devs can take my stuff.

Noddy lands a few more appetizers, but nothing resembling real work. The devs sigh, but when all you have is fritos, you eat the fritos.

Fast forward a sprint. 

We're reviewing work for the devs and I proudly call up my specs for more Arwafn stuff. BigDog is straining to be nice, but they can't eat Arwafn yet.  I've got a seven course meal of inedible.

I feel like I've let the BigDog down. I go to UXDir and ask if there are things I can give our devs to work on that they can do right now. They aren't on our goal list, but there are literally a *ton* of things we could improve in our UI.

UXDir is polite, but firm. "No."

Noddy is no help. This time around, they don't even have appetizers.

What we end up with is pretty much a typo correction: Remove Reports 1 & 2.

Dead simple features. Not even features, really. Delete some things. Whoo...

Dev's gotta eat...

So, we're deleting Reports 1 & 2.  Maybe a hour of code time for each. Twice that to make sure nothing else got broken in the process.

But it's a joke of an iteration. Devs are meeting to figure out how to spool up for Arwafn work and a bunch of other things we have in the pipeline - but when we show our clients what we've been doing lately, we should expect a yawn.

At Nerdhaven, we do Agile - and Agile means you stand in front of your work and show your clients what you've been up to. When you land big slabs of awesome, you and your team look awesome.

When you take a bow in front of a heap of nothing - you and your team look stupid.

Agile is about forcing that realization upon people and using it as motivation.

We don't want to look stupid, ergo, we will get our sh!t together.



Yesterday, we took our bow in front of nothing. Noddy was the MC, and tried to put the best spin on it they could. "We'll have you out of here in two minutes, end to end."

Noddy shows the clients that - in the past two weeks - a room of highly-paid professionals has succeeded in deleting two reports.

And then things go wrong. And not in the way you'd think they would. Our SMEs are on the conference call asking why in the hell we've deleted Reports 1 & 2. 

Noddy's ready with the pat answer, "Reports 1 & 2 have been replaced by newer reports and are no longer needed."

I vaguely remember this, and something about having never removed the old reports. We were just fixing this. Why was this a question?

I'm almost relieved no one is giving us the business about the scant offerings, but the SMEs aren't done.

"Reports 1 & 2 have functionality that do not exist in the newer reports. Why did you get rid of them?"

Noddy mentions the earlier meeting with the SMEs about reports. "We'd agreed we could get rid of these reports. But if you need them back, we can certainly roll back the changes."

QA weighs in - Reports 1 & 2 have some benchmarks that are unique. 

This is news to Noddy. 
This is news to me - I paid no attention to these stories. I'm the Arwafn guy. I know nothing about Reports 1 & 2.
All three UXers in the room look dumbfounded. 

In front of the clients.

Awesome.

Noddy assures everyone that the SMEs had agreed to this change, but we can revisit the decision.

We end the meeting promising to follow up with the SMEs.

Back in the room. BigDog has had it. He gives Noddy an earful "I can accept that the reports need to come back, I can accept that we made a mistake. What I can't accept is that we're at showcase and DON'T KNOW WHY WE DID THIS WORK?"

There is no argument. BigDog is completely right. We work up ways to check on this sort of thing. The SMEs have changed their minds since we talked - and now they want their report back. We should be ready to confront them with evidence of their reversal. We should not sit silent while they ask why we did what they asked.

Product shows up and catches the tail end of BigDog's rant. Product is clearly displeased that the SMEs are pointing us in different directions.

Product is clear: Sort this out.

Later that day. Runner and I are hashing out what happened. Runner points out that removing Reports 1 & 2 was their feature, but Noddy pushed it to the devs. Runner is just sick that people think they pushed bad work.

Runner had some doubts about it, but Noddy said it was ready. So it went. 

It was a simple task: Remove Reports 1 & 2. Not like there was a lot to review.

But Runner's pointing out there was a whole meeting about those reports. And it was recorded. And Runner transcribed it. 

The SMEs asking questions today has Runner remembering that we were  supposed to migrate stuff out of Reports 1 & 2 before we blew them away. 

Runner's worried. BigDog is pissed - and BigDog knows this feature was written by Runner. And we all should have caught this, but Noddy shouldn't have given Runner's story to the devs. 

I tell Runner I'll talk to BigDog. If this story comes from Runner, it's going to sound like Runner's shirking blame. Runner's not like that, but they don't want soak up all the fail on this.

I talk to BigDog and lay it out. This is a UX fail, not a dev fail - but Noddy moved somebody else's work without knowing it was ready. We should have stopped them, but no way this is Runner's thing.

BigDog nods like I'm telling him something he already knows.



Today.

I'm rolling in around noon - little e was sick - and I meet Noddy in the hall.

They're like "That call with the SME's on the reports, that was recorded?" Or words to that effect. I was out of it. But it was odd that they were asking about this, first thing, in the hall.

I'm like, "Yeah. We recorded it."

Noddy starts talking about it being a two hour recording, and grumbling about how hard it would be to listen to the whole thing. They said something like they'd started to, but it was just too much of a pain...

I kill that noise.

"You could just read the transcript." I am so glad I talked with Runner yesterday.  "Runner wrote the whole thing up and sent it around for edits, remember?" I bet you don't.

Noddy leaves and I hit my desk.

BigDog is on me soon as I get my coat off. He wants to know the details on the Report discussion we had with the SMEs.

This is a thing.

I find the transcript, CTRL-F for the report names.

It is dead obvious that the SMEs are right. The transcript has them asking us to move the features out of Reports 1 & 2 and afterwards we can delete them.

Five seconds to the answer.

I spend five minutes scrubbing to the matching part of the video file to listen and make certain.

Noddy told them they'd agreed to remove the Reports. 

He was mistaken, or he lied.

I give the information to BigDog who begins digging into it immediately.

The day is a blur of catching up from missing the morning, but finally we arrive at the moment that made me write this.

I'm talking to BigDog after a long meeting with Runner. Noddy's talking to one of the SMEs on the phone.

He's saying "Well, we had a new BA."

I'm like: No way I heard that right. 

BigDog and I are cross talking about something funny. BigDog is either hilarious or fascinating on pretty much any subject he wants to be.

I'm trying to keep up with him, but I keep hearing Noddy's cross talk.

Noddy is blaming Runner.

I sit straight up and look right at Noddy, but it has no effect. Noddy wraps it up and before I can think to say anything, BigDog is all over Noddy.

"I heard you talking to the SME, and you said some things that were not true."

BigDog's been tracking the conversation longer than I have and he's going after what Noddy told the SMEs in our showcase.

Noddy starts out with his "its in a two hour recording-"

BigDog takes him out at the knees. "I've read the transcript. I listened to the 20 minutes where you were discussing these reports."

Noddy keeps weaving, shifts to saying it was Runner's story.

BigDog calls up the audit trail. "You pushed it to 'ready for dev.' There's your name, right there." 

And finally, Noddy shifts to the position he should have started with - shared blame. 

"We missed it."

Which is just another floor down in Noddy's house of bullsh!t, but closer to a professional truth. UX gave Dev specs that should not have been coded. 

At this point, I should pile on with BigDog, stick a fork in Noddy. 

But I don't.

BigDog did the right thing, the hard thing. He stuck it to Noddy over the BS line to the SMEs.
About pretending it was all on Runner.

I did the easy thing. Said something magnanimous about making sure any new features pushed to dev have been agreed on by UX. But that's shit. Noddy was part of a mistake the team had to eat. Instead of owning up to that, he tried to lie his way out of it, then blame it on Runner.

He's a weasel.

And there was a right thing to say right then and I didn't.



Which is why I'm writing this post. This post is my promise into the void that I will not let this slide. 

Noddy and I are going to discuss this - and I am going to say what's on my mind.

My team is a good one and they deserve better. 

From Noddy - and from me.

Wednesday, March 26, 2014

A Letter For George

I wrote this story about ten years ago.
At the time, it was a curiosity - a mystery, even. I've said before, I'm stubborn.
But I think this story has me beat.

Apologies to those who've heard this chapter before, but this time around - there will be new chapters.

For most of my family, the story began with an envelope that arrived sometime before 1965.



It was an unremarkable envelope, and it arrived at my grandparent's home while my grandfather George was away. It was addressed to him, but it was my grandmother who opened it. There was a Lancaster postmark, and the return address was from a hospital she'd never heard of.

Within moments of reading it, my grandmother was in hysterics.

The letter was from a physician. He seemed to be asking for permission to amputate George’s leg. This was necessary, the doctor explained, because George was not fit to make such decisions on his own.

Her husband worked on a train - had there been an accident? She frantically called coworkers and friends. No, they assured her, there had been no accident on the train. Even if there were - they certainly wouldn't notify the family by mail. George should be home on schedule, and everything should sort itself out.

Which left my grandmother at home staring at the clock and wondering; Why was it addressed to George? Was this all a mistake?

George did arrive on schedule, unharmed. When his wife confronted him with the letter, his response was indirect: “My God, he's still alive."

Who?

"My father."

And that was all he'd say. The letter's existence was only enough to pry out the necessary detail that George and his father shared a first name. After that, all questions were met with a gruff, "leave it alone."

The letter vanished, presumably signed and returned. Somewhere in Lancaster, a man no one knew lost his leg. There would be one more letter, years later. Grandpa George would read that one in private.



In all the memories of my grandfather, I can remember only one utterance about his father. "He said he was from Georgia. White Russia." He had said it like he was unsure -and wished he wasn't. I never asked him why he hadn't just asked his dad to be certain, it just didn't occur to me.

A lot never occurred to me back then. I also never wondered about why I had a grandfather with a surname shared by none of my great-grandparents. I was a kid, and had no interest in old people with funny names.



My early memories of Grandpa George were simple.

He was a mountain of a man with a booming voice. He was the kind of person who would do anything for you if he liked you, but he gave off vibes that told you not to ask for much. Truth was, I was afraid of him for a long time.

He was a history buff. He loved hearing a good story as much as telling one - so long as it was true. He had no use for fiction. Grandpa had an elephantine memory for battles and their generals, and he could put you right in the middle of whatever battle he was describing.

He loved firearms, and had a gun collection that was modest in size, but had no peer when it came to maintenance. Nobody had cleaner guns than Grandpa George. He'd take one out for just a minute, then clean it for ten before putting it back. We used to joke that grandpa liked cleaning guns more than shooting them.

I spent a lot of time watching grandpa clean his guns. That, and listening to everything grandpa knew about gun safety - grandpa was nuts about gun safety.

He was of course, much more than that. But I was a kid with simple questions and simple views. By the time my questions actually meant something, the time to ask them had passed.



Over time, I learned little else about my Great-grandfather. Mostly from how people said something about him, rather than what words they'd chosen. "Oh, yeah..." they'd say, "he left when grandpa was young."

It was in college that my curiosity finally connected the dots on why my great-grandmother didn’t share Grandpa George’s last name; she'd remarried. A fact that everyone knew, but one that somehow managed to elude me for more than two decades. Of course she'd remarried, her husband had left her. 

Asked and answered.



Not too long ago, some other peoples' memories finally came bubbling to the surface. They were from George's sister Francie, by way of my mother. Before she died, Francie had told my mother a little about George Sr.

"Our father had a terrible temper," she'd told my mother, "just terrible."

It seems that George Sr. also had a modest collection of guns, and also kept them in near-immaculate condition. One day when my grandfather was around ten years old, he took one of his father's guns without permission and went shooting out in the woods. Once he was done, he snuck it back into his father's gun case and never said a word.

Of course, he'd put them back dirty.

It's easy to imagine what happened next. The father comes home and notices that someone has been using his guns. He confronts his son, who - being a kid - denies everything. Then he shows George Jr. the proof: dirt and residue on rifles that are always clean.

Then, according to Francie, George Sr. proceeded to beat his son.

Francie was a kind soul, so she called it a beating. But beating is far too small a word for what my great-grandfather did to his son that night.

I should point out that unless some ancient police report surfaces, there is no way to know what occurred with any certainty. All who were there are now dead. However, the two facts I have pretty much tell the story.

After that night - my great-grandmother gathered her children and left her husband forever. Because of what he did, my great-grandfather was put into a state mental hospital, where he spent the rest of his life.

It was this hospital that sent my grandfather the letter all those years later.



One other memory from my childhood comes back to me now. There was a time when my grandfather kept a pistol in his nightstand. Being a kid, it took no time at all for me to find it, and only one or two days for me to build up the nerve to actually pick it up.

It was, oddly enough, at a time when my parents and uncles were in the next room. I had figured they were too busy to worry about me, and anyway - I wanted to pick up the pistol.

It was a Browning 9mm, your classic movie pistol, and it was impressive. Aping what I had seen on TV, I gripped it and pulled the slide back-

-and watched a live round slide halfway out of the side of the gun, jamming it open.

I was dead. I knew it, I was too terrified to let the slide go back, because any slip could make the gun go off. Even if I managed to clear the jam, I'd have to take a bullet out of the gun and grandpa would know.

Kid logic exhausted, I gave up. I set down the pistol and went to my grandpa and told him to follow me.

As I entered his room with him behind me, I could just see it coming. I'd let him down. Everything he'd shown me, everything he taught me, I'd blown it, and he was going to hit the roof. He'd start with, "NEVER pick up a gun without an adult!!" and then my parents and everyone would come in and join in, and my life would be over.

But he didn't.

He cleared the jam, put the pistol away, and said "Forget about it. I've forgotten about it already." Then he pushed me out of the room. I couldn't believe it. He didn't punish me, he didn't even yell.

He got rid of the pistol after that, but he never brought that day up again - or told anyone about it - and I never understood.

I think I do now.

...

Thursday, November 21, 2013

Agile in All Caps

I'm a few days into the new gig, and I've already reverted to CorpMode.

Item one: the parking ramp. Headlights on ("For safety!") and then I'm crumping my way up the levels to find my slot. As ever, the nearest slots are reserved for people who are never there. Then there's a host of open slots I could park in, but are clearly poor choices because the early crowd passed them over.

It's all about proximity to the building, and with the ground floor reserved or taken - the sweet spot for all other levels becomes anything next to the main stairwell. Which is completely socked in by the early crowd. I'm in the second wave, so my choices will always be far corner or go up a level. None of which is a big deal - it's just funny how ubiquitous the parking logic is. If there's a ramp - this is how it is.

Funnier still, is how fast I've started forgetting where I parked. Which I'm sure isn't helped by age - but my current theory is based on Minority Report. In a typical day, I add 2 car parking memories:
Arrive in the morning AM 1.
Arrive after lunch/errands PM 2.
Two nearly identical memories layered onto my brain. Each day. 

1 - in the morning:
Drive into ramp. AM
Park car. AM
Get gear. AM
Walk to stairwell. AM
Enter building. AM
Done. AM

and 2 - returning from lunch:
Drive into ramp. PM
Park car. PM
Get gear. PM
Walk to stairwell. PM
Enter building. PM
Done. PM

Neither is particularly exciting. Commute = BORING. So the part of my brain that is responsible for tracking things for later use starts phoning it in. Which means at the end of the day, I ask my brain "where's the car?" and it coughs up:

Drive into ramp. PM
Park car. AM
Get gear. PM
Walk to stairwell. AM
Enter building. PM
Done. PM

-which results in me heading down the ramp to where my car was in the morning - and about midway down the ramp and not seeing my car I start looking around like a lost sheep.

And on the half visible level that is ramping up away from mine - I make out my license plates on a car that looks exactly like mine.

The number of times this happened back at CorpWorld was... well, humiliating. I spent serious time looking for a car only to realize I was in the wrong parking ramp. CorpWorld had two and if I was running late I would sometimes park in the A ramp - creating an A ramp memory that was utterly drowned out by thousands of B ramp parking memories. 

Where the F$#* is my car???

And you know it's your brain letting you down - not even a desperate thief would steal my car - but asking for today's parking memory just returns a "Drive into ramp B" highlight reel.

Thanks, brain. Way to go.

And here I am doing that again.

Only this time it's at my new Corporate gig - a place I'll call NerdHaven.

I should call it HighCeilings - because - well, DAMN they have some stupid high ceilings in this place. I mean, I'm not a terrifically tall person, but I'm used to being able to touch the ceiling if I try.

At NerdHaven? Not a chance. If I stood on a chair, maybe - but I'd probably have to jump. I'm thinking if all the floors in this building were made normal, they'd have room for at least two more floors without changing the height of the building.

And the doors are massive, too. Part of the school of design that says "OUR SH!T IS BIGGER THAN YOURS, FEAR US."

Oh, they'd never write that in the building's MLS, - but that's totally what they mean.

HEAVY doorknobs.
SOLID framing.
Carpet that says, Yeah, we could have bought cheap and durable - but then we thought 'Nah, blow another thirty grand. Why not? Who wants some sushi?

CorpWorld was a marvel - but NerdHaven has all the bling, plus style and attitude. These guys know they are cool. New guys wear khakis, the veterans wear jeans and tee shirts - with logos on them. I'm not sure the rank and file can get away with that yet, and there's more than a little of the "Yeah? I know this is borderline - but who's gonna get big about it, you? Yeah, I *thought* so."

 The first day was a trip. I buzz in and get some random soul who lets me in on my say so. "I'm starting work here today." Bzzzz! And in.

I meet a random staffer who immediately hands me over to tech support.

Mental note: NerdHaven does not have reception. You cannot call the operator, because there isn't one. You either know the extension you need - or you don't get anyone.

Tech support is ably represented by OneLetter - a football jersey wearing, easygoing breath of fresh air who is also in charge of making sure your slice of NerdHaven tech is up and running.

OneLetter gives me the nickel tour, points out the break room where coffee, tea, juice and soda are all complimentary.

They have a pizza oven.

While my brain is digesting that fact, One Letter scans me through a door into yet another massively tall hallway, another secure door and into my future project room.

It is immediately clear that Agile is the name of the game here.

*     *     *

At CorpWorld, we used to do Agile software development. As anyone in tech knows, there are many, many flavors of Agile.

CorpWorld's flavor went something like this: Someone in management heard that the there was this newnewthing called Agile (that had been around since the 90s) and we should probably have some of that.

Years later, project teams were formed to capitalize on this "emerging" trend - and my last big project was created to pilot its use at CorpWorld. We would do heavyweight waterfall development, but we would sit near each other and stand up for a half an hour each morning to "scrum."

In the eyes of the higher ups, this made us Agile.

I did straight waterfall projects for years before this and I never saw more documentation than when CorpWorld shifted to Agile. We did version-controlled user stories in Excel spreadsheets - stored on Sharepoint. I did mockups in Axure, took screenshots of them and then pasted them into Excel.

It was horrible, but eventually it became normal. I switched to Visio - which I thought made it less terrible, but thinking back - it was a giant bundle of insane. We should have abandoned the spreadsheets after the first sprint and done something, anything else - but the CorpWorld train was all about soldiering on, cost and reason be damned.

There were advances from the typical CorpWorld approach - it must be said. Their "Agile" approach had two genuine improvements - co-location and the scrums.

Co-location was the slow burn win for CorpWorld. A company that large is always going to have communication issues - but departmental fault lines had become so pervasive that any cross department effort was virtually hamstrung from the outset.

Departments grew insular - Why are you bothering us? was the typical first response, followed almost immediately by We like things they way they are.

Even with funding and the support of management, getting cooperation was frequently a nightmare. A unit might request endless meetings to discuss and revise baselined requirements. Or they might just be so slow to respond you'd give up and move on to someone else.

Or initial cooperation would turn into obstinacy when management wasn't around. Name a disfunction, CorpWorld had it.

But with co-location - all (well, most of) the resources your project needed were allocated full time. You weren't pleading with a group of developers in some other wing of the building, you were pleading with a group of developers right next to your desk.

My last project, we had analysts, testers, devs, and managers all in one big huddle of desks. You worked right next to them. There was none of this "I'm too busy right now to get to that, I'll get it to you in two weeks" crap. Whoever was asking for something could look over at you and see damn well you were screwing around on YouTube and give you grief about it.

Co-location was a big shift in how CorpWorld worked.

So were the scrums.

I know a lot of the people on my team hated the scrums. I did - off and on - but they did something that Atul Gawande's Checklist Manifesto crystalized for me. The book described a pre-surgery checklist with an item that seemed laughably basic: "the surgical team should learn each other's names before beginning the procedure."

Gawande points out that a surgical team frequently won't know each other's name - and this mental distance will make them less likely to contribute to the team. If I don't know anyone - I will speak less, I will ask for help less and - crucially - I will be less likely to intervene when I see a colleague do something questionable.

Our scrums forced our team to talk to one another. With zero practice or guidance, we were terrible. Most of us would blather on about this or that or make small talk or jokes until it was somebody else's turn. I can recall spending a good amount of time trying to come up with something to say that sounded useful - even if the truth was I hadn't done a whole hell of a lot.

This was defeating the larger purpose of the scrums - make yourself accountable to the team, make useful connections, and commit to units of work. Our managers used to stand in and listen in the beginning, but they were soon bored and stopped coming.

But there was another win there all the same. I learned who my teammates were. What they worked on - what kind of a person they were. In prior projects, people were resources- representatives of a given discipline like architecture - and they were the go between for a slew of people you'd never meet. "I have a question about this integration, who do I meet with?" Your architect rep wouldn't know, but they'd look into it. And another week would go by.

With scrums, you knew who to go to.
I have an integration problem - I go to Zero.
Anything with the proxy? - it's Lion.
System design? Rico Suave.
Main code base? Alpha, or more likely, Ace.
Main requirements? The Builder, Spock, or The Machine.

And so on.

At CorpWorld, this was a very new thing. Yeah, you had a contact list like that for other projects, but you didn't know those people - and they sure as hell didn't know you.

After months of the scrums - nobody was afraid to talk to anyone in the group. Well, plenty of people were afraid to talk to Alpha, but that's why everyone went to Ace.

We worked together. It was slow, it was awkward - and it sure as hell wasn't Agile, but we managed to release a solid app into the wild.

Because, in the end, we were a team.

*     *     *

NerdHaven does Agile. The full blown affair - and while there are definite risks to the Agile approach, watching someone actually do all the things my CorpWorld team missed out on...

Well, its a hell of a thing to see.

We are all in a single project room. Co-located cheek by jowl in the way that says "if you're screwing around, everyone will know." So, you don't screw around, at least, not without the group buying in.

There are team rules. You don't talk on the phone in the project room - unless it's a conference call for the team. Any time somebody needs quiet, there's a STFU indicator on the wall they can set so that everyone knows that loud time is over. No shout downs, no calling management - just a mutual understanding that anyone has the right to muzzle the room if they need it.

Respect.

That's what this depends on. Done badly, this could be a bunch of rules enforced by some managerial type - which would suck. But in this team environment - we're pretty much our own law so long as the velocity is good.

Build it on time - and you get to rule your own room without interference.

And the group looks to be pretty solid. By unspoken assent, the leader of the group is BigDog - an immensely capable coder who has passed that point where they need to scrap for respect. You listen to the BigDog, because the BigDog knows things. And they're not a jerk about it. I listened to the BigDog read out the prime directive of our team - a really mature statement of "we are all doing the best we can with what we know at the time" - and I really think this is how they see it.  Be up front, and expect your team members to be the same.

If you get to a point where you suspect your team members of malicious intent then you're part of the problem. You should be calling them out with direct questions and learning what is up - not holding back and inventing malicious intent to fill in the resulting gap. Don't wonder - ASK.

Today I watched the retrospective and planning session and there were a lot of familiar moments that were just done better than we'd ever done at CorpWorld.

The team share out was a case in point - a quick icebreaker with the stated purpose of "once you've spoken to the group, you're more likely to contribute later. So speak now, even if it's something stupid. There is value in this."

And there was. I barely know my group, but a few minutes in and we're picking a team nickname and poking fun of each other's choice of animal totems. And later, when it comes time to share work info - everyone is involved. Method to the madness - realized.

I can see lots of macro mistakes to Agile - chunking everything into tiny bits can allow for a lot of big picture goofs - and (as I am now seeing) a ton of inconsistent UI - but this is part of why they brought me here. To work on that. The team needed something, so they asked for it. And management made it happen.

Seeing stuff like that happen in such a short span of time is disorienting for a veteran of CorpWorld. I'm sure there will be a massive amount of adjusting on my part.

But, honestly?

Kinda looking forward to it.

And free coffee definitely helps.

Friday, November 15, 2013

Last One Out, Close the Door

Back when I was in CorpWorld, Ruby called a meeting.

Ruby was about to be let go, but was good with it. They'd had an opportunity come up that they could take only if CorpWorld would let them go.

Almost on cue, Smiler lowered the boom on them. I'd have loved to be inside Ruby's head when they got the news they were free.

I'd imagine some kind of dramatic scene, but these things were handled remotely - by staffing companies.

Ruby probably did a victory lap anyway, and then settled down to be a pro. They wound down all their project work and - since they were part of a now extinct wing of the UX group - they handed over the keys to all the testing and legacy UX files.

Which was what the meeting was about.

Stimpy and I were given access to a raft of directories containing the blood, sweat and grief of a bunch of people who'd been canned - or were about to be.

Ruby guided us through what the files had been - but basically threw up their hands. "There's no one to keep these files anymore." 

The UX group had websites - detailing standards and design patterns - that were seriously good. These used to be maintained by at least four people. Ruby had been the lone caretaker.

Now the files were passing to Stimpy and I, and the fact that neither of us had the dev skills to maintain them was the small issue. The real problem was neither of us could get buckets - nobody would pay us to do the work. 

The three of us were sitting there in the room realizing that the bulk of the UX group's work product was sitting idle and aging into irrelevance. None of us had any illusions that this handoff of files would change their fate. These files were going to get archived - then deleted. We were just changing their "notify next of kin" data.

After the meeting, I spent some time poring over the files. I tried to remove the clearly unneeded files - maybe a smaller overall file size would help save the archive - but there was just a staggering amount of subdirectories. I moved around a few things - and then I renamed the parent directory.

I called it 
/Last one out close the door/ 
And I was.


*     *     *

Today was a strange sort of encore, although for very different reasons.

Last time, I was leaving CorpWorld. 

This time, I was going back.

And while I truly feel I've made the right choice, I can't say there aren't a host of regrets.

My colleagues at this gig are an odd bunch. 

BigMac is my favorite. A veteran engineer - loud and unabashed about everything. Days when BigMac was out were the loneliest days at this job.

BankVet was great, too - but they were all the way at the end of the hall and didn't seek out a lot of conversation. If you had a reason to chat with them - the chatting was good - but there were days I'd come to the office - do my stuff and never see another soul.

Which is why I was on Twitter so damn much. I've come to realize that a certain amount of social behavior is required to keep my mood up. At CorpWorld there was no escaping other people. It could be isolating, true. But you would always be dragged in front of your peers. My requirement meetings would always devolve into a good amount of shooting the bull.

Getting to yuk it up with the group doesn't seem important until you find yourself truly isolated.

At the MacShop, the IS group is based in a secured wing of the basement. Each team member has their own office - with doors that lock. Most of the doors sit open - but nobody other than BigMac ever comes out. 

SilentOne spends the entire workday in their office with the lights off. Standing. You can just see their eyes over their monitor. They are nice enough, but the overall appearance is not welcoming.

BankVet's office is lit, but they are either in it or off at a remote site. 

The Prospector's door is always closed. No one knows what they are up to. When I asked BankVet what Prospector does, they replied "Hopefully... nothing."

Morlock's office is outside of the secured wing, owing partly to a desire for a larger office - but no doubt because there is a lot of bad blood between Morlock and the rest of IS.
Morlock comes in after lunch and works well into the night. Communication with Morlock is on their terms and can obliterate your schedule once it starts. 

Morlock. 
Cannot.
Summarize.

Truth? If I had a lot to do, I tried to avoid them. A simple "Hello" could turn into a three hour encounter.

And then there was the Boss. I like the Boss. A lot. But they are almost never around and there is no way that I've found to track their schedule. They show up like weather. Which led to some odd dynamics - the IS group would swarm on them with every deferred need they'd stored up over the past week. And then - poof! - they'd be gone again.

All of this added up to a lot of alone time. Time I should have used to do development work. The Boss asked me to do a single development project during my tenure. And while I'd been assured that nobody would push me to get it done in a hurry - I surely was behind schedule.

Getting the new Corporate gig forced me into the deep end. I couldn't let the Boss down on this. So I would try to learn a host of things I knew very little about.

Like Unix.

The Boss had asked me to do a relatively simple thing like automate some file transfers between a brace of servers. But to a UX guy, this is like asking me to build a bridge. I'd taken exactly the wrong approach - which was to be SERIOUS.

I would buy books and learn about Perl. I would buy a book about shell scripting. I would read them methodically so that I would understand the subject before I just waded in and did something stupid.

From the outside, Unix is a sick beast. A cryptic landscape of /bin/ and grep and awk. 
Read the man page!
Seriously, anytime I see that on a 'nix help forum I want to kick somebody's teeth in. Save your smug RTFM BS for your wargaming buddies, kay?

Man pages are crap. As in 
Here is every possible option for this command explained as tersely as possible. You will never need 95% of these options, but read them all anyway and try to guess which 5% are worth knowing.
Let's begin. 
Command [filename] [option1] [flags] [location] [underlined text] [pointless elipses]
And so on.

YES. Once you know what you need from a command or why the hell you would use it over some other command, then the man pages are invaluable. Does the flag get set by default? And was it Capital R or lowercase r?  These are things man pages help you with.

How will I parse out my log file? is not something a man page can help you with. Man pages are not for people starting from zero.

Me? zero - rather:

ZERO.

But I'd tried to grok the whole of these kinds of things before starting. Read an entire chapter about grep before having the slightest idea what I would be grepping. This was worse than man pages. These were man CHAPTERS - and knowing exactly nothing about what I needed - getting hooked up to the how-to firehose was paralyzing me.

With three weeks before I left the job, I was forced to plunge in and start scripting.

Which is what I should have done in the first place. Once you have some bits that do something, it becomes easier (at least for me) to see what other bits I should reach for next.

And I had spend a bunch of time defining the problem - requirements analysis was my thang. Now, I just had to search for the commands and syntax that would make those things happen.

If I were cooking - this would be getting my ingredients together. What I had been doing before was like trying to make tonight's steak dinner by reading books about animal husbandry.

I'd stupidly tried Perl first - which is a fine choice, but required a lot more rampup - and had the added danger of being Morlock's language of preference. If Morlock would bend your ear for two hours about how you should be doing a home improvement project you'd mentioned in passing, they would be positively omnipresent when they found out about your perl script.

Shell scripting seemed more approachable and - as it turned out - a hell of a lot of fun. Yeah, it's not true programming, but you can do a truly SICK amount of things with shell scripts.

Next thing I know, I'm grepping like a total dork and getting jazzed on making a multipart email work with an MD5 boundary. Oh yeah, I'm on this... Which I'm sure is hilarious to true unix/linux types. But really-the first time you see your tiny blob of text turn into a perfectly formatted email that arrives in your inbox, you feel like a sorcerer.

But this is Unix, so there is always hidden lore lurking in the wild to make you humble. No two servers are alike - so after I get things working on one machine, I find the other machines turn their noses up at my noble little script. I spend days trying to figure out what kinds of permissions I need to do what, and where this key should be stored and howInGodsName I can get sudo on a remote box when I'm coming over as admin without a password?

CHRIST.

But eventually I wrangle together something that does what I've been asked to do. And none too soon. I'm literally getting the first scheduled use of the update two days before I leave. 

And it works - mostly. So I spend the next day cleaning it up and polishing it.

Which leaves today. My last day.

I'm writing up the instructions so that other people can use this thing. I've had several successful tests, but one thing that MacShop is truly bad at is documenting procedure. Information does not flow freely and each worker is an island.

I want this script of mine to be something people understand and can use. So I spend a stupid amount of time illustrating exactly what people need to do to make it work. Then I have BigMac test it out. Then I revise it because there are all kinds of mistakes.

I'm four hours away from being done with this job, and I need to wrap up everything with a bow. The scripts are done, the documentation is done - I need to get my files cleaned up.

I chuck all my digital cruft. Move all my spreadsheets into common locations so they can be used by the IS group. I zip archives of my scripts (we SO need git) and then I'm doing all the follow up work for the database scripts I ran in the past week. BigMac pops over to say goodbye. They leave in the middle of the afternoon, and their day is done. 

I wish them well. I'll miss them. And not just because they throw chocolate at my head on a daily basis.

Back to the file cleanup. Running low on time. The Boss was going to be back at 3 but they never show up when they say they will. I need to give them my keys and badge. 

I start a checklist.

Timesheet! I need to get my timesheet sent in. I'd managed to get it signed, but forgot to send it in.

Boom, done.

I start the ssh-keygen process for the next stage of this process. Stuff I'll never get to do, but stuff that will help the Boss when they take the next logical step.

And Morlock walks by. I make a point of speaking to them. Yesterday was my goodbye lunch and - naturally - the IS group neglected to invite them. As Morlock is utterly paranoid, this is not only hurtful - but is guaranteed to figure in their next round of calculations about who is out to get them. This was a willful omission by IS - and I should have thought to ask them to come. 

I have failed Morlock. And they are verbose, blunt and hard to deal with - but they deserved better.

I chat them up and soon we are half an hour into a discussion about database record locking. Morlock urges me to put my keys and badge in the Boss's office, and I do. Morlock abruptly wanders off in mid-sentence like they always do. At least I got to shake their hand. 

I'm still thinking about that when I realize SilentOne's door is closed. They went home. BankVet didn't come in today. I guess I made my goodbyes with them at lunch. The Boss sends me a text to tell me they won't be back until after I go home.

Which is sad, but leaves me with a more immediate problem: with my keys and badge locked in the Boss's office - I'm now a prisoner of the secure wing. Every door is now a one-way door.

Packing up is now first priority. I bin all the printouts I'd pointlessly made and kept. All my gear goes into my bag. Coat, scarf, hat - all on the bag. Everything in one place. 

Simplified.

I scour the office three times. Anything I leave behind I won't get back. Just like a hotel. There's always something obvious you forget...

Mostly satisfied, I begin drafting the epic send off email - Here's where I left things. Here's where all my files are. Here's all the things that are done. Here's the one thing that isn't. Here's how that should be handled. It was great working with you.

And it was. The past few weeks have been a whirlwind of learning and doing. Sh!t got done and I made it happen. I'm about as on top of things as I have ever felt at a job. 

Wrapped up in a bow.

I send the email and look up. It's 5:01.

My phone bongs with a text from my Boss. They are great. They thank me for my work and apologize for being absent on my last day. They say a lot of nice things.

It's after quitting time, so the place would be barren anyway - but it's a Friday. So there's double-nobody here. Add to that, the schools are closed - so anybody who was fool enough to think of being here killed that thought weeks ago.

It's dead quiet. I close all my applications, shut down my ginormous iMac monitor, and get my things.

By chance, I notice my name plate - the one I've lugged through three jobs - is still sitting on my shelf. That nagging part of my brain relaxes and I put the name plate in my bag.

Coat, scarf, hat, bag. That's the essential four. The notepad and pens they can have.

I leave the secure wing.

Morlock went out to get food - so the MacShop is quiet as a tomb. The lights are off and I stand there for a while, thinking about the life I could have had at the MacShop. The Boss could surely use the help. 

But idle thoughts aren't doing anything for me. I've done everything they asked me to do here and next week I'll start full time UX work. Rusty or not, here I come. I put in the earbuds and click. 
Leave your past at
   the front door
      and run away like
         you did before...
Blood Red ShoesGo figure. It's got a good riff, anyway.

I'm standing there, looking at the way out of MacShop - thinking the obvious thing.

And I was.

So I did.

Saturday, November 09, 2013

Free Lunch

On Wednesday, April 20th of 2005 my wife and I drove across town to so that a former college football player could tell us how best to manage our money.

Because he brought me lunch.

That was about the extent of our my thought process when it came to money back then.
Anything is better than what I'm currently doing - which is nothing.

E was sweating our finances at the time and had repeatedly made noises about getting a financial professional to have a go at our cash flow and see where we could stop the bleeding.

Aside from wanting to hire a professional who would not be paid on commission ("My advice is to buy all the crap that I sell!"), I had very little idea of what would make for a good choice.

Which is why I ended up picking a football player.

A designer I worked with at the time offered the entire department a free lunch if we listened to a 1 minute spiel about financial planning.

It sounded dumb, but free food is free food. The financial planning guy would pick up food from wherever we wanted and deliver it to us.

I know. Score, right?

Footballer walks in with a stack of food containers. He passes them out along with a single sheet of paper that shows the effect of compounding interest on various amounts of money invested over varying periods of time.

He didn't seem terribly polished, but he was true to his word. He spoke for one minute, told us the fairly obvious fact that investing early and consistently really pays off over the long haul - and then he was gone.

We ate lunch, and afterwords I picked up one of the man's business cards. Perfect timing, right? I mean I'm looking for a financial advisor and one shows up to give me lunch. I called him up and we set up a preliminary meeting.

I got Footballer to lay out the terms of the deal, we'd pay him a flat rate and he'd provide a full review of our finances along with a plan for managing our money going forward. We told him we weren't interested in crazy investment schemes - we're just looking to get a grade on where we were at and look for areas where we should improve our use of what we had.

Footballer said he was totally on board with that, but he had the annoying habit of using pat phrases that seemed laughably simplistic.

As in
Footballer: Would you like to make a lot of money with your retirement investments - or would you like to [store your money in a mattress/get 1% return on your savings/be poked in the eye with a sharp stick]? 
Us: Uh... the 'make a lot of money' one?
We signed a contract and Footballer told us that we could pay when we received our financial plan - and that there was a satisfaction guarantee. "If you don't like the service you receive, let us know and we'll waive the charges."

Which seemed odd. Also, Footballer wanted to take us out to dinner for a "client appreciation night." We could invite other friends, and their meal would also be paid for.

Which also seemed odd.

But again, I figured this was a pretty transparent attempt to get other people to meet with Footballer so that he could sell more financial advice.

Because he was in the business of selling advice. That's why we were paying him.

I should point out at this point that Footballer worked for American Express Financial Advisers Inc.,  currently called Ameriprise.

As in, Yeah, this guy's a football player who brought me free lunch, but he works for American Express - so it must be okay.

With a choice thus justified, we'd dropped off a copy of pretty much all of our personal financial data with him and made the April 20th appointment to get our plan.

Huzzah! A plan! We're buying a financial plan!

We'd arrived at the nondescript office ready to hear the news, good or bad.

After checking in with reception we were greeted by Footballer who looked deathly ill and informed us that we would be meeting with a colleague of his, as he needed to go home and lie down.

I know what you're thinking, but I believed him. He had the look of a man who has just returned from throwing up in the bathroom. We did not shake his hands and let him go.

The meeting we ended up having had only a few memorable bits:

  1. The person we were meeting with had almost no people skills
  2. Our financial plan said we were in pretty good shape financially, but that we needed to buy more insurance.
The bulk of the rest of the meeting (at least, in my memory) was NoPeopleSkills getting us to fill out an application for Variable Universal Life Insurance.

We were not interested in buying any life insurance that didn't begin with the word "term." Because UVL is a terrible investment for just about everyone. NoPeopleSkills seemed to be on rails and E and I just let him roll along until it was time for the meeting to end.

At some point - I can't remember when - Ameriprise suggested that we refinance our home. I know this because while cleaning out the basement the other day I came across the binder they gave us with our "Financial Plan." 

Written on one of the pages are the words "refi, 3-5 yr. ARM."

Understand - this was in 2005.

We were trying to buy financial advice from a professional. 
We had given them all our private financial data.

-and the sum of their advice was "Buy universal variable life insurance (from us) and refinance your home into an Adjustable Rate Mortgage."

There was never any chance that E and I were going to go for an ARM, we both sort of nodded our head at this suggestion like "no way in hell" - but it's striking at how shameless that Footballer and NoPeopleSkills were.

E's reminding me that at one point they told us that our home equity line of credit was "like having a savings account."

Mind you, these were people who represented themselves as financial experts. These were people whose expertise we were on contract to pay for.

"Yes, NoPeopleSkills, now that you mention it - I suppose that borrowing money against our home is just like earning interest on money in the bank. Yes. I see that now."

I'll quote Tim Minchin: Oh wait, my mistake [that's] absolute bullsh!t.

E and I left that meeting with an unspoken agreement that Footballer, NoPeopleSkills and American Express/Ameriprise/whoeverTheyWere were full of crap.

We never went back. We've never received a bill, either - not that we'd pay it.

Which only serves to illustrate that Footballer and Ameriprise were never selling advice, they were selling their investment products. So much so, that they couldn't be bothered to even ask for the money we'd agreed to pay them. 

I'm throwing all their crap out of our house (along with - it must be said - a lot of other things) but I wanted to write this down so I can remember how utterly terrible Ameriprise was.

Think back to 2008.

All those people who lost their homes in the wake of the meltdown.
People who saved their shekels in the hopes of buying a home - who then had the misfortune to run into some slick "advisor" who sold them financial ruin.

Makes me ill.

I looked Footballer up on LinkedIn - they left Ameriprise in 2006 and went to work for JPMorgan Chase.

And left JPMorgan in 2008 - right about the time Wall Street was imploding.

They ended up working back at a nonprofit wing of my alma mater - doing youth outreach and promoting academic achievement and healthy living.

*     *     *
Footballer?  
If you were to somehow read this - I'd like to say I genuinely hope you've turned your life around. I see that you went back into banking. 
I hope you've changed your ways. That you give sensible advice and treat your clients honestly. I suppose that's possible. 
But mostly, I'd like you to know we never took any of your advice. That the only reason I kept your financial plan this long was because I wanted a souvenir of my own foolishness. 
But with this blog post, I can have my souvenir and still give your advice what it deserves 
- a long, long overdue trip to the recycle bin.