Developer Tool Usability Checklist

Introduction

The National Stock Assessment Program in the NOAA Fisheries Office of Science and Technology is responsible for the development of a suite of tools (R packages, applications, and templates) to help users conduct and understand stock assessments. We have designed this checklist to help developers to promote and increase usability of their tools at all stages of development.

The following checklist is intended to guide a developer before, during, and after development. We hope this will help developers move forward with promoting their products and increasing usability within and outside of the agency. For information on specific tool quality standards, please see the FIT Tool Quality Standards Checklist. If any questions arise while following the checklist, contact the FIT team.

Checklist

Note: The order of the list is intentional. Each task should serve as a stepping stone to complete the next task.

  • Identify user base: Who is intended to use this tool and how broad of an audience does this apply to?
  • User friendly documentation: Make sure that the message of what this tool does is clear and straightforward; design associated manual or documents for users to reference when they have questions. Functions should be documented adequately.
  • Cross team usage and understanding: Start with presenting tool to close knit teams and tie in potential collaborations. Ask for feedback.
  • Outreach and Education
    • Internal promotion: Promote the tool within NOAA. This could take the form of presentations or workshops, but other formats are also possible.
    • External promotion: Promote the tool to the potential user base outside of NOAA. This could take the form of presentations or workshops, but other formats are also possible. Send around promotional material or briefly mention the tool in communications.
    • User feedback: Follow up with users after release to improve tool. Ask for feedback.
    • Widespread user training: Teach the user base how to use the tool.
  • Optimize code: Improve coding practices and organization to streamline coding for both development and user application
  • Maintenance plans: Have a plan for how the tool will be maintained and and who will maintain it. Communicate the maintenance plan to users.