Is your team effective?

When agile hit the market, any tech team which adopted it was virtually guaranteed to see improvements in product quality, delivery cycles, and customer satisfaction.

Now, any tech organization not exercising scrum or any of its agile siblings, there is probably something very wrong with how the organization thinks of its process. Then for a team who are already matured in the ways of agile, how do you know you are still offering relatively higher value compared to your competition?

Is your team focused on the end users?

One may say, of course, we are focused on users, what else would we be focused on? Well for starters, top management, career growth, latest technical fads, etc.

Now your user does not need to be the general public, in Twiga for example, our end users for a long time were sales reps and scouts. The point to remember here is who actually gets to interact with the application. Eventually, their need wins out.

Don’t get me wrong, you don’t need a UX team before you can consider yourself user-centric. Jeff Bezos famously keeps an empty seat for the customer. Such simple acts are enough to prompt your inborn empathy as you work on the product.

Do you understand how the business generates value?

I naturally love puzzles. One of the reasons I fell in love with tech is I genuinely felt I was being paid to come into work every day to solve puzzles. I would bet a good number of engineers are cut from this cloth.

The best engineers love their work, they continuously pursue excellence in their craft simply because it gives joy.

It came as a surprise to realize mastery of craft does not necessarily translate into business value. In fact, my answer to the question “How do I become successful in my business career?” is simply “Be reliable.”

The truth is most business problems are simple, you just need to take the time to understand them and then orient your team towards solving pain points with the greatest business impact. Sometimes this means reworking the entire architecture to microservices most times it’s merely splitting out a SQL report to better fit different types of data consumers.

Are you taking advantage of your opportunities?

Problems almost always seem to win over opportunities. Problems are clear, immediate and painful. If your head hurts, you will find your way to a hospital in short order, if a gym opens up near you with a lifetime 50% discount for all charter members, you may never sign up.

Yet, as a tech organization, you have unique insight on the going concerns of the business, you may see chances for dramatic improvements in operational excellence which you are the most suited to solve. If you are only focused on the problems of yesterday: The users who crashed, the inefficient use of the DB pool, etc. then you will never have the mind space to contribute to the future of your business proactively.

How do you measure the effectiveness of your tech organization? Talk to me in the comment section below, my Linked in chenchajacob  or my twitter @jchex


How to write an agenda


Previously, I have talked about the value of an agenda In fact. I went so far as to say a meeting without an agenda is probably a waste of your time.

I still stand by these words thou now there is more to say. Having an agenda at all gets you 80% of the way there, how do you cover the rest of the way? Better agendas of course!

In this entry, I will be sharing some thoughts on how to craft your agenda. These are the questions you as the meeting sponsor should be mindful of.

Why is this meeting needed?

In organizations, meetings are a way of life. In fact, once you become a manager, meetings are the way you get your work done.

A basketball player has his court, a sculptor his marble, a manager has his meetings.

Yet every meeting needs to have a purpose. Do you want to:

  • Pass on some information to the team?
  • Get an update from the team?
  • Collaboratively solve a big strategic problem?
  • Have the team update each other?
  • Hold court so they all know who is boss?

If you don’t know what you want, the confusion will radiate across the whole group spreading woe and misery to all who have to sit in.

This doesn’t mean you have to be dead set on what you want to be done. It simply means you have to have an end goal in mind if then you have to modify it, at least you know what you are modifying.

Who needs to be in the meeting?

An organization, at least the successful ones, pull in one direction. To achieve this, you must understand what it takes to get things done.

You must be acutely aware of who can:

  • Provide know-how on the meeting objectives
  • Veto the meeting actions/decisions
  • Will act on the outcomes from the decision

Provide know-how on the meeting objectives

In today’s economy, knowledge is specialized, this is why we form organizations, to bring together multiple domains of knowledge to bear on a single well defined problem.

With this in mind, if you are calling a meeting to solve a problem, it’s useful to think who would have expertise in these kinds of problems. This way you would save time otherwise wasted in trial and error.

Veto the meeting actions/decisions

I have heard of flat organizations, I am yet to see one without any kind of hierarchy and is a going concern.

Unless you are the owner and CEO, you probably have someone or a group of someones who can overturn your decisions. You need to be mindful of how important the purpose of the meeting is to them.

Consider inviting them to the meeting or at least sharing the important factors you are to discuss and have them give you their opinion beforehand.

Will act on the outcomes from the decision

Handoffs don’t usually work. If you want someone to do the work well, they need a sense of ownership over the work. The most effective way to get there is to co-opt them into the decision making progress.

Even if you don’t end up adopting their ideas, they should be sure their ideas were given full consideration and turned down on the basis of merit.

