Let's review the chapter. Here are key points you've learned:
The theme of QFD as a team planning/decision-making tool was re-emphasized with two examples from the oil and gas industry, first as a tool for synchronizing company-wide decision making, then as a tool for planning and synchronizing use case-driven distributed development.
While not "standard" manufacturing-based QFD, you may find that in some instances it is more natural to work with use cases first, business drivers second. In this case, the question the QFD team asks themselves is: What is it that makes one use case more important than another in terms of a project? In doing so, you work backward to arrive at a team agreement on what are the business drivers for the project. Whether working frontward or backwards, the end result is team alignment on the business drivers.
While non-functional requirements are part of the fully dressed use case, QFD adds additional value helping identify non-functional requirements that are highest priority to a suite of use cases as a whole. This was illustrated with an example in which prioritized use cases were used to prioritize non-functional requirements, and then the two combineduse cases plus non-functional requirementswere used to prioritize system design decisions.
Use case-driven distributed developmentdevelopment involving implementation by multiple component or product teamspresents a number of challenges for an organization. One problem is that of making sure the vision is clear as to what needs to be worked on by each team and in what order. A QFD matrix of prioritized use cases (rows) and component teams involved in implementation (columns) is an effective tool for communicating the game plan.
A second problem associated with use case-driven distributed development is that of planning the length of development iterations and the number of use cases to deliver per iteration. This problem has three contributing factors: not all component teams have the same amount of work to do in implementing a use case; not all component teams are staffed equally; and each use case may very well have a unique set of component teams implementing it. Luckily, the problem fits well into the mold of an optimization problem, and a QFD matrix can easily be run through an optimization tool to help a team determine an optimal length of time for an iteration and the set of highest-priority use cases that can be implemented in that time across the distributed teams.