The true essence of requirements, is trying to understand a customer's needs. This is true when building custom or mass-marketed software (or systems). Requirements involves more than knowing how to analyze using the latest method such as structured whatever or object-oriented whatever, or knowing how to specify systems using finite-state machines or Petri nets, or knowing how to program in a specification language such as Z. A person involved in requirements needs human skills, communication skills, understanding skills, feeling skills, listening skills-so that he/she can function in the setting as harmoniously as a seasoned choir member. Tactical skills such as interviewing, brainstorm facilitation, information organization, and formal specification can improve one's effectiveness. But these are relatively useless if a person does not have the most basic skills: listening, open-mindedness, feeling, compassion, and caring.