Econobonics: orgnertia

I found myself writing about organizational inertia earlier today, and I typed out “orgnertia.” It has a nice ring and conciseness to it.

So, what do you think? Does orgnertia cut the mustard as a word that means:

the resistance a group, company, or organization puts up to change; see status quo and not-invented-here syndrome. E.g., “we’d like to out-source our shipping and receiving and save a few thousand a month, but we’ve got way too much orgnertia to even think about something as grand as that.”

?

The Waste Approach to Explaining Agile

I’m pretty much burned out on reading about Agile software development. I spent 2-3 years rabidly reading about it, and now that we’ve been applying it at The Day Job, I’m more interested in solutions and improvements to specific problems and processes I encounter. So the generalized stuff and platitudes you find out there gets to be repetitive and not immediately applicable.

That aside, I liked this post entitled “Application Integration and Agility (1): Understanding Agility” because it wove together Agile think very tightly with Lean think, e.g.:

[T]he core of waste in software comes from the traditional approaches to project management.

[As one example:] Tighter scope controls convert the “change control boards” into change prevention boards. And oftentimes teams deliver “to the scope” and not to the real business need, producing useless products that need substantial time to be augmented with functionality that is actually needed.

That is, adding extra process to slow down change can be wasteful because it produced software that (a.) the customer doesn’t want and, worse, (b.) that requires lots of work to make worthwhile.

The first items is the core of what it means to be Lean: you produce only what the customer wants. While the second is a consequence of what you might call The Grand Mistake of Agile Software Development Practitioners: the sense of immediacy and minimalism in delivering “only what the customer wants” often causes you to create software that is not flexible, nor easy to change.


“But there are also unknown unknowns, the ones we don’t know we don’t know.”

That is, despite what the phrase “deliver only what the customer wants” seems to imply, you do need to think of the future: customers always want more, and they want their software to be quickly modifiable to get that more. They just don’t know they want that until it’s too late. Part of being a good software developer — or any service job — is giving the customer what they don’t know they want. Put another way: the customer is rarely 100% right or complete, where “complete” means “can give you a list of every single thing they want.”

Small Groups in One Room

At the moment, my cure-all for all woes of applying Agile boils down to the well-worn Agile precept: small groups of people, all jammed into one room have the best chance, out of all project management strategies, of creating great software. Really, this practice is what you might call a “theory grandchild” of my favorite project management “law,” Conway’s Law, the conclusions of which point towards having as little hierarchy and lines of communication as possible…assuming you want to produce simple, elegant software. (As an aside, those two things are easy to loose track of when you focus on the naive understanding of “deliver only what the customer wants.”)

Sadly, the legacy world of plan-driven, people-heavy, product-based/shrink-wrap software we exist in is effectively anathema to small groups of people in one room. It’s an odd thing that.

Again With the Google!

As an industry, our prime hope is that The People Who Decide start looking to Google as a successful, new way of doing software development. If old GOOG can stay in the $100′s long enough, it just might stick. Otherwise, it’ll just be a flash in the pan, and we’ll stick with the boring, wasteful ways of developing software. Customers will continue to be “happy” because nothing better exists. The bears will dance!

(With Yahoo!’s last few acquisitions and partnerships with small software development shops, the old Y! might be a beacon of project management hope as well. We’ll have to see.)

Wasteful

So, yes, check the post, it has a refreshing interlacing of Lean and Agile.

And if you figure out how to disrupt the boring, legacy way of doing things, drop us a comment below.

Tags: , , .

"That's a request, not a bug."

Don’t confuse an omission in the requirements/user stories/backlog a bug once the code has been written, and you find out the code doesn’t do what you want. It certainly is a “bug” in the product owner phase of the project, but once code has been written “to spec,” it becomes a feature request if you want it added in.

Of course, that kind of passing the buck, division of labor is what drives everyone crazy and causes customers to say, “WTF, dude, I just want it to work.”

Tags: , , .

The Risk of Doing Nothing

Much of project management is managing risks. In the worst case, that’s all it is. So, when someone suggests doing something new, the project management part of your brain starts coming up with all the risks of the new things. Indeed, most of this type of thinking reduces to a strong belief in The One True Risk Theory: the primary risk is making any changes at all, no matter what those changes are. Changing course is risky.

When it comes to software I tend to think the opposite: staying the same is the primary risk. The status quo is doomed in most of the cases. In so many cases in the past decade, the real risk was doing nothing at all. And that’s certainly true now. As just one example: the telcos are taking a huge risk by not grabbing onto VoIP right now, full-throttle.

So, the next time you find yourself saying something is too risky, ask yourself: how risky is it to keep doing what I’m doing? What’s the risk of my current plan.

Indeed, this is a specific implementation of one of my favorite software laws, DeMarco’s First Law of Bad Management: if something isn’t working, keep doing it.

Tags: , , , .

[DrunkAndRetired.com Podcast] Episode 24 – Small Businesses, Agile planning & Estimation, and Happy Endings

In this episode, we talk about the paper-work behind starting a small business, getting better at planning and estimation in software development, and have some choice comments on the XP take on the theory of user stories (be sure to listen past the Liquid Labs promo for that).

(This episode edited by Charles.)

Tags: , , , , , .

[DrunkAndRetired.com Podcast] The IUV Triplet, The Hati Point, and Empirical Project Managemen

In this episode, we talk about Cockburn’s “Are Iterations
Hazardous to Your Project?”
article, Agile-think re: scaling
projects from 5-50 people, and figuring out what we want from the
architecture.

Also, starting with this episode, I’m trying out listing all links to stuff we talk about on del.icio.us with the tag d&r_23, as in “Links for DrunkAndRetired.com Podcast Episode 23.”. My thinking is that for each episode, I’ll create a new tag, e.g., for episode 24, d&r_24.

Also, see the post about the for_d&r tag.

(This episode edited by Coté.)

Tags: , , , .