Tag Archives: Workflow

About project and process workflows.

We made it easier to sync your Kerika Due Dates with your Calendar

We made some user interface tweaks to make sure people are aware of a really great feature in Kerika that’s existed for a while, but was buried in a Preferences screen that not everyone paid attention to: you can have your Kerika Due Dates automatically show up on your Google, Microsoft or Apple Calendar.

Well, that’s buried no more: we have added a Calendar Synch button in a more prominent place on the top-right of the Kerika app:

Calendar button
Calendar button

Clicking on this button will let you choose the type of calendar you want to synch with:

Calendar choices
Calendar choices

(Hint: you can have your Kerika Due Dates synch with more than one calendar, if you like.)

Pick your favorite calendar type, and you will see detailed instructions on how to set up syncing of your Kerika Due Dates. Here’s an example of syncing with Apple Calendars:

Calendar instructions
Calendar instructions

The URL is personal, and should be kept confidential. (That’s why we aren’t showing it in the illustration above.)

The URL is long and random so it will be impossible for others to guess, but it’s not a good idea to share it with others unless you really want them to know all your Kerika Due Dates, e.g. if you have an assistant or delegate that helps manage your daily schedule.

 

We aren’t going to support Highlights in the Planning Views (at least for now)

Most of the time, users are in what we call the Workflow View of their Task Boards and Scrum Boards:

Workflow View
Workflow View

It’s in the Workflow View that our new Highlights feature proves really useful:

Highlights in Workflow View
Highlights in Workflow View

In the Planning Views, however, Highlights are not as important since we expect the Planning Views to be used primarily for quick scheduling:

Planning View
Planning View

(The Planning Views, by the way, are what we refer to as the views that Kerika provides over the next few days, next few weeks and next few months.)

Is this a good assumption on our part? If not, let us know and we will add Highlights to the Planning Views as well.

Preferences

New options for the 6AM Task Summary Email from Kerika

Welcome to 2017! We have a big bunch of goodies lined up for release in the coming weeks and months, and we are going to start off with some nice improvements to the 6AM Task Summary email that you can (optionally) get from Kerika:

You now have two options: you can get all your overdue and due items sorted by date, or by board. Or both.

To turn this on, go to https://kerika.com/preferences, and check these boxes:

Preferences
Preferences

We have also improved the “group items by date”: instead of showing what’s due today and tomorrow, this email now includes What’s Due This Week and What’s Due Next Week.

“This Week” is adjusted automatically as the week progresses to keep track of what’s left for the current week, which always ends on Sunday.

Enjoy.

Repro, Cause & Fix: Using Kerika to Fix Bugs

Interested in using Kerika for software development? Here’s a practical example, taken from one of our own boards, that highlights best practices for tracking, investigating and fixing bugs.

First, a look at our Workflow

Every software development team will want to set up its own workflow, of course, reflecting its internal dynamics and available resources.  Here’s the Scrum Board workflow we use in our team:

Scrum Workflow
Scrum Workflow

Our Scrum Boards are organized with these columns:

The Backlog contains all the ideas, large and small, that we have on our product road map: in Scrum terminology, it’s our Product Backlog.

The Sprint Backlog is the set of cards that we pulled from the Backlog at the start of this Sprint: right now, only 4 items are left as we are close to the end of our 2-week Sprint Cycle.

Within each Sprint, cards are picked up developers and first moved into the Planning column, where detailed analysis of the work to be done is completed.

Depending upon the complexity of a particular work item, a developer may request a design review before moving the card further into the Development column.

Developers do their own unit testing as part of the Development phase, but then the work item moves further down to the the QA column which frequently includes formal code review.  (More on that below…)

After a bug has been fixed, had its code reviewed and passed unit testing, it gets Deployed to the Test environment.

We usually wait until the 2-week Sprint is over before asking the entire team to present the entire Sprint’s output to the Product Owner for the Show & Tell; this avoids distracting the team midway through the Sprint.

