Sunday, June 29, 2008

I say XP, you say Product Management; I say Scrum, you say Project Management

Chances are you've heard about Agile before but you don't know what the heck it is - even if you think you do.

Chances are:
  • if I say "Agile", you think "methodology"
  • if I say "Agile process", you think "Scrum"
  • if I say "Scrum", you think "daily standup meetings"
  • if I say "XP", you think "Pair Programming
  • if I say "Requirements", you think "PRD"
The problem with the above word/phrase associations is that they establish an incorrect image in your mind about the essence of XP, Scrum and Agile. It is this image that determines in the end whether you succeed or fail when you attempt any Agile method; in fact, it is this image that decides if you'll ever seriously attempt to use an Agile method to build software.

No wonder that Agile methods often get such a bad rap from smart, well-intentioned, successful software developers, engineering leads, and product managers. Their exposure to Agile is through other people who are equally ignorant about it. It doesn't help that - unfortunately for a lot of people - the first step they take towards learning about Agile is the "ScrumMaster" training. Did you know that all it takes to become a ScrumMaster is about $1500 $800 and 2 days of your time?

Yet, managing software product lifecycle from requirements, to release planning, to development & QA, to repeating the process all over again, week after week, iteration after iteration, is one of the toughest jobs you can do in a software organization - worthy of a few graduate level courses, if not an entire Master's degree.

What you can't learn in 2-days of ScrumMaster training, you certainly can't learn in one blog post from me. But I'll give you the right way to think about it, as you research articles, books, courses, or better yet, as you attempt to actually apply "Agile" principles in a project within your organization.

So,
  • when I say XP, think Product Management process
  • when I say XP, think Software Development process
  • when I say Scrum, think Project Management process
In essence,

"XP is a better process for Product Managers to manage requirements, a better process for Programmers to convert these requirements to code, and the only process that strives to satisfy them both, simultaneously."

"Scrum is a better process for Project Managers balancing Work that must be completed and Resources that are available to them, in a fixed amount of time - and works best when used with XP."

No comments:

Post a Comment

Is the world upside down?

Is the world upside down?
It's a topsy-turvy world out there!