Planning for change

Let me begin by illustrating how change can come rapidly to even the most mature systems.

At Twiga, one of the Tech team’s critical areas of responsibilities is the DMS. This system is an internal propriety system that helps us manage each and every aspect of the value chain.

For a very long time, the business has been focused on Fresh Foods and Vegetables (FFV). For the system, it meant we could use Kilograms (Kgs) as the Stock Keeping Unit (SKU). The idea was, you buy from the farmer in Kgs, you store and ripen in Kgs and finally sell in, you guessed it! Kgs.

The concept of Kgs as a standard unit of measurement worked so well for so many years, you could see the signs of the idea in virtually every report.

Well recently, the business decided to add Fast Moving Consumer Goods (FMCGs) to its offering. FMCG include the likes of Flour, Cooking Oil, Sweets, etc.

The problem with FMCGs is, of course, the concept of Kgs doesn’t map very well. How many Kgs is a packet of sweets for example? Does anybody buy their tea leaves in Kgs?

So we now have an interesting situation, flour would be bought in bales, stored in pallets and sold in packets.

As you can imagine, there was a lot of pressure to bring the system up to speed. Every day we were not selling was a day the company lost revenue.

Eventually we did solve the problem and adapted the system. The key takeaway here is you should anticipate change not just in requirements, but in concepts the business is built on top of.

Here I will point out some of the tips you can use to manage significant changes better.

See requirements gathering as a continuous negotiation.

Tech teams have a reputation of being inflexible. Who can blame us, we are good at delivering on what we promised and its hard to understand why others see it fit to change their minds on a whim.

Yet to go past “meets requirements” to “exceedingly valuable,” we must see tech, not as an external party who checks of items in a scope document, but as an integral partner who shapes the work to be done.

If you do take on this mindset, you don’t wait for the client to simply tell you what they want, you dig deeper and see the problematic situations they face. You try to understand how they came up with their requirements and then see if you can help them refine it so that it better solves their problems.

In this process, you must understand you are dealing with a human being not a machine, some of their needs they may not be able to express. Remember, you are the one with the years of technical training and experience. Still, they must feel respected and listened to, they probably have even more expertise in a different line of work.

In all this, remember to treat your client as a colleague and maybe even a friend. This relationship is what will keep things going in the tough times.

Give the pessimistic date

“All Models Are Wrong, Some Are Useful”

George E. Box

Standard industry knowledge states you should give a range of dates for delivery. For example, we will get this done sometime between 10th Sept and 1st Oct. That’s some good advice if people were able to grasp what you mean entirely. In my experience, what happens is they tend to forget the later date and then push you for not meeting the more aggressive deadline!

Certainty, even when dead wrong is incredibly valued in business settings.

I think a better way is to just give the pessimistic date. This works even better if you already plan your work in sprints. Then you can say this is planned for 4 sprints from now.

A useful rule of thumb would be to plan your work as usual but allow a full day for the team to work on changes every 10-day working period.

The confidence trap

For most teams, especially internal teams. The person giving instructions occupies a higher position in the totem pole. For the most part, it means when they look into their past, all they see is their success and how they have been right while others were wrong.

There is nothing wrong with this mindset, confidence is another highly valued trait for business leaders. Unfortunately, what it means for you is they will likely have a solid sense of what they want to achieve and will actively resist being persuaded otherwise. They will tell you what they want, how they want it done and how long it should take. Conveniently forgetting their expertise doesn’t neatly translate into tech.

For this kind of situation, there really is no clear answer. The best thing to do is to massage the client’s ego as much as possible while actively involving them in the development process. You will come to find there is a lot of value in engaging a committed and smart professional in your thinking.

How do you handle large changes in your own organization? Talk to me in the comment section below, my Linked in chenchajacob or my twitter @jchex


Lessons in growing a self organizing team

Late last year, in the cold Karen weather, we were in a management retreat discussing Twiga’s quarterly performance and what needed to be done to take the business to the next level.

Grant, the co-founder, and CEO of the business stood up to speak to his gathered managers. He said something paradoxical.

“If you want to succeed in this company, you must make yourself redundant”

The unexpressed question hanging over everyone’s head: Isn’t redundancy an unwanted ticket home?

But then I understood the paradox, if you are needed too much in your current position, you will never have the bandwidth to take on new challenges in the fast-growing organization.

I decided to risk it and work with the team I am part of, tech, to hone our self-organization skills. By this, I mean our ability to identify value creation opportunities within the business and act on it while at the same time remaining reliable in the delivery of committed objectives.

In this article, we will be discussing some of what we think works.

Master communication

A big part of managing is being a message broker. When the team is just you, communication is instantaneous, you make a decision, you act on the decision. When one other person is hired, you now must have a discussion with at least one other person before significant action. Once you get to 5 people, every other person must communicate with every other person meaning you now have 10 communication pathways.

As Richard Hackman points out:

“A colleague and I once did some research showing that as a team gets bigger, the number of links that need to be managed among members goes up at an accelerating, almost exponential rate. It’s managing the links between members that gets teams into trouble.”

More specifically, the formula for determining the number of links between members in a group: n(n-1)/2. Where n is the number of members.

The manager then acts by being the person everybody refers to, cutting the links back to a more manageable (n-1). Yet this is what we don’t want.

To solve for this, don’t waste time seeking consensus.

I am generally an agreeable person. Yet, I have come to find out if you put enough smart people in a room they are bound to disagree on important issues. Even worse, you will come to find none of them is demonstrably wrong.

In this environment getting everyone to agree is a waste of time, a more productive path is seeking buy-in.

You will come to find most smart people will support, even commit to an idea if they feel their own view has been given proper consideration.

So what you ask of them is not agreement but commitment.

Provide context and let the team figure it out

No one is promoted to a post where they manage others because they were incompetent at their jobs. Yet what makes you successful as an individual contributor is diametric to what makes you successful as a manager.

Think about the developer who is now the engineering manager. One of his developers is struggling to get a feature done, and the demo is in a few days. The manager knows if he rolls up his sleeves, he can get the work done this evening. He is not looking forward to embarrassing the team in front of the senior leadership, what should the manager do, continue waiting on the feature or get it done himself?

If you chose the latter option, don’t worry you are in the majority. The feature does get done, the powers that be are happy but the team has learned an insidious lesson when it gets tough, give the work to the boss.

The solution here is to appreciate just how much your job has changed now that you are the manager. Your work no longer entails getting things done; it’s now making peoples skills effective.

This shift in mindset means you will no longer experience the highs that come from getting a feature done, you now must find joy in the success of others.

You should now work hard to clearly illuminate the work that needs to be done, then step aside and watch as others find success in this path.

As the legendary Steve Jobs put it:

It doesn’t make sense to hire smart people and tell them what to do; we hire smart people so they can tell us what to do.

Find common purpose

Teams are formed for many reasons, the reasons, for the most part, get lost in time. There is no point in focusing on why the group was formed, at best this can help provide context, the team now must decide on its reason for being.

I have come to find smart people generally resist being told what to do. Yet they will passionately commit to what they have chosen to do.

Victor Frankl said:

In some ways suffering ceases to be suffering at the moment it finds a meaning, such as the meaning of a sacrifice.

This illustrates then the difference between compliance and commitment. Compliance is what happens when the team does what you tell them to do, commitment is what happens when they do what they have chosen to do.

Your work is clear, let your team know what are your priorities, your posterities, what is going on in the business what are the emerging problems and then ask “Knowing all this, how do you think your contribution will be effective?”

How do you help your teams grow? Talk to me in the comment section below, my Linked in chenchajacob or my twitter @jchex


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