Tuesday 20 February 2018

Etiquette in Workspace Collaboration Tools


These are a set of guidelines that helps everyone to play nice and fair while communicating especially on mediums like Slack, Teams or Mattermost be it at your workplace or other online communities.

Remember, while we are communicating over these mediums, neither our body language nor our voice is heard by other individuals who are reading our messages. This requires us to put in an effort while writing replies or initiating new conversations.

Direct vs Indirect Messages

Always try to avoid direct usage of english. They might find your directness rude and possibly offensive. By adjusting your tone, you are more likely to get a positive response from your reader.

Consider these:
  • Direct – You are doing it wrong.
  • Indirect and polite – The way it is being done might not be the right way. Do you mind checking it once?
  • Direct – You are using a non standard practice. You need to follow the steps as documented.
  • Indirect – I’m afraid that what is being followed might not be the standard practice. It will be beneficial to follow the steps as documented.
  • Direct – It’s a bad idea
  • Indirect – To be honest, I’m not sure if that would be a good idea.

We instead of You

Try to avoid the usage of “you” and substitute that with “we”. It can create wonders. The moment we use “we”, it becomes an inclusive conversation and the team feeling is higher and collaboration increases.

Consider these:
  • You – You need to look into the logs and figure out.
  • We – We need to look into the logs and figure out.
  • You – You have to request for it with another team. Raise a JIRA ticket.
  • We – We have to request for it with another team. Please raise a JIRA ticket.

And instead of But

Avoid the usage of “but” and substitute that with “and”. Try it out and see how the negative connotation of “but” just disappears.

Consider this:
  • But – The logs are placed in a directory but you need to browse to the path to get the details.
  • And – The logs are placed in a directory and we need to browse to the path to get the details.

Complete and Simple

Write complete and simple sentences.
Do not pollute the conversation thread with one liners one after the other.
It is not an ideal situation for the reader to get 10 notifications on his phone for every line you type and press enter. Instead send a single message with multiple lines and complete sentences.

Basic English Rules

Be very careful of capital letters, punctuation, spelling and basic grammar.

Nothing is more unpleasant than getting a reply which requires the reader to read multiple times to figure out where the sentence starts and ends along with multiple grammatical and spelling mistakes.
Share:

Sunday 12 November 2017

Story Points :facepalm:

Why is that many leaders still don’t get what is story point based estimation?

An attempt to explain the basics.

What Are Story Points?

Story point is a relative value of the size of a story in comparison with another story. For a team we can have multiple such base stories to ease estimation as every team member might not be aware of every type of work. The absolute values we assign are unimportant and what matters is only the relative values.

What Values To Use For Story Points?

In practice, we can use the fibonacci series (pronounced as fibi-no-chi), which takes these values - 0, 1, 2, 3, 5, 8, 13

What If The Story Point is Higher Than 13?

That indicates that the story is actually too big to be handled as a single item. Discuss and work with the product owner and split into multiple stories as functional slices. Do not split into pieces like "Write Code" and "Testing" as two different stories. That introduces waterfall into Scrum.

Who Does Story Point Estimates?

It's the Team. There are multiple ways to do this when there are many scrum teams. The core idea is that it's a relative value and hence to maintain uniformity it needs to be done in a uniform way across sprints.
  • Team representatives sit together and do this estimates during the Grooming meeting for the top 10-15 items for 3-4 scrum teams. (Use planning poker)
  • Delegate this to an individual who is well aware of the complexities and technical details of the project.

What's the Use of Story Point Estimates?

This is to achieve what is known as the burn down of Epics and Stories (this is very different than the Sprint burn down which is based on effort estimates of tasks which is in hours). This is critical in doing Release planning which in turn helps to make customer commitments.

