Management Distilled

There have been tomes written on team management, but, if you whittle it to the core, it boils down to the following.

kettle-2178442_640.jpg

Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

You set crystal clear expectations so that everyone knows what is expected out of them. You create an environment where everyone can thrive and meet/exceed the set expectations. You periodically check-in to ensure people have what they need to excel. You hold people accountable. If you see people meeting/exceeding the set expectations, you positively reinforce it. If someone is not able to meet the set expectations, you figure out what is going wrong and fix that. Rinse and repeat.

The above is management in as few words as possible.

Multiple books can and have been written on each sentence in the above paragraph.

Image by Pexels from Pixabay.

Competitive Advantage

Are you focussing enough on developer productivity? If not, read on why you should.

Technology is getting commoditized these days. In the yesteryears, you could have counted on your software frameworks and technologies, hardware prowess, access to capital and talent pool as significant competitive advantages. In a world, which is getting commoditized day by day, the access to these has been democratized, thus leveling the playing field. Today, it does not matter whether you are a single person startup or a large multinational corporation; everyone has access to almost the same resources.

erwan-hesry-102070-unsplash.jpg

Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

Cloud providers ensure you have enough servers and hardware at your disposal to meet your growing demands. Open source frameworks and technologies provide the required technological backbone to build stuff. Umpteen services exist to recruit talent and develop products; co-working spaces take care of your physical office requirement at an amenable cost; social media gives you access to a broad marketing audience. In spite of these, if you are short on capital or want to splurge, there is the ever-growing VC industry to take care of your capital needs. The icing on the cake is internet and sites like Stackoverflow and Coursera which have levelled the playing field when it comes to access to knowledge.

In light of this, what constitutes your business competitive advantage? One short answer, developer productivity.

Developer productivity dictates how well you can effectively and efficiently leverage all the resources at your disposal to build a great product and trounce your rivals. Developer productivity is a trifecta of having the right engineering tools, structure and processes. When you excel in these three, developers can move fast, and business can conquer markets with ease.

Developer productivity is too vast a topic to be covered in one post. I will be writing more on this in the coming months; it is an area which is extremely close to my heart, and I firmly believe companies do not focus enough on this.

Photo by Erwan Hesry on Unsplash

Daily Standup

Are you confused as to whether to do a daily standup or not for your team? Read on why you should.

Daily standups are a hotly contested and controversial topic in the software industry. There are some who actively champion it, and then there are others who detest it. I belong to the former camp, and firmly believe every team should do a daily standup.

One of the primary problems that teams face is information asymmetry. Some members tend not to know what their teammates are up to; this results in individuals becoming islands and a breakdown in efficiency. I can write an entire post on the problems this causes but for some other day. One of the reasons for this is not everyone in the team communicates at the same level; all teams face communication asymmetry.

margarida-csilva-121801-unsplash.jpg

Get articles on coding, software and product development, managing software teams, scaling organisations and enhancing productivity by subscribing to my blog

There is a vast diversity in humans when it comes to communication. Some excel in it; some do not. Efficient and timely communication can make or break teams and are a huge indicator of a team’s success. Standups force everyone to communicate. You do not have the option of not communicating during a standup.

A format I have seen work is going around with each one telling:
1. What they did yesterday.
2. What they plan to do today.
3. Any blockers they are facing which needs immediate attention.

This ensures everyone in the team knows what their teammates are working on.

Apart from information proliferation, this also helps in surfacing blockers. A lot many people do not know when to surface blockers, and they wait for things to go down before yelling for help. Daily standup gives everyone a forum to do it before shit hits the fan. It also allows others in the team to intervene and course correct when needed.

As with any meeting, it is paramount to keep daily standups short and sweet. Do not allow anyone to hijack the daily standup for lengthy or off-track discussions. Do it outside the standup.

One downside of standup is that people who communicate well and efficiently feel penalized and do not see the worth of it. I was in this camp when I was new to the industry, but as I have built teams and scaled organizations, I have become an acolyte of daily standups. If it is of any solace, think of it like taking one for the team and the organization.

Photo by Margarida CSilva on Unsplash

