Tag Archives: Teams

The two warring tribes within small business IT and software development and how to make peace

Lisa Jaspers LinkedIn article struck a chord. She identified a huge issue that affects any small business IT/Development team that is tasked with BOTH maintaining existing systems as well as facilitating new product development.

In small companies, usually a single team has to do both existing system maintenance as well as new product development. This duality can  create a “two warring tribes” atmosphere. And as Lisa states in her article, you can’t just add roles here and there and solve the problem.

Sometimes the warring tribes exist inside the individual as they feel pressure from both camps to do different, yet equally urgent, work. Sometimes they exist as 2 groups of developers within the same team, competing for resources, priority, or direction.

Warring Tribe #1: Maintenance Tribe

Your existing systems, software, and products carry the company. They pay the bills, enable the work, and serve the customers.

But, over time, these systems require patches, bug fixes, updates, security changes, regulatory modifications and customer feature additions. Maintenance, support, and caretaking of these systems can consume a small team.

It’s like your company is in a boat in the middle of the ocean and the boat is made up of the existing systems and products. Any leaks or issues with the boat have to be corrected quickly lest you risk the boat beginning to sink. This is existing system maintenance. Yeah, small leaks can be ignored for a while. You can hire more folks to ‘bail water’. But in most cases existing system maintenance issues will soon trump new product developer in time and dollars.

Warring Tribe #2: New Product Tribe

New product development, on the other hand, is like building a new boat, while you’re still in the old boat, without sinking either boat.

When there are existing product or system issues or urgent features needed for the paying customers, you pull your team out of the new boat and back into the old boat. When existing maintenance furor dies down the team heads back to the new product and continues on. This back and forth focus shift is more expensive than you think. It causes both tribes to suffer. And it causes the results of both tribes to suffer.

Influences on Tribal membership

When I was a developer, getting picked to go build the “new thing” was special. It was like getting drafted in the NFL. Or like getting asked to the prom by someone you really liked. You were desired and worthy of helping accomplish an important initiative for the company.  Getting “left behind” to continue to maintain systems was not as desirable. You got to sit out the prom. No dancing for you.

However, for others, who had key hands in building an existing system, they wanted to stay behind and continue to nurture their ‘baby’.  They had little desire to go and build something new.

In a large company setting, an engineer may get the flexibility to choose. And some engineers can do either.  But in a small company setting, you don’t always get that choice.

The same tension between  doing something new, or staying behind and shepherd something current, also affects project managers, QA folks, DBA, system admins and other roles within the team.

Ways to make peace

1. The two team approach

If you have enough resources you can divide and conquer to some extent. Pick those who want to go and help out with the new thing and allow them to focus on that exclusive, leaving those in favor of maintaining the existing systems in place.

I have seen this method work well.  Small, competent, focused teams can make progress very quickly. In the end, this is probably the most desired approach as Lisa Jasper shares, “because product development is such a different mindset“. A dedicated team can focus on new tools, new processes, different vendors and the different mindset needed for new product development without distraction.

2. Bring in the reinforcements

Another approach, if your new product development takes too many of your resources is to strategically contract for necessary  bug fixes and feature work on existing systems. Using this approach can help minimize cost, focus effort on only the most important issues and help keep you from ‘gilding the lily’ on existing system improvements.

If your existing systems have a lot of baked in technical debt the outside, tactical contractor engagement may not make sense. The success of this approach hinges on finding a reliable contractor who is familiar with your tools/framework/languages or systems. If this is the case then tactical contractor engagements can be very useful.

The success of this approach hinges on finding a reliable contractor who is familiar with your tools/framework/languages or systems. If this is the case then tactical contractor engagements can be very useful.

3. Bring in another army

If your team is small and they don’t have the experience or knowledge in the  domains of the new product then you can consider outsourcing the new product development.

In one engagement, in the earlier days of the app store, our team was building and maintaining web applications and needed an iPhone app built. Our team knew databases and the languages and frameworks we used but none of us had any real experience with iOS or ObjectiveC. So after some research and comparison shopping, we went with a third party company that specialized in mobile app development to develop the app for us. If your new product need is specific enough this method can work well.

If your new product need is specific enough this method can work well.

4. Refactor

