Study People
Software applications do not exist in a vacuum. They are used by people; a system of people with existing goals, ideas, values, and interactions with each other (and yes, programmers, existing technology). The introduction of a new software product into this system will undoubtedly change the system. Will it support the existing goals and values or replace them with new ones? Will it simplify existing interactions, or introduce friction?
To answer these questions, we must have a way to measure that system of people. To do that, we must understand what questions we should ask about that system in order to support the things we want to learn and discover what it is we should measure.
Decide The Model
In Chapter 6, Testing, I had to start by deciding that the requirements of a software system did not arise as some fundamental truth about the universe but were based on the way the people who used the system worked with the world and with each other. Now imagine that you're trying...