Deviation From Expected

Someone sitting at a distance asks for the water bottle near me. I pick up the bottle and throw it at that person. Surprisingly, the cap is not screwed. Water splashes all over. When a bottle has its cap on, we usually expect it to be tightly screwed. When something deviates from the expected, unless there is an indication saying so, it creates trouble and confusion.

arrows-1834859_640

The same principle applies to systems and application design. For example, let us say that you have a development server where someone is running a production cron job. Since this is a development server, someone might take it down for experimentation. No one expects the non-availability of a development server to have untoward consequence.

Whenever you deviate from the expected, ensure you scream from the top of your voice so that no one misses it. Documentation, common conventions and putting in the right processes are some of the ways to mitigate this. The best is not to do it. Whatever you are doing, it always helps to ask, is this a deviation from the expected? If I am not part of the inner circle, would I expect it to be like this?

Resolving Disagreements

When you disagree with something, either you do it because you think your idea is better or you want to keep your ego intact. Let us ignore the latter and focus on the former where the intention is to let the best idea win. When a group of people sit down and try to resolve disagreements, many a time, it goes nowhere. Sometimes you get this strange feeling of things going around in a circle. This is due to whataboutery and shifting goal posts. You start with an objective, as the discussion progresses, statements lead to counter statements and at the end, no one knows what they are trying to resolve.

antagonism-1940188_640

A straightforward hack to keep discussions on track is to write things down. Project a shared document where you note the objective and the point of contention. Whenever matters go awry, point people to the shared document; this helps everyone involved to stay focused and not to shift goal post as the discussion progresses.

Irrespective of how rational and mature one is, when someone disagrees with something that one believes to be true, one tends to become defensive and shift goal post without truly being aware of it. Writing things down makes one aware of this and helps course correct.

My View

I was looking at Jimi wallets online. Someone peeked at my laptop and asked what it is? I explained it is a rugged waterproof wallet. The other person’s immediate reaction was – Why would anyone need this? This person has never faced the fury of rain while cycling outside.

paint-2985569_640

Whenever I explain startups spending marketing dollars to acquire users even when they are not generating any profit, I get a stunned look from people coming from a traditional business background. It is difficult for them to grasp the concept of betting on explosive future growth at the expense of today.

Phil Knight, in his book Shoe Dog, writes a lot about how his bank was asking him to preserve capital when all he wanted to do was grow Nike at all costs during its fledgling years.

A lot of prolific US citizens opinionated that Trump had a naught chance at US presidency. The same goes for Brexit.

What is common in all these situations is a difficulty in viewing the world from a lens not tarred by our own experiences. Even if you want to do this, it is tough to implement because you do not know where to draw the line. Tomorrow, if a person tells you that she has invented the perpetual motion machine, what do you do? Do you dismiss it outright or be skeptical of this person’s claim?

In all these scenarios you have to suspend your rational mind and view things from a radically incongruent perspective. It is easy to write this but extremely difficult to implement.

Ingratitude

Zoho’s domain was inaccessible for a while. This is an embarrassing event for a software organization.

Whenever I hear of events like this, I am reminded of a couple of pages in “The Black Swan“. Taleb calls it “A new kind of ingratitude”.

The idea presented by Taleb essentially boils down to a person who takes steps to prevent something catastrophic from happening. Since that person has taken steps to prevent the catastrophe, the catastrophe never occurs. Thus the person never gets his due and dies a silent hero.

This is a very fascinating thought that keeps repeating in all aspects of life. Whenever it floods, we make a big deal of politicians who fold their sleeves and get into action. What about that politician who took the necessary steps to prevent flooding?

Whenever there is a production issue at work and a team goes out of their way to put out the fire, that team is lauded. What about those teams that took steps to prevent something like this from occurring in the first place?

Software security is one big area that falls in this category. If you have a great security team, life would go on humming silently. You need to have the right tech leadership to recognize this otherwise it falls bang into ingratitude category.

This is a very obvious thought but Taleb has done a great job of giving structure to this idea. If you keep your eyes open, you see this happening around you all the time.