Agile Project Planning

ExtremePlanner: Agile Project Management for Distributed Software Teams
Click For Your Free Online Trial

Thursday, August 07, 2008

The End of Agility?

So now that Agile software development, Scrum, Extreme Programming, and Lean thinking are all the rage, I have to wonder - is this where we thought it would all end up?

This puts me in mind of the early days of object-oriented programming, when Grady Booch first started drawing diagrams with fluffy clouds. It took about 5 years from the grassroots movement of developers finding that sort of modeling useful, to the Rational Unified Process being created, then mandated by organizations as best practice.

I see the same trend, for better or worse, with Agile methods. We now have certifications, big industry conferences, specialized tools and software (yes, my company included), consultants, trainers, and a few dozen books to help guide a fledgling agilist along the way.

Perhaps less encouraging, I also see more of a trend of mandates from upper management to the development organization that sound a bit like "We will use Scrum, whether you like it or not".

It's been about 10 years now since Agile methods (Scrum, XP, etc.) first took the stage. Ten years is usually about right for maturing a product, but what about an industry? Have we reached the peak of agility in organizations and the state of the practice?

If history is any indicator, the environment is ripe for the "next revolution". As the song goes, "Meet the new boss...same as the old boss".

Labels: , , , ,

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams

Wednesday, March 12, 2008

Agile Project Collaboration and Restaurants

The software development world keeps trying to come up with good metaphors for what a software project is like. "It's like building a bridge", some say, or "Like manufacturing a car", others say.

I think a much better analogy, especially for the dynamic between the customer and the development team, is ordering food at a restaurant.

As a customer, you know what kind of food you like, how hungry you are, and you might have something in mind to impress your date, whether it's your wife, a client, or your boss.

As a chef, you know what makes food taste good, what the best way to combine ingredients is, how quickly your staff can make a certain meal, what foods are freshest, and how much things cost to get.

Naturally, as restaurant customers, we tend to order what's on the menu, which the chef has thoughfully specified in advance. This would be analagous to certain types of systems that a software team has written before, or are available as an off-the-shelf component (e.g. a blog, user forum, poll, etc.).

If some software customers used the same approach in a restaurant as they did in trying to get systems developed, the converstation might go like this:

Customer: I'd like some chicken, but it needs to be the size of a turkey, and I want it to taste like beef. Don't make it too salty, and it should cost less than a can of tuna. Oh, and can that be cooked in 3 minutes?

Chef: Well, the largest chickens known to man are slightly smaller than a turkey, we could get you that, but they don't taste like beef. We could add some beef sauce, but it won't taste very good. Extra-large chickens cost double what normal chickens do, and take at least 20 minutes to bake. I guess we could chop it into tiny pieces and deep fry it in 3 minutes, but it won't look or taste good. Sorry, but it will cost you about 10 dollars for this, a can of tuna is 60 cents.

Customer: You incompetent fool! If you can't handle this, I'll find a chef who can! My 12-year old nephew cooks all the time, and he can make eggs in 3 minutes flat, and they're really cheap, too. A chicken is just a grown-up egg, right? Why can't you do better than my nephew with all of your experience and training? Are you trying to cheat me???


Sound familiar?

Now this might seem silly in a conversation about food, surely a chef knows more about how to best prepare something that we might like. A more typical request in a "made to order" restaurant might be:

Customer: I really like chicken, but not spicy or with heavy sauce. And I'm watching my health, so too much grease or salt is a problem. Can you make me something tasty?

Chef: Of course: I could make a fresh tomato and spinach pesto chicken with boneless, skinless chicken breast with a fabulous balsamic reduction that just hits the spot.


So what's the problem in software? Is it really that hard to express requirements and constraints, and to let the experts suggest options and approaches?

The main issue as I see it is a question of trust. In a restaurant, you'll know in about 20 minutes if the chef understands your needs and can deliver something tasty. If it works out, you'll gain trust, and certainly you'll want to order from him again.

In traditional software, it can take a lot longer than 20 minutes, or even 20 weeks to see the first results. If the outcome isn't pretty close to what you talked about, trust goes down, fear goes up, and you wind up with some serious issues.

Agile software approaches to project planning and collaboration operate more like the restaurant. Order something, try it, maybe ask for less salt or more cream next time, and repeat.

Before long, you'll develop a great rapport between development team and customer, and you can start talking about what's for dessert.

Labels:

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams

Monday, February 25, 2008

Agile Thinking Book now available

Well, my new book is finally ready. It's called Agile Thinking: Leading Successful Software Projects and Teams.

It's a collection of over 40 articles that I've written over the past few years (many on this blog), organized by theme, and reworked and edited for a book format. Hard to believe how much work that turned out to be.

Regular readers of this blog will see a lot of familiar themes and content, and there is an all new introductory chapter that explains Agile methods in down to earth terms - maybe something to get your boss or new team member engaged.

What I really like about how it came out is that you can read it either sequentially, or just pick a random article when you've got only a few minutes to spare. You might not agree with everything in the book, but I think you'll find some useful ideas, some inspiration, and maybe even something that challenges your current perspective.

Have a look at the preview, and get your copy while it's hot (with on-demand printing, it might actually BE a little warm).

Labels:

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams

Friday, December 21, 2007

Agile Thinking

In case you're wondering why it's been so long since my last post, there's actually a good reason.

I've been working on putting together a book that distills the stuff I've been writing about for the last three years into a coherent form. The working title is "Agile Thinking".

My wife is a professional editor, so we've been busy cleaning up, cutting down, and rewriting some of the better posts from here, along with some other articles I've written, and organizing them by theme. The goal is to create a guide for real-world Agile project managers, developers, and customers to better understand, challenge, and improve their process.

Hopefully it will be ready sometime in January.

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams

Friday, September 21, 2007

Agile Open California: Wide Open Spaces

About a year ago I participated in my first Open Space conference in Portland.

The idea of Open Space is that instead of a canned set of speakers and topics, the participants propose their own topics on the first day, and people vote with their feet in terms of which topics sound most compelling.

The Portland conference was the best conference I've ever attended. Imagine, always being engaged in a topic that you're interested in, rather than listening to yet another boring speaker with too many Powerpoint slides.

Open Space is about participation, and that makes it incredibly powerful. The combined intellect, ideas, and passion of a group of people can make for huge opportunities to learn and to share.

So now I'm a volunteer on the organizing committee for Agile Open California, which is coming up on October 22nd and 23rd in San Francisco, CA.

It's coming together quickly, and I'm getting excited about another opportunity to mingle, learn, and share with the Agile software development community.

If you're looking for a stimulating learning opportunity, check out the conference website here

Labels: , ,

Get your copy of the new book! Agile Thinking: Leading Successful Software Project and Teams