Follow Zube on Twitter

Easily duplicate a Card

You can now easily clone cards on Zube! You can duplicate any card you’d like with a single click from the “Create a duplicate Card” section, just below the action buttons on the card details view. You can also choose to automatically create a new GitHub issue that syncs with your Zube card in real time.

Detail view of a card highlighting where to create a duplicate card

Why duplicate a card?

Adding the ability of clone a card has been a frequent request and there’s a few occasions where duplicating a card can save a lot of time. The primary motivation for duplicating a card is when you want a new card with most of the same associations. Say, for example, that you have a card that is on an Epic, assigned to two people, and has three related cards. Perhaps you want to break this card down into some smaller tasks, all of which will be on the same Epic, have the same assignees, and should be linked to the same related cards. Duplicating the card would be the way to go! Since duplicating a card also duplicates the associations, all you’ll need to do is to change the title and points on the new cards and you’ll be finished.

From a higher perspective, actually wanting an exact duplicate of a card is extremely rare. However, wanting a new card that is mostly the same as an existing card is something that comes up all the time. The next time it happens, save yourself some time and create a duplicate of an existing card and just change a thing or two.

We hope this new feature makes your time with Zube just that much more enjoyable, and we’d love to hear about new features you’re interested in seeing. Please send your ideas to team@zube.io.

Beginning Monday October 12th, Zube will automatically archive cards in your Done column that have been closed for more than 90 days. Automatically archiving your stale closed cards will help ensure that your boards load quickly and will keep your workspaces better organized. If you’d like to Archive your closed cards sooner than 90 days, you can still do so manually at any time by pressing the “Archive cards” button in the top right of the Done column.

Detail of the manual Archive cards button

Where are my Archived cards?

When a card is Archived, it will be removed from all columns on your boards (the Kanban Board and Sprint Board). Archived cards are still visible in all other places, such as Epics and Tickets. At any time, you can view your Archived cards by visiting the Issue Manager. For cards that were on a Workspace, you can view them by selecting your Workspace from the Workspace selector on the filter bar, and then choosing the Category “Archive”. In rare instances, you may have cards that were closed before they were ever added to a Workspace, for example, if you closed a card while it was in Triage. To view these cards, you should choose “No Workspace” from the Workspace selector on the filter bar and then choose “Closed only” from the card state selector.

If you’d like to disable the Automatic Archive feature, you can do so for each Workspace by visiting the Workspace Settings and toggling the Auto Archive setting under the Auto Archive Stale Closed Cards section. If you disable the setting, be sure to periodically Archive your unneeded closed cards manually to keep your boards speedy and organized.

If you have any feedback about this new feature or just want to reach out to us for any other reason, please do so at team@zube.io.

New powerful filtering

You can now use the filters to find Cards, Tickets, and Epics in exciting new ways! We have added the “Not” feature to the filters, so you’ll only get back results that do not contain the selected attribute. You can also limit your results to “All” selections now, which means that it’s easy to exclude items that do not have all of the selected attributes. The best part is that it’s super easy to start using these new features today, since they’re built right into the filters themselves!

Motivation

There’s obviously a lot of ways powerful filtering can be used, but the most common thing you’ll want to use is the “Not” capability. Wanting to exclude something comes up quite often during the planning phase of your work cycle. If you’re trying to figure out what to work on this week, for example, you might want to display all the cards that are labeled “Customer Request”, but do not have the label “Needs More Info”. Another common use case for the “Not” capability is to remove cards that are already assigned to you so you can more easily see what everyone else is working on.

The other new feature of the filters is to be able to drill down to an increasingly more specific set of attributes, such as being able to find all cards that are labeled both “Bug” and “Quick Fix”, for example. Previously, an individual item was included in the results if it matched any of the selected attributes, so selecting multiple attributes would produce an increasingly larger set of results. The new “And” capability of the filter does the opposite and allows you to get back only those results that match all of the selected attributes.

A close look at an enhanced filter

A deeper look into how the filters work

