-
Notifications
You must be signed in to change notification settings - Fork 14
Home
ProjectScope is a concrete instantiation of one of the research threads of the TEAMSCOPE Project at the UC Berkeley ACE Lab (Algorithms and Computing for Education).
TEAMSCOPE's broad goal is to identify and eliminate friction in how small agile software project teams function.
One aspect of friction arises when not all team members consistently follow the various practices prescribed by the agile methodology they've presumably adopted. To address this, we build on Zazworka et al.'s model of "process nonconformance" to define a process-conformance template consisting of the name of a process or desired behavior, process goal/focus, process description, collected data used to determine conformance, and how to determine "violation" of the process.
Our adaptation of the methodology allows each conformance template to report both a scalar normalized to (0, 100) indicating the team's "score" on that process, and a small visualization that reports more information.
ProjectScope is a dashboard for monitoring Agile projects that use Web-based developer tools (GitHub, CodeClimate, Pivotal Tracker, Slack, etc.) from which quantitative data reflecting team behavior can be mined via an API. Each conformance template is a gem with a standard interface. The evolving list of conformance-template gems is below.
| Name | Description | Status and link to GitHub gem repo if implemented, or design notes if in-progress |
|---|---|---|
| Pulls should be code reviews | What percentage of PRs are reviewed (commented on) by at least 1 other team member? | Prototype |
| CodeClimate should be high | What's your CodeClimate score? | Prototype |
| Consistent velocity | Does velocity stay steady across iterations? | Design |
| Clearly defined product owner | Does each iteration have a clear product owner who is signing off on stories, and is that role "rotated" across iterations? | Design |
| Even member contributions | Are most team members contributing equally to the project? | Design |
| Reasonable time between Start and Finish | In general, do stories worth N points take less time to finish than stories worth N+1 points? | Design |
| Short-lived branches | How long is the typical branch lifetime, from open to merge/close? | Proposed |
| CI bugs caught fast | How long between a CI failure and first successful CI build that remedies the bug? | Being considered |
| Collective code ownership via promiscuous pairing | Is code collectively owned, ie is "truck factor" high? | Being considered |