Let's take an example.
  • An Epic has a total story point of 100. (Remember this value of 100 itself changes over times as team starts the implementation and more and more stories surface)
  • The team is able to burn on an average of 10 story points over the last three sprints (it's always a rolling average of last three sprints). This is also called as velocity of the team.
  • Let's assume that out of 100 story points, 40 is already completed.
  • So to burn the remaining 60, it will take 60/10 = 6 more sprints to complete the Epic.
Share:

Monday 21 August 2017

The so called Hi messages

Many times we get greeted by just Hi or Hey messages from our colleagues and friends in our various messaging systems. Be it Slack, Mattermost, Teams, Hangouts or whatever messaging systems that you use. This is one of the most irritating (sorry to use that word, couldn’t find a subtle one), messages that you can ever receive.


Messaging systems are meant for asynchronous messages. Expecting that the person at the other end of the conversation is always available to answer the hi/hey messages is too much of an expectation. Remember messaging someone is NOT like making a phone call. You cannot expect an immediate response there.


Follow these simple etiquettes next time you message your friend or colleague.
  1. Write the complete content that you are planning to ask the person in a single message (as much as possible)
  2. May be you can start with a Hi, but make sure it is a multi-line message with the actual content. There is nothing more irritating than receiving 10 notifications in the mobile or laptop when someone starts messaging you.
  3. If you do not get a response, do not start nudging them immediately. There are many reasons why someone decides not to respond; they might be busy; they might have to check something before they respond; they might be away from their mobile/laptop; they might be on vacation.
Happy messaging.
Share:

Wednesday 1 March 2017

Testing Thoughts

I am not the original author of this post’s contents.

I recently found this email reply from John Mitchell while discussing the testing aspects of micro services in our project. It is so informative that I didn't want this to get lost in emails. Adding this here.

(Names have been changed to keep the focus on the topic under discussion)


Hi PersonA,

I think our discussions about the Quality Criteria were pretty clear…
  • And to be even more precise, they must be able to be automatically run as part of the appropriate phases in the pipeline.
  • APIs
  • Message / file formats, etc.
  • UI’s which they provide
  • Telemetry which they generate for business/application/operation/etc. monitoring/alerting/tracking/etc.
Martin’s slide that you pointed is no excuse to get out of any of the above. He’s pointing out, as I did, that false metrics such as “code coverage” percentages are misleading and inefficient ways to measure actual quality of the software (as opposed to trying to force the team to spend time creating “tests”).

Again, as we discussed in our last meeting, if you achieve anything even remotely close to my list above (and on the quality criteria page) you will have created software that is quite high quality.

As I noted, people must stop over-indexing on this so-called end-to-end testing to the exclusion of the rest of the criteria. That’s what’s lead to the current mess that we have with the AppA bundle today. It’s precisely the fact that each of those various angles/levels of testing are done (automatedly) that provide what we have talked about in terms of being able to bracket problems for much faster triage and debugging, achieve the sorts of testability for multiple uses, provide reality based assurances to InfoSec, the app teams, the management, etc. that are stuff really does work.

Thanks,

John
Share:

Thursday 22 September 2016

Using GCViewer For GC Analysis

GCViewer developed by Tagtraum Industries is one of the free tools that you can use to visually analyse the garbage collection logs.

Running GCViewer

The latest version is now maintained by chewiebug and available for download at http://sourceforge.net/projects/gcviewer/files/
  • Download the gcviewer-x.xx.jar to your local system
  • Launch the viewer by running java -jar path_to_gcviewer-x.xx.jar
  • You need Java version >= 1.7

Using GCViewer

  • Open the GC log file from the test run using GCViewer
  • Adjust the zoom levels (dropdown at the top) so that the graph fits the window and there are no scroll bars (to get an overview)

  • Check the trend of the 'Total Heap' usage of the VM. As long as it does not show an upward trend, VM is considered to be fine.
  • Check the right side of the tool for the information related to the run - Summary, Memory and Pause.





Summary

  • 'Number of full gc pauses' are of concern and healthy VM should not generally be doing a full GC (which means it should ideally be zero). Full GCs result in the VM being inactive till the GC completes.

Memory

  • The 'Total heap' gives an indication on how much the VM memory is loaded.

Pause

  • Total time spend on 'gc pauses' is of interest.
Share:

Tuesday 2 August 2016

macOS - Useful Utilities


Day-0

For getting the calendar along with time.
Download

BetterSnapTool

For those Windows users who is missing the maximize and automatic snapping of windows. It's worth it's price (Rs. 110).
Download

iTerm

A much better terminal than the built-in one that comes with Mac
Download

Clipmenu

Multiple clipboards to save you from losing your work.
Download

Skitch

Much better screen snapping tool.
Download
Share:

Tuesday 7 June 2016