Category Archives: Surviving Corporate America

Two Sets of Books – Wrong Metaphor

You may have heard folks talk about having two sets of books; usually they say that conspiratorially and with a wink.

Why? Because when you have two sets of books, that means you are deceiving someone. You are literally telling one story to the authority (a false story) and another to yourself, or whomever you want to tell the truth to.

Gangsters have two sets of books. Long haul truckers who don’t like maximum drive hour restrictions (and violate them) have two sets of books.

You get my point. “Two sets of books” is synonymous with deception.

Why am I going on about this? I’ve heard several Agile advocates talk about this idea over the years. Early on, the idea was that management would be hostile to Agile and therefore, for the good of the company (and the team), we should go ahead and keep our Agile information to ourselves and tell management we’re doing something different.

I’ve never been comfortable with that approach.

One aspect of becoming Agile is being transparent, and two sets of books isn’t being transparent. I feel a lot better about telling it like it is, and educating folks about the data we have about progress that they never had before.

There’s a difference, though if one is talking about having a translation available to help guide folks to a new understanding, but that’s not having two sets of books. That’s having one book, with a translation.

So, for me at least, ‘two sets of books’ is a bad metaphor. Be transparent and say what you mean.

Advertisements

It’s Not That Simple..

In a recent post, Tim Ottinger & Jeff Langr gets to the inevitable snap-back point for all agilistas; “KNOCK IT OFF WITH THE TOOLS!” (I’m paraphrasing).

I understand the sentiment, but it’s not that simple.

In cases such as ours, we have heavy regulation, we have auditors, we have distributed employees all over the world.  Heck, it’s hard to find a US-based team that isn’t distributed.  I work from home myself, as do something like 18,000 of my co-workers.

We need tools.  Not one, but several to accommodate different technology platforms.  We need to have a centralized repository of stories and reports, like burn charts, velocity reports, test coverage, etc.  We need all those IDEs and refactoring add-ins and Group Chat clients and virtual pairing stations.  All that stuff.

I get the argument from some of the agile practitioners in our organization, “Look, open source projects have governance and distributed team members and all they use is e-mail and maybe Excel.”

Yes they do.

The key differentiator is that an open source team (even a foundation) is governing only one product, or one suite of products, not thousands or tens of thousands of applications.  Did I mention we have something like 100,000 technology staff?  I’m guessing we have 20-30 thousand developers.  Manage a portfolio like that with e-mail and Excel. 

Good luck.

There is no way that we can afford to send auditors to each team room wherever it might be; it’s just not realistic.  If we’re lucky (and sometimes, we are) we can get the whole project team together for initial story workshops and release planning.  The rest of the time it’s conference calls and LiveMeeting.

So, yeah, if you are working in a small company with a small team, or even a large company with a small suite of custom applications and a few teams of developers, use a whiteboard and a bunch of index cards.  It’s way more fun; I’d do it again in a second..

Reality for me and my co-workers is that we don’t have the luxury of that style of intimacy.

It’s just not that simple..

Support This!

So this morning I was notified that my new MindAlign account was ready to use and "don’t use your Office Communicator account after you install MindAlign."

Oops.

I installed MindAlign the other day when I requested access.

Sure enough, MOC was there running on my desktop, and equally sure enough, all the problems they said might happen did.

Crap.

The FAQ said to call local support to get my account reset – and stop running MOC.

I called local support and went through the usual stuff. Finally after about 30 minutes they asked, "May I take over the desktop and look into it?"

"Why?", I asked. "What are you going to do?"

"Uninstall and reinstall MindAlign.", came the response.

"Okay.", I said suspiciously. "You won’t wreck anything, right?"

"Of course not.", she said.

Famous last words..  Recovering now; or trying to…

You Call Yourself Agile?

We had our monthly Agile Users’ Group meeting today.  Did I say meeting?  What I meant was, announcement.  Or something.  It was a completely one-way affair; from us to them.