Another approach that is not as glamorous, is to refactor existing products. This is especially true in software. In software, refactoring refers to the process of re-structuring software code to improve its operation and add or take advantage of new features that could not be done in the prior state.

If your new product needs can be broken down into smaller more atomic features, it may be possible to use your existing team and refactor your current product to add certain aspects of what a new product would bring. In the end, this may be a less costly approach overall and bring incremental improvements online faster.

Pass the peace pipe

There is no one size fits all solution.

Each company and situation are different.

By taking the time to contemplate some of these options you may be able to come up with a new and creative approach that will enable you to deliver a great solution within the constraints of your team and budget. The strengths of your team, time to market needs and existing product structure all influence this type of decision.

But in the end, recognize the pulling forces between the two tribes and the different mindset required for new product development. If you do this you are well on your way to a more successful engagement.

How emotional immaturity is like a clogged toilet and what you can do about it

There are few thing more unpleasant to deal with than unclogging a toilet. Over the years I have heard those famous and dreaded words several times, “Dad, the toilet is clogged, again”. I am not sure who decided it was Dad’s problem when the toilet clogged but I would like a re-count.

Thankfully, most of the time the remedy is quick and the problem is literally flushed away in a few moments. Sometimes, however, the problem is more serious, messy and in need of professional assistance.

The last time this happened, while I was correcting the clog, it occurred to me that this is exactly what happens in teams of people where emotional maturity is lacking in one or more of the team members.

Emotional immaturity creates situations where things that should be flushed away quickly hang around and clog up other normal interactions and operations. And, like a clogged toilet, if they hang around too long things get ugly and very unpleasant fast. And everyone notices.

I have found that in order to best deal with these situations you have to act quickly as a manager or leader. The longer the situations are left hanging in the air the more team chemistry can be damaged.

So what can you do about an emotionally immature situation?

I have found that a quick, low key dialog as close to the point of the issue or incident is best. Think Ken Blanchard’s One Minute Manager. Try to be calm and focused, directly pointing out the observed issue, and desired action. Before you engage with the person, mentally rehearse what and how you need to say and try to anticipate their responses. If I am calm and low key in my approach I have found that the employee or colleague is more receptive. In most cases employees respond well and the issue is ‘flushed away’ and things are better. Most employees want to improve and when presented with actionable opportunities they will work to improve.

But what do you do when emotional issues  don’t change?

Some people lack the emotional maturity to handle basic relational situations like clear, open or honest communication, confrontation, conflict, compromise, or forgiveness. In other words, they missed the day in Kindergarten when getting along with others was taught. Others  remain emotionally opaque and can’t have meaningful relationships while some are just plain mean, devious and vengeful. These are the kind of people that can really ‘clog up’ your team and company.

In cases where someone is in that situation they have to learn and choose to make different choices, let go of anger, forgive, adapt, grow and become more open. It’s not easy. That person has to have a recognition that there is a problem and a willingness to make changes. Some folks can do that, others choose not to. And here, sometimes a professional is needed.

It’s not me it’s YOU

At one point in my career, there was a team member who basically operated with the attitude that if you ever did them wrong (actual or perceived) you were written off and nothing would change that. That person chose to remain full of anger and resentment toward their perceived injustices which led to deep seated bitterness. Their actions and attitudes created a negative atmosphere and affected team productivity and cohesion. Coaching, closed door meetings or pleadings could not change their anger or resentment toward the situation or the other team members.  And, in that case, it only got better when that person was no longer with the company. In this case, I was a victim of the sunk cost fallacy. I had already invested a lot of time and effort in trying to improve the situation so I didn’t take the necessary action when I should have. The delay hurt the team, the individual involved and me.

Necessary Changes

As a manager or leader in this situation you have to decide how critical the issue is, how disruptive it is to the team and how that on-going situation affects the department or company. You have to decide if the contribution of that employee is worth the disruption. Most of the time it is not. When your threshold is crossed and other forms of redress with the employee have not worked, you have to act in removing that troubling employee, either by re-assignment, moving to another department or division or firing them altogether. Dr. Henry Cloud, in his book “Necessary Endings” lays out clear guidelines and methods for these situations. I highly recommend it.

On a team that is operating at a high level, one bad apple can affect the whole lot. It is better to deal with issues while they are still small than to wait until the mess is really bad and stinky later.

Now, where is that plunger????