Friday, August 29, 2008

Agile, where to start?

Awhile back I was in a conversation online about how to learn more about agile, especially when contrasting it with the waterfall approach. Here is what I gave that person back then. With more time, I'd probably refactor this list heavily to improve it, but for something I whipped out in 10 minutes I think it is high value. Maybe it will help you. (if you have your own good resources, then add them in the comments)

Start with these basics:

  1. look up the following terms on wikipedia and hope that nobody spammed the posts recently: Agile, XP, Scrum, Crystal, FDD, Lean Development, DSDM, Kanban, Toyota Lean development.
  2. contrast this with wikipedia searches on Waterfall, Gant, PMBOK, PMI, ISO 9000, CMM, Six Sigma, SDLC, RUP, RAD.
  3. look for the similarities and differences.

Many people might shun me for sending you to wikipedia, but it’s a generic overview. This baseline will help you build up.

Then go look at the following for the real thing-

  1. http://agilemanifesto.org/
  2. http://agilemanifesto.org/principles.html
  3. go to the agile 2007 and 2008 conference websites to see presentation topics, review material, or get an idea of the leaders in the industry (I’m going to Toronto next week for Agile ‘08!)
  4. start looking for books by the best in the business: Schwaber, Beck, Linda Rising, Alistair Cockburn, Bob Martin, (or anyone who signed the original manifesto).
  5. look for agile groups in your area, look at the agile alliance website, become a member
  6. google video has postings with some presentations that are great by some of the best
  7. look at the list of blogs I show on the sidebar
  8. go to vendor sites like VersionOne, Rally Software, Danube to look through their blogs and community boards.
  9. keep trying, learning, googling

Thursday, August 28, 2008

Comment: Stand-ups

Agile Revolution comments that people didn't show up for his stand-up today because the scrum master wasn't there. What does this mean? Read this, my comments, and add your own.

One of my main thoughts is that if a person values something, they will leverage it. How do you help someone see value in the standup?

Nobody will listen...

Eckford complains that people are head's down. As a contractor, he's in a tight spot as his tenure approaches an end but he still has something to share. Why can't people value collaboration over isolation? Why aren't they interested in the bigger picture and planning for the future game?

I attempt to provide my thoughts on providing advice without inflicting change or burden... what are your thoughts?

My nugget: "timing is everything, sometimes patience is required because they simply aren’t ready yet."

Wednesday, August 27, 2008

Bob the Builder...

Agile Revolution relates Bob the Builder to agile and discusses the olympic stadium. All good metaphors to agile scalability. Intrigued? Read more here.

He poses the question of how large is too large... part of my response:
"When do you consider whether you should look for a new job? How about when there is a “scrum of scrum of scrums”… or even a “scrum of scrum of scrum of scrums”. At this point the organization has simply recreated an old-school political hierarchy (with the workers to far removed) within the development organization. I’m not saying this is impossible to make successful, but I’m laying odds on the fact that it will most commonly not be an agile implementation you prefer to be in over others."

The Death March...

Allintheplanning mentions how one of his peers relates the agile iteration to the movie groundhog day. Is the iteration a good or bad thing?

My nugget: "... In agile, it’s allowing the rhythm to sound more like a drumbeat than a heartbeat. The drumbeat enslaves, a heartbeat gives life ..."

Tuesday, August 12, 2008

What is Agile?

Jon Strickler has several posts where he is prompting the community to clarify the definition of Agile on Wikipedia.

I didn't really contribute as much as channel Mike Cottmeyer's awesome elevator pitch about Agile.

Monday, August 11, 2008

A team of duds?

Timothy High started a great discussion about whether agile requires amazing collaborative people to succeed. Since he admitted to being obtuse, I went on the attack...

My nugget: "Is Agile an elitist software process that can only succeed with the brightest and best? No! (But people have applied XP in competitive or control type of environments with success by carrying this approach.) Agile has a higher chance of success in a collaborative environment."

I did find it amusing when he said "So, what happens when you get stuck with a team of duds? A common response from agile evangelists about the problem with “problem” people is “why would I even want to work with people like that?"

No build... No Agile?

gatorxero wrote that not having a CI (continuous integration) build means not being agile. He actually says it is an "absolute requirement".

Sounds like a purist viewpoint.

My response was down the lines that engineering practices do not define being agile. I agree that CI is very important, but a scrum shop can be agile without adopting XP.

Is Conflict Allowed (@ sprint review)?

gaterxero ponders the question of whether a sprint review should cover negative topics. I'm not a fan of projecting a false front when there are problems.

My nugget: "The whole point is to bring your customer closer to the process and not delay the amount of time before they uncover the truth on their own. In my personal experiences, the most negative reviews/retrospectives lead to some of the best improvements and changes in the team."

Actually, I've had a few agile mentors who state that the best teams are the ones who handle conflict appropriately without shying away from it.

Additional viewpoints would help and he's asking for it, so feel free to click through and add your experiences and advice.

Wednesday, August 6, 2008

Humane!

While I was at Agile 2008, the Agile Alliance meeting talked with its members about many things. One of which was a new mission statement. It was something down the lines of "making software development more productive, humane, sustainable."

It actually brought a few people in the room to teary eyes.

I think this is one of the points behind Agile that most people don't get. It's not just a process or methodology, but about helping us work in a professional manner without unnecessary burden. Software development is a creative process, we need to recover some of the humanity.