Saturday, December 22, 2007

The Ultimate in Requirements Traceability: DBA

Requirements traceability refers to the ease of tracking the relationship of artifacts to product requirements throughout the development process. One form of requirements traceability involves slavishly documenting each design decision and precisely which requirement(s) it addresses. There's got to be a better way. And there is.

If your team isn't communicating well and your process is broken, you are likely to have some of the following problems:
  1. Features that are "neat" but don't address requirements.
  2. Designs that don't address requirements.
  3. Difficulty adjusting to changing requirements, priorities, and scoping.
  4. QA that doesn't know what to test.
For this reason, some managers are enamored with the concept of requirements traceability. An untrusting manager tries to impose some heavyweight processes to ensure these problems don't occur. Usually, the process usually involves some huge, complicated spreadsheet with all sorts of links between various items in artifacts.

Instead, why not nudge the team into adopting a few simple, lightweight practices?

Realize that test-driven development (TDD) goes a long way towards establishing a de facto requirements traceability. Encourage your team to "document" its requirements and interaction design decisions as test cases.

But you'll want to test frequently. Use demonstration-based agile (DBA), in which the team delivers a demo and submits things to QA for testing on a weekly basis.

Let's examine the effects of adopting these practices.

First, if design and implementation decisions conflict with the requirements, it will show when the tests fail.

Second, when requirements change, the test cases change, and any other changes that must happen will happen, otherwise the tests will fail.

Third, the weekly demos will ensure that product manager is able to trace or track adherence to the requirements.

Finally, and most importantly, your team will communicate frequently, which will likely improve the quality and efficiency of its output.

Rather than imposing requirements traceability in a heavyweight manner, use DBA.

Tuesday, December 18, 2007

A Problem Understood is a Problem Half Solved

In a Q&A over at Functioning Form, Tom Chi gave us this nugget:
Usually when a group of smart people is at an impasse for a long time, it is because the problem is poorly framed, not because their solutions are not good. Unfortunately, it is par for the course in the tech industry to try to bowl headlong into solving things even before we know what the problem is, or the criteria for success. Defining a problem is also an extremely creative activity. If you are falling back to the same lame problem statements and measures of success, then you aren’t really trying. And there are a ton of reasons to try. The most important is that a well defined-and exciting problem (and its associated constraints) is the catalyst that makes design go. By not drawing a clear and compelling problem, you are cheating your team out of an incredible unifying and driving energy.

Tuesday, December 11, 2007

More Is Not Always Better in Surveys

Having trouble getting responses to your survey?

In a article, Dean Wiltse tells us seven rules for achieving higher online survey response rates. One of the rules is:
Rule #4: More is not always better

Many organizations believe the more questions they ask, the more measurable the results will be. However, the reality is the exact opposite. The more questions asked, the less focused and thoughtful survey responses are and the more survey takers rush to exit.

Instead of asking every possible question under the sun, survey designers should keep the survey focused and to the point.

Survey administrators should bear in mind that to get a solid response rate the number of questions should not exceed 30.
I'm even more radical. I recommend limiting the number of questions to 12 in most cases.