Improving developer productivity isn’t straightforward.
Because the day in the life of a developer doesn’t involve just writing code and solving problems. They’re expected to keep everyone updated on their progress. Share knowledge. Collaborate with their teammates — technical and non-technical. Handoff work. Do code reviews.
Whew!
And the list goes on…
In my exploration on the topic of developer productivity, I came across two camps:
Folks who constantly ask why you haven’t updated progress. These are people who believe tracking progress is essential because how can you improve productivity if you don’t know where you stand! If devs aren’t working on priority items, are off-target to timelines, are not following QA process, or not following agreed specs then the company could be losing money. And developers are expensive as hell.
Folks who absolutely loathe the idea of being tracked. These are people who believe tickets in your PM tool are not the work itself, never was and never will be, but it gets taken for the central thing. They just want to get the work done. Fixing a bug without filing a ticket is in itself progress. Moving a card without any other change is not. Yet the second is what’s visible and therefore what’s rewarded.
To be fair, both camps have some rather compelling points. You can’t completely stop tracking progress. And at the same time, you can’t constantly pester your teammate to share updates.
So, what do you do? How do you improve a developer’s productivity and ship great software together?
1. Work happens in Git. Why not let it do the grunt work?
According to Stack Overflow’s 2018 survey of developers, 87% of developers use git around the world. Being one among them, having the ability to integrate git with your PM tool must be incredibly useful in getting work done and tracking its progress.
But not many tools support such deep integration with GitHub, GitLab, and Bitbucket as Zepel does.
When you’ve integrated Zepel with GitHub, GitLab, or Bitbucket, there are a bunch of things you can do:
- Automatically showing progress information,
- Creating a feature in Zepel when a branch is created as
feature/{squad-key}/feature-name
, and Creating a bug when a bug-fix branch is created asbug/{squad-key}/bug-fix-name
.
Because let’s be honest, sometimes developers begin working on a fix even before it can be logged in your PM tool. To interrupt and ask them to link to an item just so you can track their progress isn’t ideal. So why not just log it automatically?
2. If you don’t automate the mundane tasks, you’re doing a disservice to your development team
A developer’s time is expensive. Surely you’d prefer if they spent it solving problems and building software.
So what boring tasks can you take off their plate? Updating statuses, sharing progress, and letting you know that they’re waiting for you to have a look at the PR, of course.
Once you’ve connected your Zepel account with git (GitHub, GitLab, or Bitbucket), you can set up git workflow automation and make automatic status updates. Any item can be moved automatically from one status to another.
You can set up triggers and appropriate actions to be carried out when those set of events occur. Some examples are shown in the image below.
Of course, you don’t want to go overboard and automate every part of your development process. But when you automate key areas that are also considered by your developers as mundane, you aren’t just saving developers time and energy. You’re making sure they get to do what they love doing the most — building products and software.
Psst… Here are 5 git workflow strategies that you can use for inspiration.
3. Developer controlled, System automated
System notifications are probably the biggest culprits when it comes to a drop in productivity. But when you turn them off, you’re going to leave your teammates in the dark about your progress.
Talk about a catch 22!
Get control over what notifications you want (and don’t want) to send by connecting your Zepel account to your Slack channel.
Don’t want to be notified when a task is completed? Sure. But want to be notified when a feature is marked as completed. Got it. And need a notification when a branch is opened for a feature that your developer was working on? Yep, you can get a notification for that too!
And if you’ve got the Git Workflow Automation already set up, you now have one powerful automation in place that connects Zepel + Git + Slack. Since it’s all automated and under your control, it allows developers to stay focussed and managers to plan the next steps.
Look ma, no hands!
4. Don’t leave developers in the dark. Especially when it comes to customer feedback/requests
For all the talk of agile and scrum and getting constant feedback, there’s actually very little information that your developers get about what your customers are saying about the feature you just built.
This becomes all the more painful when you have multiple customers making several requests across multiple tools — help desks, live chat, error tracking tools, and more.
And it gets painfully hard for the developer to get a sense of why they’re building what they’re building from an isolated ticket.
Streams in Zepel helps you bridge this gap. You can gather requests from popular tools such as Canny, Intercom, Zendesk, Sentry, and more with a few clicks. You can then prioritize these requests and delegate them to your Squad as a feature, user story, enhancement, or bug to be worked on.
With Streams, your team won’t be cranking out software and features. They’ll be shipping customer-focussed software.
5. Your devs have great ideas too!
Between all the emojis and memes and “Can you hear me?”, there’s a wealth of ideas that your teammates have that can help you build better products.
These pop-up between conversations and “By the way, my friend said this about our product”.
How do you capture them?
You can use Slack as a source for Streams in Zepel to collect all these ideas with just two clicks.
Once they’re captured inside Streams in Zepel, you can group them with other similar requests, prioritize them, and hand them over to your development team for execution.
P.S. You can send any team member's Slack message as a request, not just yours.
6. Get in the “Zone” with My Tasks
Everybody has a way of working. Some prefer to organize their work by deadlines. Some by Sprints. And some like to wing it. (It’s not productive. Trust me.)
However you like to view your work, you can do it with My Tasks in Zepel.
And with quick access to the ID, you can effortlessly link the task assigned to you to a branch, commit, or a PR.
7. Communicate changes with images. After all, an image screams a thousand words.
One of the crucial aspects of product development involves design. How do you communicate minute design changes? Or a front-end bug?
Zepel Capture lets you capture images, edit them, share them with your team as screenshots, and even add them as an attachment to a new item in Zepel.
You needn’t leave your current workflow and switch to any other tool - take screenshots, edit them, and then share these with the team or attach it to an item/feature.
Impressed? Head to your Zepel account right away and tweak it to meet your needs. And if you’ve got any queries reach out to us; we’re always happy to help.
Top comments (2)
Before I get into this, I'm a development manager. I also still write code, and I need to report on whether or not my developers are being productive. Not only that, but I need to measure productivity to ensure I'm paying them fairly, and to see when productivity slips because of personal issues at home.
So...
Re point 1: I sit between your two camps. Git is where work is done, but Jira (the "PM tool") is where business value is measured. So I track both. If you're making a lot of commits, but not moving tickets forwards, you're doing "busy work" that offers no value to the business. If you're moving tickets but not making commits, you probably shouldn't be a developer.
Re point 2: There's a fine line. If you spend all your time automating your job, you're not delivering value to the business (in the way that is visible to the business), and automate everything well enough, and I might as well fire you (all code written on the company dime belongs to the company).
You talk of "updating statuses" etc - for a long time, Jira has been able to automate workflow. I was on a call to a network engineer today who was asked to trawl through several thousand entries of Windows Event logs... I said "dump it to CSV and search" - heypreso, automated. We linked the Jira workflow to Gitlab long ago, using webhooks and some custom code (since, you know, we pay developers).
Re point 3: I use Ubuntu, which has a "Do Not Disturb" option. Cortana automatically blocks out time in my calendar for Focus Time, and I often close Teams for large chunks of the day. I encourage my team to do the same, and have a "if you need to talk to me, here's my phone number. Feel free to use it at any time of day, it doesn't matter if I'm sleeping, if you need to talk, I'm available."
Re point 4:
Really? How do you know that about our Agile implementation? Every company on the planet does Agile a different way. I personally have fortnightly meetings with Support and Helpdesk managers to talk about trends in UX. I actively encourage developers and Support staff to talk in real time, bypassing me entirely. I actively talk to B2B customers, and I give this feedback to my developers during the morning StandUps.
Re point 5: "How do you track new ideas?" - This PM tool you keep talking about. Jira. We raise a ticket, it goes into the backlog, and we talk about it during backlog grooming.
Re point 6: That's just a Jira filter with custom JQL. Sorry.
Re point 7: Our development process is that when we have fixed a "thing" - we attach evidence to the ticket. That might be a picture, but where at all possible, it's a video. Because video's are better than pictures. This then allows anyone at any time to see the change, even before it's available in a test environment. We all use OBS, and have hotkeys setup so we don't have to change to some other application. I personally hit CTRL+ALT+TAB for screen snipping, or ALT+Num0 for video.
So, serious question - what does your product offer me? Why should I not only pay you, but trust the code that you've written being so integrated with our IP?
And dont forget you can always Zepel them with your Zepel while you Zepel over at the Zepel with your Zepels.
Don't get me wrong....self promote....people need to do it more!
But in this article you slightly overdid it 😋, perhaps drop in an alternative way to do something every once in a while just to break it up a bit (as well as the Zepel way of course!).
With that being said, first article I have seen from Zepel so off I go to explore what you have to offer 😁