A-Team-Tools

A collection of resources for understanding and applying lightweight agile practices to your scientific SW project

This project is maintained by betterscientificsoftware

A-Team-Tools

A collection of resources for lightweight, agile team management by Michael A. Heroux

This site focuses on simple, lightweight practices to help small software teams (especially research teams) introduce some structure and process to their team management efforts. We emphasize a handful of practices we have found to be broadly useful.

Note: These tools can be useful for large teams, too. Often large teams are composed of small teams, so these practices can be applied at the small team level and applied similarly to team leadership as a group. Furthermore, team policy becomes even more important on large teams, as do lightweight communication strategies such as project Kanban boards where the status of activities can be referenced via online tools.

Team Composition

The practices we propose are especially suited to small teams that have both senior and junior members, where team members, especially junior members, may join and depart a team on a periodic basis. A common example is a university research team with students, postdocs and long-term faculty. This diagram depicts the basic lifecycle. Team Member Lifecycle

Team GitHub Organization

An important component of the A-Team-Tools approach is a GitHub organization. Establishing an organization enables coordination of shared repositories. For educational projects, a GitHub organization can contain private repositories without paying the usual GitHub fee. Private repositories are useful for managing team activities and keeping unpublished content internally.

Team Activity Management

A simple issue tracking system such as GitHub issues provides teams with a transparent way to manage team work. While any repository in your team’s organization will typically have its own issue database, we also recommend having an issues-only repository. This repository can be used for managing team member tasks that are not specific to a particular project. This repository is also were checklists are managed (see below).

A key dashboard for lightweight task management is a Kanban board.

Team Management Elements