Project, PI:
Meeting host:
Interviewer(s):
Notetaker(s):
Interviewee(s):
Interview date:
Use this series of questions to obtain a sketch of how the software team does its work. Interviewer should state at the beginning of interview, “At any time you can stop the interview and/or not have to answer a question you don’t want to.”
Team Profile
-
How many people are on your team; what and how do they contribute?
-
What level of software development expertise do team members have?
-
What is your team’s history with evaluating and adopting new software practices, processes and tools?
-
What do you consider unique about your team?
Project Profile
-
Library or application or both?
-
Approximate lines of code?
-
Number of repositories used?
-
Languages used?
-
Number of users?
-
Release frequency, process and modality (source/binary)?
-
Compilers and OS(s) supported?
-
Modes/styles of parallelism?
-
Other development logisitcs that may be unique to this project?
Development Topics
-
How does your team get an idea for working on a piece of software?
-
How does a new idea get prioritized with other ideas and ongoing work?
-
Once an idea is selected, talk through how the idea is completed as new software?
-
Will the new software have tests and documentation right away? If not, when?
-
Do you test your software so that the new software does not break the old software?
-
If the new software requires teaching other how to use it, how does that happen?
Tools
-
How do you store, manage and share your source code, including tools you use?
-
How are bugs usually discovered?
-
How are they recorded and resolved?
-
What tools do you use to automatically test your software?
-
How do users get access to your software?
External software use
-
Other than standard programming tools and environments, do you use software developed by other people, for example, scientific libraries?
-
Is this software actively developed by someone else?
-
Do you have tests to confirm that this software is behaving the way you expect?
-
If the software you are using were suddenly unavailable, do you have a backup plan?
-
Specifically, what if the software is not available on a new platform that you want to use?
Training
-
How does a new team member get trained to do their job?
-
What do you do to prepare for the departure of a team member?
Improvement strategies
-
How does your team try to improve how they do their work from year to year?
-
Do team members get recognition for finding a better way to do their work? Please answer only Yes or No. Note to interviewer: This question MAY be sensitive to the participants. Do not seek elaboration if the answer is “no.”