Thursday, 11 October 2007

Information Needs in Collocated Software Development Teams by Ko et al.

What information needs exist and how severe are they?
The questions below has been organized under 7 headings and the frequency and importance of the questions can be viewed in the figures below.

  1. Writing Code
  2. c1) What data structures or functions can be use to implement this behaviour?
    c2) How do I use this data structure of function?
    c3) How can I coordinate this with this other data structure or function?

  3. Submitting a change
  4. s1) Did I make any mistakes in my new code?
    s2) Did I follow my team's conventions?
    s3) Which changes are part of this submission?

  5. Triaging bugs
  6. b1) Is this a legitimate problem?
    b2) How difficult will this problem be to fix?
    b3) Is it worth fixing?

  7. Reproducing the Failure
  8. r1) What does the failure look like?
    r2) In what situations does this failure occur?

  9. Understanding behavior
  10. u1) What code could have caused this behaviour?
    u2) What's statistically related to this code?
    u3) What code caused this program state?

  11. Reasoning about design
  12. d1) What is the purpose of this code?
    d2) What is the program supposed to do?
    d3) Why was this code implemented this way?
    d4) What are the implications of this change?

  13. Maintaining awareness
  14. a1) How have resources I depend on changed?
    a2) What have my coworkers been doing?
    a3) What information was relevant to my task?


Figure 1: Types of information developers sought with search times, percepted importance, availability and accuracy.

Figure 2: Type of information developers sought and the frequency and outcomes of searches, and sources. Common sources are in bold.

No comments: