A Scrum by any other name...

I'm not getting it. I'm seeing a lot of posts about "Feature Driven Development" (or FDD for short) but I'm just not getting it. All I see is Scrum with different terminology. I was reading the Igloo Boy's blog where he's off at DevTeach 2007 (man I'm so jealous, Montreal in the summer time with geeks) and he posted his review of a FDD session with Joel Semeniuk and I just don't see the bru-ha-ha about FDD.

Definition
FDD is defined as a process defined and proven to deliver frequent, tangible, working results repeatedly. In other words, what we try to achieve when using Scrum in software development.

Characteristics
FDD characteristics include minimum overhead and disruption, Delivers frequent, tangible, working results, Emphasizes quality at each step, Highly iterative. Again, Scrum on all fronts.

Features 
FDD centers around working on features (Product Backlog Items in Scrum) which have a naming convention like:

<action> the <result> <by|for|of|to> a/an <object>

Like user stories where:

As a/an <role> I would like to <action> so that <business benefit> 

Feature Sets 
FDD Feature Sets is a grouping of features that are combined in a business sense. In Scrum we've called those Themes.

So am I way off base here or are we just putting lipstick on a pig? Are we just packaging up Scrum with a different name in order to sell it better? Wikipedia lists FDD as an iterative and incremental software development process and a member of the Agile methods for software delivery (which includes Scrum, XP, etc.).

There are differences here between Scrum and FDD, like reports being more detailed than a burndown chart (however for me, a burndown chart was more than enough information to know where we were and where we're headed). Practices include Domain Object Modelling (DDD?) and teams centered around Fetures, but again this is just (to me) just Scrum organized a certain way. I would hazard to say I already do FDD because to me it's all about the domain and business value.

Or maybe this is a more refined take on Scrum. Scrum with some more rigor around focusing on the goal? A rose by any other name... I must be missing something here.

3 Comments

  • There is a lot of commonality between agile approaches and a lot of cross-sharing of ideas; people chose to give specific names to certain packages of ideas like XP or FDD, but the heart and soul of a lot of these are the same.

    Personally I like the Crystal idea of meeting a set of agile priorities using a methodology shaped by the team and project, because it is more up front about the fact that most agile teams pick and choose from available practices and review regularly and the number of teams that slavishly follow a methodolgy is few - and probably counter to the spirit in the first place.

  • Maybe it's because Scrum is a really stupid sounding name? How can you say "we develop using Scrum" to a client with a straight face?

  • Isn't scrum , or any agile method for that matter, just a rehash of good communication and teamwork?

Comments have been disabled for this content.