I have no idea how many ‘agile’ practitioners were on the line today.  The reason I don’t know is that we don’t take attendance, and very few people speak up.  Most of the time, we have to call someone out by name to get a response to a question. 

I’m beginning to wonder if these folks get what it truly means to be ‘Agile’.

I work in a bank; I know what it means to be frustrated by arcane process rituals that don’t necessarily add value.  There are some obvious ones like High-Level and Low-Level design documents that are only as valuable as the paper they’re written on because the actual running design changes once the rubber meets the road — and the documents never get updated until you are replacing the system at which point they’re useless by definition.

Imagine trying to run a project in an agile way while all the management and governance folks are still using waterfall sensibilities.  You can think of ten ways that this would be frustrating, maybe more than ten.

Apparently, everything is okay in these folks’ environments.  No frustrations, no problems, no areas where they could use a little guidance.

Really?

Maybe it’s just me, but Agile means caring about the work you do, it means changing the way you do things for the betterment of the project.  It means passion!

I’ve never worked on a truly agile team where there weren’t strong opinions about how to change things for the better.  If I offered a ThoughtWorks team 10 slots on a call to improve a process, at least 15 would show up.  That’s what I’m talking about.

For the folks on the call this morning: Ho hum.  Silence.

I fear for our transformation efforts if this is the level of excitement people are feeling.

The only hope I hold in this case is that folks are so beaten down by the waterfall and that they don’t believe (yet) that our team is for real.

We are.

Or that they are cynically using this time to take an hour out of their schedule to do other things; “Sorry, I’m busy between 11:00 and 12:00.”  They put the meeting on and ignore it.  Maybe a combination of the two.

I hope not.

Our team is for real.  We are working the waterfall issues – and succeeding.  We have management behind us.  We need these ‘practitioners’ to get involved.

Wake up guys.  A true Agile project option is coming.

I hope you’ll join us.

What is the Agile Sweet Spot?

An interesting question came to us from an executive sponsor of our initiative: “What is the sweet spot for Agile?”

My initial response was unspoken; “What do you mean, ‘sweet spot’?  Agile is best for all projects!”

Then, I thought better of that response.  He was, after all, an executive sponsor.  Too much passion may be passion, but it’s still too much.

So, I went away with this question in mind, and I’ve been thinking about it pretty much every day ever since.

I saw an article by Tom DeMarco in the IEEE Software magazine, entitled “Software Engineering: An Idea Whose Time Has Come and Gone?”.  In that article, he makes a great point: There are essentially two kinds of projects, ones that have significant value, and ones that have marginal value.

Tom makes the argument that marginal projects require greater control over the lifecycle in order to manage the expense versus the returned value.  Whereas, projects with a greater or more significant value relative to cost require less control.

This sets up a paradoxical situation.  Quoting Tom:

This leads us to the odd conclusion that strict control is something that matters a lot on relatively useless projects and much less on useful projects.

Nice!  That appealed to the elitist agilista in me.  But how was I supposed to go to the executive sponsor and say, “Well, Agile projects should be ‘restricted’ to those projects that matter most.  Use Waterfall for the projects that don’t matter.”?

No way.

But, what did dawn on me was that ‘projects that matter most’ is a good analog for strategic projects.  So what is the opposite of strategic..

I was watching some conference videos this evening, and one that showed on my radar was a talk by Martin Fowler in Australia at the Amplify ‘09 conference.

He makes an excellent case for strategic versus infrastructure.  And he gives the ratio of 80/20 or higher (i.e. 85/15 or 90/10) infrastructure to strategic.

Perfect.

That’s what I’ve been feeling, but didn’t have a way to say it.

Apply Agile to Strategic projects.  Apply Waterfall to Infrastructure projects.

I know.  You’re saying, based on my previous discussion above, that infrastructure doesn’t matter.  That’s not what I’m saying at all.