What will be the output?

A meeting that does not produce any artifact is better classified as a hangout.

You need to be clear on what exactly will be the output of the session. This can come in multiple formats:

  • An action list
  • A decision
  • A report
  • A statement

The idea here is a meeting is rarely a reason in itself for existing. It supports another process or a bigger objective. The output of the discussion then needs to come out in a format another person or team can consume.

How will the meeting be run?

Meetings come in all types, some are short and sweet others are long and engaging. The point is to identify how you plan on having the team work together.

Some of the common ways include:

  • Individual updates in a round robin
  • Brainstorming session where all ideas are dumped into a common board
  • Listing session where ideas related to one item are solicited
  • Executive update where the sponsor gives information and fields questions
  • Timeboxed deliberation where agenda items are discussed with no aim for a resolution

The way of working will depend on your organization. The point is by being clear on it, you are able to make the most of the time the session runs.

How do you build an agenda in your organization? Talk to me in the comment section below, my Linked in chenchajacob  or my twitter @jchex



What to consider when growing your team


In the course of our working lives, we have to make a whole lot of decisions. In this entry, I would like to take the time to reflect on what I think are the most important decisions you have to make, hiring, firing, and promoting.

As the leader of your team, it is your responsibility to nurture it to maturity. This means you can not abdicate hiring decisions to HR, staffing firm or even hiring system.

Obviously most of us don’t really originate the teams we lead, we inherit them, still your most important work remains this team, when you took on the job, you became accountable for its performance.

With that said, let me delve right into what it takes to make great staffing decisions for your team.

What does each role do?

A characteristic of the modern economy is specialization. Within our teams, this manifests as highly specialized roles.

For example in a tech team you may have:

  • Backend developer
  • Front developer
  • Designer
  • UXer

Depending on your business even more nuanced roles may come up.

Looking at this composition, the most obvious take away is none of the team members are any good by themselves. What good does a Designer do if no one translates her designs to a working system?

As I stress in other posts, tech is an organ of the business, it gets its raison d’être from the business of which it is a part.

Thus your duty as the leader of the team is to carefully consider (best done with the team) what value the team offers to the business. Once this is done, consider how each role contributes to the generation of this value.

The exercise will help you more clearly see the roles, who would fit in them, missing roles and even redundant roles.

Remember, the character of the roles changes with the rhythms of the business. An example would be the perfect backend engineer role when the business serviced 20 customers may fit the bill for an SRE engineer now that the business serves 100 customers.

What strengths are needed for each position?

I used to believe all humans are equal in ability and temperament, all that matters is the effort put into the work. I have come to learn from experience this is not true.

Each person comes equipped with a natural set of strengths and weaknesses.

There is no point in trying to mold a naturally creative but otherwise disorganized person as your coordinator. Likewise, it would be foolish to strap your “by the rules kind of gal” into a position requiring constant adaptation.

Now, this is not to say weaknesses can’t be overcome, of course, they can, the challenge is even if they are, what you end up with is at best an average performer.

The point here is not to eliminate glaring weaknesses, even the most charming salesperson is to be relieved of his role if he repeatedly shows up to important meetings inebriated.

What are behaviors to look out for?

In time, I have come to realize people judge themselves by their intentions and not by their actions. This would be ok if intentions and actions match, but you must have come across individuals who consistently act against their self-interest in ways which dumbfound even themselves.

What is the implication of this odd fact as you make hiring decisions?

You must focus on behaviors and not on statements of intent. You must teach yourself to drill into the details. If an interviewee says I taught myself python, ask what projects they have actually done in this project, then ask to see the codebase. If you have the time, see the commit history!

When defining the role, think deeply about what behaviors they will need to exhibit in order to be successful in this role. This can help you and other hiring managers ask the right questions.

For example, I hold people who have self-taught in high regard. There is something special about someone who after all the stress of their day jobs still manages to get home and finish a course not directly related to their current job. This is a behavior, not an intent.

Now that they have joined, what next?

I am not one easily accused of micromanagement. I believe each team member should be able to set their own working style and priorities as long as they align with the business goals.

The problem is if a new hire or recently promoted staffer has no idea what the role involves. In this case, some guidance is needed.

This is because a person’s performance depends on both their ability and experience on the job. So a person who has great ability but no idea what the job is all about will likely fail. A person with low ability should likely not be in your team at all.

Personally, I use OKRs (Objectives and Key results). Together, we brainstorm on 5-10 objectives for the next quarter, I give them a week to think about it, we then whittle down the list to the top 3 and attach some measurable results to tell us if they met the objectives.

How do you make staffing decisions? Talk to me in the comment section below, my Linked in chenchajacob  or my twitter @jchex