When was the last time you heard:
“What are you working on today/this week/this month?”
It’s a seemingly simple question, but what if it wasn't necessary? What if the work you’re already doing every day could automatically answer that question for anyone on your team at any time, and the answer would always be current and updated in real time?
Developers are constantly writing status updates each and every day as they’re branching and merging significant changes to their codebase. By and large, however, developer tools don’t do as much with this information as they potentially can.
In a typical Git system or workflow, a branch is little more than a short and cryptic name. It’s not readily clear who created it, when, or for what purpose. When the work is done, the branch is deleted and it's gone forever. This combination of being both cryptic and ephemeral makes it difficult to surface otherwise useful information.
Some systems approach this by attaching branches to external features like pull requests to add some structure, but this creates extra steps and layers you have to think about, manage, and clean up afterwards.
Conveyor handles this by wrapping branches in a “Task” so we know who created it, when and why. There’s a description, a type, and a status which all work together to help everyone on the team understand what it is and how it’s going. If a task is becoming stale and hasn’t had any recent activity, the team will know. And when the task is done, its recorded forever in the project’s history and you can get back to it.
In the case of developer statuses, Conveyor is designed to bubble up changes to tasks (branches) and the associated commit messages as implicit status updates. Every commit messages is automatically synchronized in the background to push and pull status updates across everyone’s local desktop clients and the central web application. This way, everyone always has insight to everything that everyone else is working on in real time.
All of this status information is a free by-product of the work everyone is already doing. Conveyor simply makes a point to surface the information in a way that helps the team stay on top of tasks, share the workload, and know what’s been completed. There’s no explicit status sharing or updates happening on the part of any developer. They’re just starting and finishing tasks like they normally would, and Conveyor handles the rest.
That’s really just the beginning, though. At its core, Conveyor is version control (built right on top of Git and utilizing its power), but what makes Conveyor unique is that it recognizes and embraces the intersection between version control, project management, issue tracking, status updates, release management, and all of the other elements of the software development process. That way, it can help reduce overhead and make more out of the information that teams are already putting out there. Status updates and communication become a simple side effect of the work that’s already happening.