Once the output of a Sprint has passed the Show & Tell, it can then be Deployed to Production.

The Done column shows all the work that got done in this Sprint.  That’s where all cards are supposed to go, but sometimes a work item is abandoned and moved to the Trash.

(Side note: we sometimes use WIP Limits to make sure that people are not over-committed to work, but this is not a consistent practice within our team.)

Logging the bug

Now, let’s take a look at an example of an actual bug card that was worked on by our team:

Example of a bug tracked as a Kerika card
Example of a bug tracked as a Kerika card

(This particular bug doesn’t have a lot in the details, because it is related to another task that is currently underway, and Kerika makes it easy to link cards, canvases or boards.)

Some bugs go into the Product Backlog, if they are not considered especially urgent, but others go straight into the Sprint Backlog if they represent serious production problems that might affect user’s access or the reliability of their data.

Adding bugs to the Product Backlog lets us process bugs along with other development, e.g. of new features, in the same way: everything can be prioritized by the Product Owner and handled through a consistent workflow.

Documenting the bug

Our bug reports typically come with two attachments; at least one of these should always be included so that the developer has a clear starting point for her work:

  • A screenshot showing the user experience (if the bug can be observed directly by the user.)
  • An excerpt from the error log, if the server reported any errors around the time the bug was observed.
Original bug report documents
Original bug report documents

Kerika makes it easy to attach any kind of content to any card, canvas or board: for bug fixing, particularly in the analysis phase, this is very useful if the user needs to include URLs, material from Sourceforge or similar sites, links to Github, etc.

Repro, Cause & Fix

Before any bug is fixed, our developers always add a standard document we call Repro, Cause and Fix as an attachment to the card:

Repro, Cause and Fix
Repro, Cause and Fix

This document is added no matter how trivial the bug.

Why? Because, on average our team goes through about 30-40 cards a week, and has been doing so for years now.  If we don’t document our analysis now, we will never recall our logic in the future.

Repro, Cause and Fix

Repro, Cause and Fix

Our team adopts a consistent layout of the Repro, Cause & Fix document, which we adhere to even for trivial bugs:

The Repro Steps are the steps needed to trigger the bug: usually they consist of a specific sequence of actions taken by a user that cause the bug to appear, but they can also consist of a sequence of events in the background, like specific server activity or memory/CPU utilization conditions, or overall network traffic, that trigger the bug.

The Expected Behavior helps clarify the developer’s understanding of the how the software should behave in this situation.  It’s not uncommon for a developer who is new to the team to misunderstand how a particular feature is expected to behave, which could lead to more bugs being introduced.  Clarifying Expected Behavior in this document provides an easy way for the Product Owner and the Team Lead to confirm that the developer is not going to go down the wrong track.

Introduced Since: our developers try to pinpoint the specific point in the software’s life where the bug was introduced.  This helps the developers reflect upon how errors are created in the first place: the blind spots lie in their analytical patterns that need to be strengthened.

(In this particular example, the developer has been able to point back to some of her own work on an earlier feature implementation that caused this bug to appear.)

Root Cause is not the same as the Repro Steps.  While a specific sequence of actions or events may reliably display the effects of a particular bug,  they only provide the starting point for the analysis; the Root Cause itself is discovered only when the developer examines the code in detail and determines exactly what is breaking.

Affected Feature: all of our code goes through code review, which we view as one of the most effective QA processes we could adopt, but it can be very challenging when you are processing 30 cards each week, each affecting a different part of the software.

Identifying the Affected Feature helps with the code review process, since the reviewer can consider the bug fix in the larger context of the feature that’s being modified.  Without this, it is doubtful that we could review so many changes each week.

Affected User: in most cases, this is “everyone” we offer the same Kerika  to all our users, whether they are on free trials or have paid for professional subscriptions.

Identifying Affected Users is useful, nonetheless, when dealing with bugs that are browser-specific, or service-specific: for example, determining that a particular bug affects only Kerika+Google users, or only Internet Explorer users.

