Category Archives: Kerika

Posts about Kerika, the company and its people

We are moving away from monthly billing

We used to offer monthly and annual subscriptions, and in the last 5 years we had just two customers ever request the monthly option.

Everyone else found the annual subscriptions far more convenient so they wouldn’t have to process invoices or receipts, or get internal purchase approvals, every month.

The monthly purchase offer wasn’t very good for Kerika either: there’s a certain amount of bookkeeping and overhead for processing every invoice and given the already low $7 price per user, this offer was essentially a money-losing proposition.

So, we are now discontinuing the monthly subscription purchases altogether.  We are asking all our customers to purchase annual subscriptions: the amounts involved are still very reasonable, and if you do change your mind in the middle of the year, you can still request a refund for the unused portion of your annual subscription.

This means you don’t have an risk of overbuying: if you change your mind about using Kerika, you can get a refund for the remaining portion of your subscription.

Our youngest Kerika users do amazing stuff

For the past few years Stéphane Vassort from College La Grange Du Bois in Savigny-le-Temple in France has been using Kerika with his middle-school students who have been building 3-wheel trikes as part of their science curriculum.

He recently shared this heartwarming video of his students — surely among the youngest Kerika users in the world! — with the trikes they have built:

https://youtu.be/2ChNIUaxqW4

We are so happy to be supporting this kind of work!  If you are interested in getting a free Academic & Nonprofit Account like Stéphane, please let us know.

Kanban vs Scrum: what’s the difference, and which should you use?

We have a complete (one-hour long) video of the tutorial presented by Arun Kumar, CEO of Kerika, at the recent Lean Transformation Conference on the subject of Kanban vs Scrum: what’s the difference, and which should you use?

(The slides for this talk, and more, can be found on Slideshare.)

Topics covered:

Forming a team 00:01:32

The Product Owner 00:02:01

The Scrum Master 00:02:55

The Scrum Team 00:03:55

Pulling Work 00:04:04

The Product Backlog 00:05:45

Scrum Stories 00:06:25

Writing a good Story 00:07:35

From Epics to Stories 00:10:25

From Stories to Tasks 00:11:13

Estimating with Story Points 00:13:04

Organizing a Sprint 00:15:00

How long is a Sprint? 00:19:15

Sprints in theory 00:20:32

Sprints in real-life 00:20:53

Daily Standups 00:23:25

Burndown Charts 00:24:13

Team Velocity 00:25:35

Best Practices for Getting Scrum Right 00:28:00

The Nuclear Option 00:30:57

Where does Scrum work best? 00:32:02

Scrum in Government 00:33:25

Where does Kanban work best? 00:35:43

Collaboration Networks 00:37:25

Paper doesn’t scale 00:38:30

Using Kerika for Personal Kanban 00:39:50

Using Kerika for Team Kanban 00:40:24

Using Kerika in the Public Sector 00:40:37

Using Kerika for Scrum Projects 00:40:54

Capturing stories as “virtual sticky notes” 00:41:20

Summary 00:42:57

Question: how do you deal with poor performers on the team? 00:49:15

Question: in Scrum, are units of measure like lines of code still applicable? 00:50:08

Question: how do you measure individual performance? 00:51:03

Question: how do you handle poor performers within a team? 00:52:25

Question: when do you use the Nuclear Option? 00:54:20

Question: how do you estimate stories? 00:55:54

Photo credits: Abdul-Rasul Kassamali, Jama Abdirahman.

An easier way to get in touch with us

We have made a bunch of improvements to the Contact Us feature in Kerika, which — as before — can be accessed by clicking on the help button (“?”) in the top-right corner of the Kerika app:

Contact Us
Contact Us

Previously this simply opened up your local email client to send us a message; now the feature is built into Kerika itself, and is smarter about how it works.

When we analyzed our old trouble tickets, and emails to support@kerika.com in general, we found there were very few instances of actual bugs being found, but more commonly there was some confusion about how Kerika was working for the users.

And very frequently when people got in touch with us, they didn’t include important information in their original emails that would help us understand what problem they were currently facing.

This meant we had to reply back to ask them some common questions, like “have you already invited this person to join your board?”, and this led to unwelcome delays in resolving the problem for our users, especially when they were located many time-zones away and there was a 24-hour delay before they replied, and then we replied, and so on.