If you’re trying to do some complex querying with the enhanced filters, then this is the section for you! We designed the filters to work in “the way you’d expect”, but it’s actually a bit complicated under the hood, so we thought it would be helpful to run over how all the logic is hooked up. To start with, a filter bar (like the one pictured above) has a bunch of individual filters. Each of the those filters are AND’d together. So the results you see on the screen have successfully passed the logic of each individual filter.

Within an individual filter, the mode can be set to “All” or “Any”. These modes apply to the filter selections and the “Not” selections individually. The important thing to note here is that the normal selections are evaluated separately from the “Not” selections. A item will appear on the screen only if it has passed both the selections and the “Not” selections independently.

TL;DR Selections and “Not” selections are evaluated independently using the logic of the specified mode “All” or “Any” before being combined exclusively along with the results of all the other filters.

As always, we’d be delighted to hear about new features you’d love to see, so feel free to reach out to us at team@zube.io with your ideas!

The Erosion of Certainty

The world is going through a rough patch right now. The global pandemic and the underlying social instability makes it almost impossible to find anyone whose world hasn’t been turned upside down. In this blog post we’ll frame the current state of the workplace and offer up some tips to help focus your team. But before we start, some of your team members may be suffering more greatly than others. We encourage you to reach out to your coworkers to find out exactly what they’re going though right now and how you can help. Even if your team members haven’t suffered a tangible loss and think that they’re doing just fine, it does not mean that they aren’t hurting emotionally. The common trope is that “everything’s different now”, but if you were to take a step back and look at things objectively, what you’d find is that things are essentially the same. What’s changed is not so much the objective world, but everyone’s perception of the world. Specifically, what’s changed is the notion of certainty during a time of rapid change. How are we to act today when we can’t envision the world of tomorrow?

Reduce anxiety by orienting your team

The Effects of Uncertainty on Productivity

With no clear leadership and rampant fear, the natural thing to do is to hunker down. After all, uncertainty in the abstract sense means that you’re not equipped to properly evaluate what effect your actions will have on the world. Here at Zube, we wouldn’t presume to offer an opinion on how our political leaders should be acting to best get us through this rough patch, but we can offer some guidance that will help your team remain as productive as possible during these uncertain times.

First, take stock of your current situation. Your team is hurting because they’ve lost certainty in what they’re doing. Ignoring this fact is very dangerous and can lead to the implosion of your entire project. The startup world gives us a glimpse of the potential fallout from uncertainty. Almost all startups in the early stages are faced with potentially crippling uncertainty on a daily basis. From a rational standpoint, their anxiety is not unwarranted. The odds of succeeding are stacked against them. The possibility of not existing in the future makes it difficult to ascribe concrete value to what they’re working on today. This lack of certainty can lead to inaction and eventually to complete failure. Most startups fail not due to a particular event. Instead, they just sort of stop working on the problem they are trying to solve. It’s not that they’re lazy, it’s just that the fear of the unknown has won out over their enthusiasm for working toward a better tomorrow.

So, to borrow a cliché, as a team leader you have to recognize that this is the “new normal”. Your team members are most likely in the mindset that the world is getting worse instead of better; failure is more likely than success; and nothing can be taken for granted, including their continued employ at your company. It’s your mission to actively combat these notions, because even if you had great team buy-in before the lockdown, it’s unlikely that your team is currently operating with unquestioning enthusiasm.

Structure Helps to Combat the Fear of the Unknown

We generally recommend a very light structure for your team as we’ve written about before. Our standard philosophy that is all you really need to do is to imbue your team with a sense of purpose and then get out of their way. However, that’s going to be a very tricky proposition in the current climate. So instead, let’s talk about what structure you can put in place to breath new life into your team. The most important thing you can implement, if you haven’t done so already, is Sprints. Sprints let you timebox your work and track your progress, but an important feature of Sprints that’s underutilized is that they can become meaningful in their own right. The way to make that happen is to align the Sprint with a team goal, which we know goes against strict Agile practices. You are supposed to use Epics to define goals, not Sprints. But sometimes your team needs a kick in the pants and there’s nothing like a goal with a deadline (a Sprint) to focus and align a team.