The Fix: OK, this might seem obvious, but this section really refers to identifying the specific modules in the software that will be changed as a result of the bug fix being applied.

Like many others, we use Git for managing our source code — along with Maven for builds — since our server environment is all Java-based.

Fix
The Fix

The Fix section usually includes references to Git checkins: this helps with future bug fixes, by making it easy to traceback sources of new bugs — part of the Introduced Since section described above.

We use separate Git branches for each feature that we develop so that we can decide precisely what gets released to production, and what is held back for future work.

This helps with the Show & Tell phase of our workflow, when the developers demonstrate the output of the Sprint to the Product Owner, who has the option to accept or reject specific features (i.e. cards on the Scrum Board).

Code Review

All of our code goes through code review, no matter how trivial the change:

Code review
Code review

We really believe that code reviews are one of the most effective QA practices we could adopt: having a second pair of eyes look over code can very considerably reduce the chances of new bugs being introduced.

So…

Kerika is great for distributed software teams: our own team is spread out between Seattle and India (roughly 10,000 miles apart!), and all of our work is done using Kerika for task management, content management and team collaboration.

Of course, an added benefit of “eating our own dogfood” is that we are highly motivated to make sure Kerika is the best tool there is for distributed teams 🙂

 

 

Attaching content to the board itself, not just to cards

We have added a new feature that should prove handy for a lot of folks: you can now add content — files from your laptop, images from your mobile or tablet, Web links from your Intranet or the Internet, or canvases — to a Task Board or Scrum Board itself.

If this sounds like something that was always there, maybe we need to say that differently: you used to have the ability to add content to a card, now you can add it to the board itself.

There are many situations we have encountered where we want to share content or a canvas with a team, but there wasn’t any obvious place to still it — no single card on the board that seemed like the right place to attach that content.

And that’s because the content we wanted to add was applicable across the entire board, not just relevant to a single card.

This was getting frustrating, so we decided to scratch our itch: a new button on the top-right area of your Kerika app will let you add files, Web links and canvases to the board itself:

Board Attachments
Board Attachments

This should make some of you as happy as it has made us!

UI tweak: removing the “Add member” button from card details

As part of our work on combining tags and colors, we have been cleaning up parts of the Kerika user interface that had minor inconsistencies.

One such inconsistency — in our view — was that you were able to add people to a project team from within the card details dialog itself:

Adding people to a team
Adding people to a team

This button has been there in Kerika for a very long time, but it doesn’t really make sense to have this capability within the card details dialog: it just isn’t the best place to decide to add someone to a project team.

Instead, in our new layout the Project Settings dialog consolidates all the board management in one place, including adding people to a team, changing someone’s role within a team, and removing someone from a team:

 

UI tweak: showing attachments in chronological order

It used to be that when you added content to a card — files from your laptop or Web content from your Intranet or the Internet, or a canvas — the newest content was added at the top of the list.

Of course, you could always rearrange them, by grabbing and dragging them up or down the list, but this it not a feature that many users discovered on their own 🙁

Rearranging attachments on a card
Rearranging attachments on a card

Well, for greater consistency with how the chat and history are shown within a card’s details, we are now going to show attachments in chronological order as well — the latest files and URLs that you added to a card will appear at the bottom of the list, and the view of these will be automatically scrolled to show the latest items:

 

An easy way of keeping track of sub-tasks

With our latest update, it’s become easy to keep track of sub-tasks for cards on a Task Board or Scrum Board; here’s an example:

Using strikethroughs to keep track of sub-tasks
Using strikethroughs to keep track of sub-tasks

In the example shown above, the second item in the numbered list has been been taken care of, and so it has been struck-through, making it clear to the rest of the team that it isn’t an issue any more.

We have added the capability of marking text within card details with a strike-through, and this, combined with the easy way in which you can create numbered lists, makes it easy to track sub-tasks!