Our new Contact Us dialog, while very simple in appearance, acts as a smart collector of key information that can help us understand the context of the user’s query:

  • Which board was she looking at, when she decided to contact us? Many users assume that the Kerika team can automatically view their boards, but this isn’t true: it’s not just against our privacy policy; our software was designed to protect your privacy from our intrusion as well.
  • Who is part of this board team right now? Again, this isn’t something we would know without being told by the user, since we don’t have any easy way to look at someone else’s boards.  If you think you have added someone to your board, but haven’t yet, this can help us clarify any misunderstanding on your part.
  • What’s the current state of your Inbox and Sentbox? Are there invitations waiting for you to accept that perhaps got missed, because they unfortunately ended up in your spam folder? Are there invitations that you had previously sent to coworkers, that haven’t been accepted yet?
  • What’s your current computer environment? What operating system and browser are you using? In the very few instances when someone reports an actual bug, it’s very important to know which browser and OS they were using, since the bug may be limited to a single environment.

And, finally, the Contact Us process reminds our users that any intermittent problem they are facing can often be resolved simply by refreshing their browser: if they had experienced any fleeting network problem or latency that interfered with their Kerika view, a simple browser refresh will fix that quickly.

Kerika’s internal product development workflow

It will come as no surprise to our users that the Kerika team uses the software for every aspect of the company’s internal operations, including, of course, our product development.

(There really isn’t anything better on the market for planning and executing product roadmaps — we know, because we have checked and made sure we are better than everybody :-))

We are sometimes asked about our own internal workflow: how we plan releases and manage our Sprints, and in particular how we have gone without using regular old email for over 4 years now!

Well, here’s a glimpse at our internal workflow:

Kerika internal workflow
Kerika internal workflow

We work in two-week long Sprints; we have found two weeks to be the ideal Sprint length since it provides enough time to produce something — at least some usable part of a new feature — while not being so long that we forget we are supposed to be working as a Scrum team.

Planning

Whenever we plan a new Sprint, we are always also looking forward as well: hence the columns titled “Sprint +1” (i.e. the Sprint that will come after the current Sprint), “Sprint +2” (the Sprint that will come after the next Sprint), etc.

This gives a view into the next several weeks of our product roadmap which makes sure we don’t approach any single work item with tunnel vision.

Now you might notice that “Sprint +3” in the list above is way larger than “Sprint +1” or “Sprint +2”: that doesn’t mean that we expect a sudden spurt in productivity (i.e. increase in team velocity) in 4 weeks time.  It just means that as we go further out in our planning there is more uncertainty about priorities and so the Sprints that are well into the future are not well defined — and that’s perfectly OK.

Quality Assurance

Within each Sprint we have a fairly conventional flow: Planning, Development and QA.  The QA step actually consists of three separate stages:

  • Code Review: we try to make sure we review all the code we are writing in any Sprint, unless it is a really trivial change we are making (e.g. changing the label on a button).
  • Deploy to Staging: we have a separate set of servers where we test our new releases.  This also happens to be where we have all our real projects running: we believe very much in the idea that “developers should eat their own dogfood”, so we run out entire business on the latest build that went past Code Review.

    This can be a little scary or frustrating at times: if there was a bad release to our staging environment, it can bring every project and board to a screeching halt.  But, from our perspective, that’s the whole point: make it everyone’s business to ensure that we produce high-quality code, and make it everyone’s priority to fix any problems that come up.

    This model of living on the bleeding edge of our product gives us a really good incentive to write good quality code!

  • The final QA step is Show & Tell, where the team formally presents the new features or bug fixes to the Product Owner.  With each new feature we will have identified a set of test cases, as part of the Planning phase, and these are used to formally check the new feature in a meeting attended by everyone on the team.

    Very occasionally something will get rejected at the Show & Tell stage, in which case the card gets moved back to Planning or Development and flagged as “Needs Rework”.  It’s more common for work to get rejected at the Code Review phase, not because it is buggy, but because it might not meet our internal coding standards.

Deployment

Once a feature or bug fix has passed Show & Tell, it is ready for Deployment to Production.