One important tip here is to make sure your Sprints are really short. Sprints should be one to two weeks and no longer (we recommend one week Sprints). It is vital to celebrate every time you finish a Sprint, which means you’ll be celebrating your team’s accomplishments every week (or two). If you don’t applaud your team’s successes then you’ll surely ruin any momentum your team has gained. This probably means altering your retrospectives. The standard format for a retrospective is to acknowledge what worked well during the Sprint, but then focus on what didn’t work and how it can be improved in the next Sprint. Flip your retrospective script and really focus on what worked. The onus, then, will be on you to make sure everything is running smoothly during the week so you’ll have to take a more active role removing impediments to your team’s success.

The second most impactful bit of structure you can add is to use points (story points) and point your cards collaboratively. You could decide on a card’s points in an unbiased way by doing something like Planning Poker, or you could just do it openly in a meeting or group video chat. Here at Zube, we do it openly by discussing what everyone thinks the points should be. We’re not terribly concerned about bias in the pointing process. Instead, we’re more interested in surfacing dependencies that an individual team member might overlook if they were doing the pointing process in isolation. Pointing cards is usually done to get an estimate of the complexity of total work for the week, but that’s not the main purpose here. In this case, using points makes it readily visible that these cards are not insurmountable tasks. It makes it much more obvious to your team that once they start working on a card, they’ll be able to complete it in a reasonable amount of time and progress will have been made. Remember, one of the biggest problems your team is facing is fear of the unknown. Pointing your cards helps make the unknown just a little more known.

The final tip is to break your cards down into really, really small chunks of work. Instead of having an 8 point card, for example, break the card down into five smaller cards that are 2, 2, 2, 1, and 1 points each. Consider breaking those cards down into even smaller chunks if possible. Break them all the way down as small as you can. Yes, it’s tedious to break a task all the way down into its smallest parts, but it is worth it. Having very small cards means your team will be closing cards left and right, and every time they close a card they will build some momentum. Momentum is a great surrogate for purpose and a fantastic driver for success.

Here at Zube, we’re not immune to the current situation, but we’re pressing ahead. We understand that the best way for all of us to get through these tough times is to be as compassionate and empathetic as possible, so if there’s anything we can do to make your lives a little easier, please don’t hesitate to let us know at team@zube.io.

Announcing Zube’s Public API

When we asked our top companies what feature they’d love to see, being able to access Zube programmatically was top of the list. From day one, the Zube web client has used our internal API, but now we’ve opened up all that power to you! Almost everything that can be done through the web interface can be done through our public API, which means you can easily enhance or automate your workflow.

How it works

The Zube public API is a full featured and powerful RESTful API. Like many of the best contemporary APIs, authentication is done with user tokens (JWTs) so all the requests that you make will be just like you had issued them from the web interface. You’ll be able to access and manipulate the same data and all changes will be properly attributed to you. The details of how to issue yourself a JWT and the full list of API endpoints can be found in our API documentation.

Responsible Usage

Being a responsible user of the Zube public API may be more complicated than you’re used to because of Zube’s seamless integration with GitHub Issues. If you are only making changes to data that are not shared with GitHub (local cards, epics, tickets, sprints), then the Zube API is very performant and you shouldn’t run into any trouble. However, if you’re making changes to data that are shared with GitHub (almost everything on a GitHub backed card), then the Zube API may allow you make changes faster than the GitHub API permits, and you may accidentally hit their rate limit before you hit our rate limit. So, when you’re making requests to the Zube API that have the side effect of changing data on GitHub as well, it’s best to add a second or two between requests.

We’re really looking forward to hearing all about the great things you’ll be able to do now that the Zube public API is live, so please feel free to reach out to team@zube.io with your success stories, or to support@zube.io if you run into any trouble. Happy coding!