What  I am saying, echoing Martin’s presentation, is that infrastructure projects are more like commodities; there’s value, but it’s low margin.  And that’s okay.  In fact, we couldn’t do our business without it.

But, if you want bet your business projects to get the most value faster, you need to do it in an Agile way.

And it’s a lot easier to scale 20 percent, or less, of the project portfolio than a higher ratio.  And to get business buy-in and their dedicated time.  And justify cross-functional teams.  And justify co-location.  Etc.

I feel like I have something I can work with to answer the ‘Sweet Spot’ question.

Let me know if you have a counter to this, but I’m feeling pretty optimistic..

Moving on to New Responsibilities

Well, not moving on so much as transferring to a new position.

As of the first of the month I am transferring to an enterprise role in the Bank where it will be my official duty to help drive the adoption of agile processes in the Bank.

I know.  Agile and Bank in the same sentence?

The answer is, “Of course.”

What better methodology to use than one that does the best job (currently) of minimizing risk?

After managing risk, the next most obvious goal is to improve speed to market – we are in a competitive business after all.

Combining the twin goals of risk mitigation and speed to market gives the side-effect of managing the release of vast waves of change across dozens of disparate yet connected software domains.

Sounds like fun to me.

I won’t always (ever?) be able to get into the details of the trials and tribulations of revamping the process implementation, but I’ll do my best to post the play-by-play of the lessons learned as we go.

Keep in touch, it’s going to get interesting…

When is Helping, Hurting? Or, Another Example of Why Handoffs Should Not Be Documents

Sometimes, when you try to help, the outcome is less than desirable.

It’s like helping your kids with their homework.  Helping is one thing; doing it for them is something else entirely.  Sure, their grades are maintained, but at what cost?

The other day, I was working through a negotiation to get a non-standard package approved for use.  The problem was that the negotiation I was doing needs to be done by someone else in the group so that when I leave the group they will have a sense of how to get what they need.

I discussed this briefly with one of my co-workers and agreed to put together a kind of brain-dump email about how to go about the negotiation with some contacts, some suggested points, and some background so that he could do the official negotiation.  I’d already started the back-channel process by letting folks know that something would be coming through and laying an unofficial case.

I should say that I was on a floating holiday yesterday (Independence Day’s on Saturday) so the fact that I was checking my mail was purely by chance, but I received the official notice of the exception application for the non-standard package. 

What!?

My email had specifically said, “Talk to this guy first.” and “Send the license to this guy before you submit.”, etc.

Then I noticed an email to the first guy – after the application was filed – and I thought, “I said, TALK to him.”  I’m sure the license for the other fellow is in the mail too.

The whole point was to talk to the people in my email, get a sense of whether there were objections, and answer those concerns in the application.

Instead, my co-worker simply cut and pasted chunks of my email directly into the application – including some of the discussion points I’d included to help him with the VERBAL negotiations..

This bothers me on at least two levels. 

One is about the state of the organization and management maturity.

My co-worker is a guy further up the food chain from me.  What does that say about the organization’s ability to get what it needs in a larger whole?

I’m afraid that because of the lack of understanding and finesse exhibited by my co-worker, the application will have a tougher time than was necessary.

The other, is that I’m reading a book about reducing waste in processes, and I should know better: Documents as handoffs are a big generator of waste.

Handoffs should be higher bandwidth communication than a simple chat and an email.  So by sending the email, I was delivering a document with lots of content, but very little of the tacit knowledge that I have about the process – who to talk to, and how to talk to them.

What I should have done is say, “Tell you what; when I get back from my trip we’ll sit down in your office and go through the process.  That way, you’ll get to see how these things progress from back-channel discussions, to managing concerns, to the official application.”

Back to my first concern, I’m pretty sure he would’ve insisted he didn’t have time for pairing on a negotiation like that, and to send him an email explaining everything.

It seems like I fumbled the hand-off.  Or maybe I’m a control freak, and everything will be fine.

I guess we’ll see.