We have a continuous integration process for handling code changes — pulling them from our internal git code repository — but we don’t do continuous deployment. Instead we prefer to deploy on the last day of each 2-week Sprint.  We usually time this for Friday morning, Indian Standard Time, so that our developers in India can take one final look at the system working in production.

Documentation

We have an unusually strong emphasis within the team on creating documentation at the same time as we write code.  Many small companies skip documentation because they think it will slow them down.

In our own (sometimes bitter) experience, skipping documentation is false savings: if there are problems to be fixed later, or even if a feature simply has to be extended in the future, it’s very hard for even the original developer to recall the logic that she used to write the code in a particular way.

What’s important to note, however, is that we don’t have very big documents: most documents are less than a page long, because they refer to very specific work items.  But we have thousands of these small documents, since every feature we have ever produced, and every bug we have fixed, has been documented.

And thanks to Kerika’s very cool integration with Google Docs (we use Kerika+Google), managing these thousands of documents is very easy: just open the relevant card for a specific feature or bug fix and you will find all the relevant documents as well:

Documents attached to cards
Documents attached to cards

For new features we always have a short Planning Document that identifies any existing modules that will be affected and provides an outline of the new code that will be written. Here’s an example:

Example of a Feature Planning document
Example of a Feature Planning document

There may be other documents created, depending upon the complexity of the new feature, but even the smallest new feature will have at least one planning-related document that’s written before the code is written.

Bug Fixes

For bug fixes, we have a Repro, Cause & Fix document that methodically analyzes the cause of a bug:

Root Cause Analysis
Root Cause Analysis

The most important section of this document is the Introduced Since piece, where we trace the origin of the bug back to its source, to understand what new feature or bug fix we were originally working on that resulted in this new bug appearing.

This methodical root cause analysis, which we do for even the most minor bugs, helps us identify patterns in our code writing that we need to improve.  Sometimes it can even point to bugs that we haven’t discovered yet: the root cause analysis may identify an assumption that we have applied in other places, all of which need to be looked at to make sure there aren’t other variations of the same bug that haven’t been identified yet.

After the bug has been fixed, the Repro, Cause & Fix document is updated to reference the git branches where the code fix can be found.  This completes the circle of careful analysis, careful execution, and methodical review that we strive to adopt (and improve continuously).

The End of Email

We stopped using regular email towards the end of 2013. There was never any formal decision to renounce email; instead there was a formal decision to “eat our own dogfood” in a very serious way.

And as we started to build our entire company using our own product, we found that using Kerika is so much better than using email that there really wasn’t any need for email any more.

So people simply started drifting away from email. There was no explicit decision or formal movement to do so, people just realized, on their own, that email is an exceptionally poor way of managing work within a distributed team.

Conclusion

Considering the size of our team — and entire company, for that matter — you may be surprised by the degree of formalism we have adopted, and the heavy emphasis on analysis and documentation.

We spend at least as much time on analysis and documentation as we do on “pure coding”, and if we add in the Code Reviews and other elements of formal QA, the actual coding time is a relatively small portion of our total expenditure.

But trying to skimp on analysis and documentation really doesn’t pay off, in our experience: if you are building a company and product for the long-run, as we very assuredly are, you need to build it right, not just fast.

Updating the look of Board Settings

One final (?) bit of restyling, to make all of Kerika consistent with our new look-and-feel, has been updating the Board Settings dialogs.

Board Settings
Board Settings

The functionality is essentially the same, but the appearance is cleaner, lighter and more in keeping with the Material Design standards we have (mostly) adopted.

(We say “mostly”, because there are some elements of Material Design that we find unattractive.  For example, for the on/off toggle switches we prefer the iOS style buttons.)

Column Settings
Column Settings

The Column Settings dialog has also been restyled, and looks nicer and cleaner. The example above shows a board that uses Work-In-Progress Limits.

Tag Settings
Tag Settings

And the same with Tag Settings: we have a restyled color picker, and better messages for warnings when tag names or colors might clash.

Enjoy.

Helping people parachute into projects faster

In many of our customers, we find there are specialists who get pulled into many different projects (boards) at the same time, to do very specific tasks.

An example would be an security specialist who is called in to do a vulnerability assessment on every development effort that’s underway within an IT organization. Or, corporate counsel who are asked to review final drafts of every contract, after everything else about the negotiation has completed.

