DEV Community

Cover image for I Automated Daily Standups for Developers
Bernard Bado
Bernard Bado

Posted on • Edited on

I Automated Daily Standups for Developers

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.

Gitinerary showcase

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.

Gitinerary timeline

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)

Collapse
 
petersimonssolarwinds profile image
Peter Simons

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

Collapse
 
codewithbernard profile image
Bernard Bado

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.

Collapse
 
the_patience_tester profile image
petergsimons

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

Thread Thread
 
codewithbernard profile image
Bernard Bado

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

Thread Thread
 
harithzainudin profile image
Muhammad Harith Zainudin

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!

Thread Thread
 
codewithbernard profile image
Bernard Bado

Thank you!

Collapse
 
nettcaster87 profile image
nettcaster87 • Edited

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.

Collapse
 
codewithbernard profile image
Bernard Bado

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.

Collapse
 
noriller profile image
Bruno Noriller

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.

Collapse
 
codewithbernard profile image
Bernard Bado

You can't satisfy everyone! But I saw many teams adopting this async meetings. I think this tool can help as well.

Collapse
 
cicirello profile image
Vincent A. Cicirello

Very cool concept.

Collapse
 
codewithbernard profile image
Bernard Bado

Thank you! Fell free to try it out. All feedback is aprpeciated.

Collapse
 
cicirello profile image
Vincent A. Cicirello

You're welcome. I probably will try it out.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

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

Collapse
 
codewithbernard profile image
Bernard Bado

Sounds awesome. Do you feel this tool could help you?

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

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

Collapse
 
goodevilgenius profile image
Dan Jones

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.

Collapse
 
codewithbernard profile image
Bernard Bado

But isn't it beneficial to not have to remember what you did?

Collapse
 
goodevilgenius profile image
Dan Jones

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.

Collapse
 
cmcnicholas profile image
Craig McNicholas

This does ultimately mean wherever you have worked they are doing daily standups wrong,

Nothing builds culture more than actually interacting with your team.

Collapse
 
codewithbernard profile image
Bernard Bado

You can't interact with your team apart from the daily?

Collapse
 
cmcnicholas profile image
Craig McNicholas

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

Thread Thread
 
codewithbernard profile image
Bernard Bado

Well, I'm all for that!

Collapse
 
angelod1as profile image
Angelo Dias

to see if someone is slacking

God forbid this train of thought.

  • commits = work
  • meetings = work
  • reading docs = work
  • discussing in slack = work
  • taking a break and chit-chat = work

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.

Collapse
 
codewithbernard profile image
Bernard Bado

Just a thought. Don't give me hate right away! :)

Collapse
 
markokolja profile image
Marko

Wow you missed sooo much whole point of daily meetings...

Collapse
 
codewithbernard profile image
Bernard Bado

Explain

Collapse
 
markokolja profile image
Marko

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.

Thread Thread
 
codewithbernard profile image
Bernard Bado

That's the idea. Are you doing it like that in your team?

Thread Thread
 
markokolja profile image
Marko

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. :)

Collapse
 
thenickest profile image
TheNickest

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!

Collapse
 
codewithbernard profile image
Bernard Bado

What are you using as a version management system?

Collapse
 
weaves87 profile image
Andrew Weaver

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

Collapse
 
codewithbernard profile image
Bernard Bado

I think you're true. So with this tool, you can basicalyl chitchat more.

Collapse
 
hng_nguynduy_e5e95c1d9 profile image
Hùng Nguyễn Duy

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.

Collapse
 
codewithbernard profile image
Bernard Bado

That's not what my tool does.