It's time for a standup!
These are the words that always put me in total panic mode.
I don't even have to hear them. A simple calendar notification will make the waters boil in me.
I have no idea what I've worked on yesterday. And I don't have the slightest idea what I'll be working on today. I just want to code in peace.
To put it as simply as I can, I'm not a big fan of daily standup meetings.
One day, I decided something about them. And that's the day when Gitinerary was born.
How Gitinerary Works
The tool itself is actually very simple.
It listens to commit activity on the repo of your choice and displays a real-time report (the one you see in the example above).
Later on, you can browse the report in chronological order and filter it by your team members to see if someone is slacking.
To start using Gitinerary, all you have to do is add the app to your Github account or organization.
How Can Gitinerary Help
The app is fairly simple. And we've already seen what it can do.
But how can it actually help?
It helps to track progress
By looking at the timeline, you can see how developers are progressing with their work. And by reading commit messages, you get a slight idea of what they're up to.
No need to disturb them on Slack or Teams.
It helps to organize daily standups
You can use the timeline of a given day as a foundation for your daily standups.
You'll clearly see what was done by each developer. If there are some things that need discussion, you can do that. And if not, you can skip the daily altogether.
It helps to build a community
This one is maybe out there. But I've seen many indie hackers building in public.
With Gitinerary, you can take it one step further and share your timeline. Your customers will see how you're progressing, and maybe they'll feel more engaged.
How I Built It
It only took me 1 day to build a prototype.
Half of that was trying to figure out how to plug into the GitHub ecosystem.
But when I figured this out, the process was quite straightforward.
Creating GitHub App
The first step was to create the GitHub app.
The app will listen to the activity inside GitHub repositories.
Whenever something happens, it stores it inside the database. Simple as that.
I used Probot to build the app. And just followed the documentation to achieve what I needed.
Showing Timeline
The last step was to take the data and display it on the timeline.
For this part, I used NextJS to build a full-stack web application.
At this point, I'm very efficient with building interfaces. It only took me a couple of hours to build a simple landing page and the timeline page.
What's Next
The app is up and running. But I bet you want to know what are the next plans.
First of all, I want to see if people are interested in using the app.
If they do, I'll start gathering feedback on how to improve the app. Add more features, fix bugs, and make the product better.
I also submitted the app to the GitHub marketplace and waiting for the response.
Last Words
As you can see, building a side project is not rocket science.
And you don't have to spend months coding in your basement just to realize no one wants to use your product.
It took me a couple of days to get the app into the state it is now. And that's mostly because I focused on 1 single feature. Making sure it works as it should.
We'll see how we'll go from there. That's it for now.
If you want to try the demo, you can do so by installing Gitinerary
Top comments (47)
The standup isn't solely about giving a status update, it's a chance (and possibly the only 1 in a day) to see and speak to everyone on the team. A chance to sound out your working train of thought and validate your sanity around it if you have doubts, a chance to raise progress blockers or to help others with their blockers, a chance to ask for help, a chance to spot missed requirements in the work other people are doing before it gets all the way to the review stage.
I would say 2 things if you don't get value out of the stand-ups raise it in the retrospective and discuss with your team what you would like to get out of them to make them useful. Secondly what about all the work that isn't writing code? Like investigations, documenting solutions, testing, etc
You have some good points there.
I don't think this tool can replace standups altogether. However, it can be a nice addition to see what everyone did. And also it makes sure every topic don't get overlooked.
Hmm I think you should maybe adjust your opening pitch in that case. What happens if teams contribute to many different repos? For example we have 1 repo per microservice and our front end is separate from our backend. What happens to the timeline if people are using squash merges on prs? I would think this is basically a beatification of git log and so if people are squashing merges historical data will be a bit less useful
I wasn't pitching anything.
If you squash, you squash based on feature, so you'll still have the message in the timeline.
Multirepo is a good point. I think I'll add ability to group repositories together
It's a nice app actually. I agree that it doesn't really totally and entirely replace the daily stand up, but it actually able to WORK and HELP during daily stand up. Nicee!
Thank you!
This! Yes! This is the whole point! To improve and find better ways! I think a lot of people's dislike of scrum ceremonies and standups is due to a lack of understanding. If you change your attitude towards it, these sessions can be an amazing tool. Thanks for the comment @petersimonssolarwinds.
This is a great tool. I think we get the most out of stand-ups (like any meeting) when people are prepared. These meetings are designed to be short and to the point. Having a tool that creates visibility on progress, is awesome and should cut out the more mundane, obvious updates and lead to lean, quick, effective meetings. Great work @codewithbernard! I shall be trying your tool.
Thank you! The most constructive comment so far :)
If you find any problems with the tool or have some suggestions. Feel free to let me know.
On my team we are trying out an "async daily". And it's probably exactly what you're thinking.
We have a channel in Microsoft Teams for that, when you start your day you read what people before you posted, post yours, use the thread to help on blockers... couple minutes and you're done.
Everything quick and easy and the managers have access to the channel so they are up to date on everything happening.
Personally, I like it. But some people have problem with this asynchronicity, so it might not be for everyone.
You can't satisfy everyone! But I saw many teams adopting this async meetings. I think this tool can help as well.
Very cool concept.
Thank you! Fell free to try it out. All feedback is aprpeciated.
You're welcome. I probably will try it out.
As a consultant I no longer do daily stand ups instead a 2 weekly… it’s great, never felt more productive and guess what I communicate things to people who I know need to know because I own my work
Sounds awesome. Do you feel this tool could help you?
Yes but for leaving a paper trail, I have to track my hours and this would help me charge customers. Also I am autistic this would help me keep track for my own mind
Let's not make stand-ups about how many commits you made.
Dev work involves a lot more than slinging commits. It's debugging, researching, planning. Sometimes one commit requires four hours to arrive at, and that's fine.
That's why we actually talk about our work.
But isn't it beneficial to not have to remember what you did?
The idea is good on a personal level, but not on a team level.
Let me say it again: dev productivity is way more than just your commits. Stand-up should not be about that.
Let's not make the same mistakes that Elon Musk is making at Twitter.
This does ultimately mean wherever you have worked they are doing daily standups wrong,
Nothing builds culture more than actually interacting with your team.
You can't interact with your team apart from the daily?
You can and I do, but a whole team standup means you all make an effort to get in a room. With a team of 25+ this means we have at least 1 work anniversary or birthday per week. It's nice to use that space as an opportunity for team wide announcements not even directly related to lines of code
Well, I'm all for that!
God forbid this train of thought.
I don't care a bit if "someone is slacking" if they deliver value — it can take more time for some and fewer for others.
Just a thought. Don't give me hate right away! :)
Wow you missed sooo much whole point of daily meetings...
Explain
In shortest terms daily meetings are not status reports. They serve to plan for next 24 hours work with team in a light of a sprint goal. That is one of events that streinghtens empiricism and inspect and adapt principles. Just pure giving status is just not enough. Team commits to the goal so team thinks about strategy and plan how to reach it.
That's the idea. Are you doing it like that in your team?
Yes in many teams. Initially it almost always requires some coaching and explaining depending on Scrum maturity of the team. Once we sync in this manner things go up from that point.
Of course all my comments are from Scrum framework perspective. Keep up good work. :)
Oh man I haven’t read words more true about the daily. Usually it takes me 15 seconds to give an update. And 5 min upfront to remember what I actually did. Many colleagues seem to wallow in it like a pig in mud, somehow managing to find more and more words for a simple task along the way as they’re talking. Unfortunately, my daily work is not happening on GitHub (yet) but has its own version management. But once I‘ll get there I‘d give your app a shot!
What are you using as a version management system?
Hahaha I like the concept.
I'm pretty sure the people that care the most about the standup are probably those that just want to chit chat. Something like 80% of every standup meeting I've been a part of devolves into various side conversations
I think you're true. So with this tool, you can basicalyl chitchat more.
From my point of view, the standup meeting is essential.. because it’s the short time that we have to speak quickly, fast to share status with transperancy. Update in realtime only cause unnecessary stress! And also may kill new ideas.
That's not what my tool does.