Using QFD to Prioritize Features in an Agile Methodology

The issue of prioritizing the pool of features to be developed under an Agile methodology is indeed a vexing one….Unfortunately, prioritization in Agile environments is typically made by “best guesses”, rather than any form of data-driven decision making….Implementing Quality Function Deployment when moving to an Agile methodology can help to alleviate many of these executive concerns while building a better, more customer-focused product….The benefits of moving to an Agile development methodology combined with QFD prioritization go far beyond just pacifying fears and replacing old high-level management tools, however….These executives will find that they have the ability to release software that meets their customers’ wants and needs while their customers still want and need it.


Unfortunately, prioritization in Agile environments is typically made by “best guesses”, rather than any form of data-driven decision making. Frequently, engineers develop software based on ease of development or the personal appeal of certain technologies rather than customer priorities. There are also countless cases of “squeaky wheels getting the grease”, where one very vocal customer’s demands are satisfied in advance of the needs of the less vocal, though more numerous, customer majority.

Churning the Priority List

Some Agile development teams have sought to address this problem of prioritization by assigning committees to maintain the prioritization of the “feature pool”. Unfortunately, this process usually flies in the face of the guiding principles of Agile development by creating tremendous waste in the form of endless hours spent prioritizing, and re-prioritizing the same list of features. Many feature pools have hundreds or even thousands of software enhancement requests in them. Reviewing and reshuffling such lists every “iteration” to accommodate shifts in internal business priorities and changes in customer demands can be a more-than-full-time job.

Additionally, most executives and stake holders prefer to remain involved from a view point that is much higher than the individual feature level. These individuals wish to remain apprised in terms of feature sets, modules, and initiatives. These leaders do not have time to review lists of thousands of features on a regular basis. Under a long-range development plan, these leaders concentrate on high level plans until specification documents are written up and they only have to be bothered with the minutia of individual features one time. In an Agile development environment, these leaders are forced to either remain uninvolved in product planning (and just review accomplishments as they are made) or to review and approve ever-shuffling lists of the same features.

QFD and Feature Pool Prioritization

Implementing Quality Function Deployment when moving to an Agile methodology can help to alleviate many of these executive concerns while building a better, more customer-focused product.

First, the use of a QFD can assist an Agile team in guaranteeing that prioritization takes place in a fashion that fosters knowledge-based decisions with optimal results. Product managers and executives can review the QFD data and verify that their feature pools are prioritized in a manner that optimizes the value of the software produced with each successive iteration. Thus, these stake holders are able to ensure that it is the “voice of the customer” that is driving prioritization and not the whim of a group of software engineers.


About this entry