In all situations it’s important to help new team members come up to speed as quickly as possible, but for situations where people are parachuting in to handle specialist tasks, the motivations are a little different: the specialists often don’t care about every detail of the board — which means they don’t care for most of the cards that are already on the Task Board or Scrum Board.

Instead, they want to quickly see what’s been assigned to them, get these work items done, and (hopefully) get out quickly.

So, how can Kerika help people who parachute into projects in mid-stream? By drawing their attention to what’s expected of them.

Here’s how it works:

When you invite someone to join a board’s team, their status is shown as Pending invitation in the Board Team dialog:

Pending Invitation
Pending Invitation

Kerika lets you pre-assign cards while you are waiting for the new team member to join: in the example above, Dennis could be assigned cards while the team is waiting for him to act upon the invitation.

When Dennis does accept the invitation, the Kerika welcome dialog works to guide him to a fast start in his new project:

Welcome message for invited users
Welcome message for invited users

The welcome dialog starts by giving the new team member a quick overview of the project’s state: how long it’s been going on, how many cards are on the board — and, critically, how many cards are already assigned to the newly arrived team member.

Clicking on the See My Cards button in the welcome dialog provides a fast way for the new user to see what’s expected of him/her in this new project:

Highlighted cards
Highlighted cards

This feature will be especially useful for specialists who are called in to handle specific tasks on many simultaneous projects: they won’t care about all the cards on each board, just what’s assigned to them.

Get in quick, get your work done fast, and then get out again.

Changing the Owner of a Board

People usually don’t pay attention to the question of who owns a particular board, but it is an important question to consider when you create a new board: the Account Owner owns not just the board, but also all the files attached to cards and canvases on that board.

This is not always important (and often not important in day-to-day use of Kerika): our deep integration with Google and Box ensures that everyone who is part of the board team has automatic access to all the files needed for that board, with access permissions managed according to each individual’s role on the board: Board Admins and Team Members get read+write access; Visitors get read-only access.

(And, as people join or leave board teams, or their roles on a particular board’s team changes, Kerika automatically manages their access to the underlying project files, regardless of whether these are being stored in Google or Box.)

But when someone is planning to leave an organization, the question of ownership can suddenly become important: you don’t want an ex-employee to continue to own critical project files.

Changing ownership of boards was not something that was easily done in the past — there were workarounds, but they were fairly cumbersome and obscure — and we mostly handled these as special requests, on a case-by-case basis.

With our newest update to Kerika, this is no longer the case: changing the ownership of a board is a simple process that can be initiated at any time by the current owner of a board:

Change Board Owner
Change Board Owner

You can ask any other Kerika user, who has signed up the same way as you did (i.e. either as Kerika+Google, Kerika+Box, or by directly signing up) to take ownership of a board. Because this is a consequential action, not something you should rush into, you are asked to confirm your intention by typing the word “YES”:

Confirming change in ownership
Confirming change in ownership

Once your request is sent off to the other user, the board is in a frozen state: existing members of the board team can continue to view the board, but no one can make any changes:

Board waiting for new owner
Board waiting for new owner

Board frozen while waiting for new owner
Board frozen while waiting for new owner

If you change your mind, you can cancel the request before it has been accepted.  This can be done by selecting the board from your Home Page:

Cancel ownership request
Cancel ownership request

You can also find your pending request in your Sentbox, and cancel it from there:

Cancelling pending request
Cancelling pending request

Note: once a board’s transfer is complete, it can’t be undone by you. If you really need to get ownership back of a board, you will need to ask the new owner to transfer the board to you.

An important caveat for Kerika+Google users

We try to ensure that files attached to a Kerika+Google board have their ownership changed at the same time as the board itself is transferred, but there are some limits to how Google will allow for a change in ownership:

All Kerika-related files are stored in a set of folders in a user’s Google Drive, organized by account and board.

Google let’s us change the owner of a folder, so we can make sure that when a board is transferred the ownership of the associated Google Drive folder is also changed.

However, for the individual files contained within the folder, Google only allows for a change of ownership of files that are part of Google Docs: documents, spreadsheets, presentations, forms, etc.

Files like images (.jpg, .png, .gif), zip files, and PDFs, for example, retain their old ownership between the Google API doesn’t let Kerika change the ownership of these “non-Google-formatted” file types.