Using the code repository as the project management tool

I have recently posted an article about how you should try to keep as much documentation of the project (if not all of it) in the git repository next to the source code, in the form of markdown and Plant UML files.

I’d like today to go one step further.

Here’s the fundamental issue with all the existing project management tools such as Jira and Trello: They are not stored on the code repository. What does that mean ? The moment you switch to a different project management tool, the entire history of your requirements will be lost. That is, all the history of how your features got to be how they are right now, and more importantly, why, is gonna be lost.

Here’s an idea, meant to start a conversation:

What if you were to keep each new “ticket” as markdown file in a git repository?

You could have folders for future work, what’s currently being worked, and what’s done. You can slice and dice them anyway you like. If a feature changed from release 50 to release 51, just move it to folder called “Release 51”.

Or they can be added together with the branch for that release, so they’re delivered together with their corresponding source code and once they reach production, you will be able to track exactly where they came from by just inspecting the commit history.

You could have folders for each worker on the team if needed, to “assign” work to someone.

Everybody is able to edit these files. Whenever some discussion happens about a feature, one can edit the file, and then add a nice message on the commit explaining why they did that change.

This way the entire history of your features will sit right there, next to your documentation and your source code. Nothing will ever be lost, since the source code repository is the only thing that survives team take overs, changes in leadership and the natural friction that happens in software development teams.

But how would you go about editing those ? Well, you can use any tool you like. Many text editors provide markdown support and can edit your files in the code repository.

You can even edit them directly on github or bitbucket.

What do you think? Could this work?

Leave a comment