Why is Feature Driven Development considered an Agile methodology?

In several places Feature Driven Development (FDD) is called an Agile methodogoly – e.g. the Wikipedia entry on FDD.

Yet in general, to be considered FDD it seems the following requirements have to be satisfied:

  • Coloured UML has to be used (but documentation isn’t necessary);
  • Instead of pair programming the team is divided by software features;
  • refactoring is discouraged or, at least, isn’t a task with explicit scope;
  • unit testing is discretionary, the team leaders can decide;
  • the work flow has to pass through the five FDD phases;

On the flip side it seems to me that Agile is

  • UML is an optional tool
  • Tests are documentation
  • Tests are obligatory
  • refactoring is a consequence of the change requests of the customer and it isn’t discouraged.

Am I wrong with my understanding of either concept?

8

Maybe this link will explain more of the details. FDD came before the Agile Manifesto, so don’t always think you have to practice XP or Scrum to be agile or no one considered the benefits long before.

From your wikipedia link:

“Its main purpose is to deliver tangible, working software repeatedly
in a timely manner.”

Isn’t that the whole point of being agile? Like BDD, FDD isn’t appropriate for all projects. You may be the biggest UML hater on the planet, but there could be a project that will be eaiser to manage if you have a few.

Look at the reasons/problems solved by certain methodolgies. What aids you in being agile in one type of project could hold you back in another especially if you think the way to not rely on documentation, contracts, etc. is to exclude them completely.

4

It’s your definition of Agile that’s wrong. Agile is valuing

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

To take your specific points …

UML is an optional tool

Yes. Most things are when being Agile. Task boards are mandatory in Scrum, which is an Agile methodology, but they’re not mandatory to BE Agile.

test is documentation
test is obligatory

This is more a TDD policy. TDD is another Agile methodology, but it is not a mandatory part of being Agile.

refactoring is a consequence of the changes of the customer and it isn’t discouraged.

I don’t think it’s discouraged in FDD either. Nor is it explicitly stated. The Agile Manifesto also doesn’t explicitly mention refactoring.

Agile is a set of principles, not a set of methodologies. Agile methodologies are methodologies that encourage those principles.

I don’t see any way in which FDD isn’t Agile.

4

Well, I am not an FDD expert, but here are my thoughts about the Wikipedia article:

Coloured UML has to be used (but documentation isn’t necessary);

The article says you should develop a domain model. That does not mean that UML is required. I guess your team can decide which kind of modeling language is appropriate for the task.

Instead of pair programming the team is divided by software features

Some agile processes require pair programming (XP), others do not, so this does not proof that FDD is not agile.

refactoring is discouraged or, at least, isn’t a task with explicit scope;

I don’t see it is really discouraged. But I guess you are correct, the part of evolving a software (by applying changes to an existing product) instead of piling new feature over new feature seems to be disregarded in the whole process. That is of course a sign of a non-agile process!

unit testing is discretionary, the team leaders can decide

Sounds like a process which is adapted to the needs of the current project – which is definitely agile.

the work flow has to pass through the five FDD phases

This could be a sign of beeing non-agile.

In summary, I am under the impression that FDD tries to combine some agile things (like iterative development of small features) with some non-agile things (formal process with phases). Call it semi-agile if you like. Also, note that the same Wikipedia article calling FDD beeing Agile starts with the disclaimer “This article does not cite any references or sources…”.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật