Category Archives: Management

DevOps and Ownership

“You build it, you run it” has been my mantra for many years now. A number of times I was approached by management and they asked who should be operating stuff that I had built. Because, allegedly, my time was too precious for doing such a mundane task like operations.

This is to all managers: Operations is neither mundane nor something for junior staff. It is in fact exactly the opposite. Operations is what keeps the organization alive. Operations is where the best people should be, because here the rubber (the developed software) hits the road. Operations is your last line of defense, when (not if) something goes catastrophically wrong. Operations is a key influencing factor on your organization’s ROI. Operations determines your ability to be agile on the market. Operations is key for customer satisfaction. I could go on and on, but likely you long got my point.

Of course there are some aspects to operations that, when things are done the wrong way, are repetitive and far from challenging. But that should mostly be behind us. Yes, in the 1960s we had people who did nothing but enter data. And until not too long ago a lot of operations was just ticking off check boxes on a to-do list. But with things like infrastructure as code (see my recent post on starting with Chef Infra Server), this should really be something from the past. What you need today are people who take pride in running a lean, highly automated, highly resilient IT organization.

And that is where it should be clear to everybody, that DevOps is much more about organization, knowledge, and collaboration beyond traditional “borders”, than about technology.

By the way: My response to management about who should run my stuff, has always been “me”. Because the applications were built to be as maintenance-free as possible. Only the occasional support ticket had to be answered and with proper logging/auditing that is nothing that takes a lot of time. And fixing the occasional bug was not a big deal either, thanks to Clean Code and test-automation.

This allowed me to support 6 business-critical applications as a “side-project”, i.e. no time was officially allocated. Comparable applications operated by other departments had at least three people full-time for support only.

Winning at All Costs

This is a bit of a follow-up to my recent post Don’t Promote for Performance .

After decades with an ever increasing focus on success, not only in commercial environments, we have all become so accustomed to it, that it feels strange to even take a step back and reconsider the approach. To be clear: I am not advocating a model where competition in and of itself is considered bad. Having seen what socialism had done to Eastern Germany, I am certainly not endorsing this or any similar model.

You may have heard the expression Pyrrhic Victory, which stems from an ancient battle (279 BC) where the winner suffered extreme losses that affected their military capabilities for years. Today it basically means that there had been too high a price for achieving a certain goal. And we see this all the time in today’s world.

Inside organizations it usually manifests as so-called “politics”, whereas I think that back-stabbing is a more suitable term in many cases. Someone tries to get something done at all costs, burning bridges along the way. This happens pretty much on all levels, and all too often people don’t even realize what they are doing. They are so focused on their target (usually because there is money for them in the game) that all “manners” are lost.

You probably had that experience, too, where someone treated you really badly, although they actually needed you in the process. This either means they are not aware of their behavior, i.e. there is total ignorance or simply a lack of self-reflection. Or they believe that by virtue of hierarchy you will have to do as they want now and also in the future.

Overall I think that such actions show unprofessional behavior. Firstly, these folks are basically advertising themselves as ruthless egomaniacs, which is becoming less and less acceptable. Secondly, as the saying goes, you always meet twice in live.

This is not to be mixed up with making an honest mistake that upsets people. Everybody does that sooner or later and I am no exception. If it happens to us, we are angry for a while and then move on. Also, in those cases people will mostly apologize once they realize what happened. For me this is simply civility and it is a vital component for an efficient (and probably also effective) way to interact socially.

The bottom line is that people who don’t treat their coworkers in a decent manner, inflict a lot of damage to the organization. If superiors then look the other way because “the numbers are ok”, they send a clear message that such behavior is actually desired. The outcome is what is called a toxic organization. Would you like to work at such a place?

A Techie’s View on Marketing

As a very technical person I have a somewhat unusual view on marketing. I do not buy into the “utterly useless” verdict that some technical folks have on marketing. But I also think that, probably just like us techies, some marketing folks overrate the importance of their domain. And I should probably add here that this post is written with enterprise software as the product category in mind. So naturally, a lot of the details will not match low-price consumer products.

In a nutshell I think that it is marketing’s job to attract (positive) attention of potential buyers. This can happen on several levels, e.g. brand or product marketing, online and print media, etc.  It also often includes special events and being present on trade shows. And last but not least, a relatively recent thing is called developer relations, where hard-core technical people are the specific target audience.

All these activities have the common goal to present a coherent and positive message to the (prospective) customer. The different stakeholders have vastly different demands, because of the perspective they take on the product (in this writing that always means services as well) and their background. So, put simply, they all need a message tailored to their need, which, at the same time, must be consistent with all the other versions for the other target channels.

On a high level that is not such a big deal. But at a closer look the different messages should not only be consistent but also be linked together at the correct points. Imagine a conversation where you just told a VP of logistics why your product really provides the value you claim. If you are then able to elegantly look over to the enterprise architect and explain why the product fits nicely into their overall IT strategy, that is a huge plus. And if you can then even bring the IT operations manager on board, with a side note about nice pre-built integrations with ITIL tools, you have done a really great job.

Some people will probably say that the hypothetical scenario above goes beyond marketing. I would say that it is beyond what a typical marketing department does. But the interesting question is where the content for such a conversation comes from. Is it the marketing department that employs some high-caliber people that are capable to bridge the various gaps? Or is it the sales team that has prepared things as an individual exercise (which often means that it is a one-off)?

The choice will greatly influence at least two critical KPIs. Cost of sales and lead conversion rate. The former is rather obvious, because it is about re-use and efficiency. But, as it is so often, the latter is much more critical because here we talk about effectiveness. Or in other words: It hurts much more if the deal is lost after having spent thousands of Euros or Dollars, than if we had to pay an additional 500 bucks to have an additional presentation be made that secures the deal.

This is in fact one of the things where in my view too many people have a predisposition for the wrong thing. Many will gladly jump onto how something could be done better, cheaper, etc. But relatively few will take a step back and ask whether it is the right thing to do in the first place.

The critical thing is that the various marketing messages are consistent with one another and, much more importantly, with the post-sales reality. Putting “lipstick on a pig” is not good marketing but somewhere between bullshitting and fraud. And the most precious thing in customer relationship is trust. So unless you need a deal to literally survive the next few weeks, you should resist the temptation to screw your customer. Word gets around …

Corona Virus: Disable Video in Calls?

With so many people working from home these days, the use of video calls has exploded. I personally think this is a good thing, because it changes the nature of calls dramatically. They move things closer to a personal interaction, which is a huge plus. The downside of this is an increase in the use of network bandwidth. Hence some people suggest to disable your video while not talking.

I would like to propose a slightly more nuanced approach. To me disabling the video while listening can be appropriate for meetings that are about content. If someone is sharing a screen so that people can discuss the current state of some work item, there is indeed little value from six small faces at the bottom of the screen.

But increasingly folks use video calls for social purposes, like the famous virtual morning coffee round. And here things are different in my view. As in the physical equivalent, there are people who dominate the discussion and those who mostly listen. The second group is just as important as the first, and not seeing their faces would be a great loss for the purpose of the call. So for this kind of meeting I recommend to leave video turned on at all times.

Corona Virus: Holding the Team Together

While the number of people who work remotely (usually from home) has been growing significantly for a number of years, it is still far away from mainstream. So when people are now forced to work from home entirely due to the Corona virus, it is a new experience for many. Do not underestimate the difference between doing this two days a week vs. full-blown.

Apart from individual challenges, this also means a big change for the team, we are usually  a part of. People have shown quite some creativity to overcome this situation and find ways to keep bonds strong. Some folks I know have introduced a virtual morning coffee round. Others started to use video for their conference calls for the first time, although they had so far rejected it.

Below you will find a video from the team of Simon Sinek. These people have been working remotely for years and share their approach to be a team, even if they almost never meet in reality. I can truly recommend watching this video.

Don’t Promote for Performance

Quite recently I heard a fascinating statement (Simon Sinek, again 🙂 ) about how the US Navy SEALs select people for promotion. It boils down to “trust over performance”. Allegedly, if they need to decide between someone who is a high performer that people do not really trust, and someone who is a mid to low performer that people trust, the latter wins.

The reason is the effect that someone not trusted will have on the organization. That person (and/or the promotion choice) will instill distrust with all its consequences into people. From my own experience I can only support that argument. Haven’t we all had that boss who made it clear from day one that only their own success mattered to them?

If we look at most commercial organizations, however, what is the reality there? Yes, performance is the only(!) thing that counts – and mostly it is short-term performance, which makes things even worse. It is really sad, and I have a hard time getting my head around it. Yes, in a way I am an idealist. But I think that I have been having a good-enough career to not be seen as out of touch with reality altogether. It is more that I increasingly think that corporate success happens not because of its management, but despite it.

I guess my thinking is also influenced by having had my own company while studying at university. The only thing that counted for me at the time was customer satisfaction. So, as I still like to say, after the deal is before the deal. The hit-and-run mentality sometimes seen in larger organizations is something I always thought to be, quite frankly, galactically stupid.

The good thing, though, is that things seem to starting changing gradually. Let’s support this and all have a better live. Oh, and one last thought: Why is it that senior managers, soon after having joined a new employer, bring on board people they know from before? Because they trust them.

Understanding the Problem

In recent weeks I have come across a number of readings and videos, which brought forward something that, in hindsight, had been nagging me for a very long time. Unfortunately I cannot provide a list of said material, because it has all happened subconsciously and only just “erupted” a few minutes before I started writing this.

The subject in question is the relevance of understanding a given problem for determining a solution. This sounds totally obvious if not even a bit silly, I admit. How would anyone be able to work on a problem that is not understood? But it becomes less silly if we re-phrase things a little bit.

So far the wording implied a somewhat binary view: Either the problem is understood or not. But in reality very little is truly binary. So instead we could say that the level of understanding of a problem is the primary driver for the outcome of the attempt to solve it. Admittedly, this still sounds pretty obvious.

The next stage in dissecting would be to say that a problem needs to be understood well enough to find a sufficient solution. And here it starts getting interesting, since we basically have an equation with two variables.

The first is about being “sufficient”. Because of resource constraints most problems will be approached with the aim to apply only a “just good enough” solution. In my profession (software engineering) this usually means a quick fix rather than a clean approach with refactoring and all the other good stuff.

What I personally consider more impactful, though, is the “well enough”. Most people I have met so far, do happily go for the first explanation of a problem and consider it a sufficient basis for determining how it should be approached. But in many cases this means only that the symptom has been identified correctly. Neither has the direct cause for the symptom been found, nor the root cause. I see several reasons why people jump onto the “obvious” reason so eagerly rather than to dig in.

  • Different layers: Like in medicine the symptom, the direct cause, the indirect cause(s), and the root cause can be in different “hemispheres”. In business this could be customer churn, caused by bad customer support, caused by a missing link in a process, caused by misalignment of two separate organizational units, caused by personal animosity between their bosses.
  • Motivation and personal objectives: Unless people have a mind that genuinely strives for perfectionism, they will factor in their personal objectives to determine how much energy to put into something. And in most cases this simply means to invest as little effort as possible.
  • Importance not considered high enough: While the personal objectives point above is, at its core, about a selfish decision to optimize personal gain, this is about a perceived objective lack of importance. If I genuinely believe that something is more or less irrelevant, why would I bother (irrespective of personal gain)?
  • Happiness to have found anything: This is basically about impulse control. Rather than exert self-control and think about whether or not there might be other and/or additional aspects, people simply jump onto the first thing that comes their way.
  • Lack of knowledge: The difference to the happiness point is purely the motivation. While the result is the same, the reason here is sheer necessity, since people do not know enough on the subject. So they are just glad to have come up with something at all.

When you follow the line of argument, you will have the fundamental reason why larger organizations so often struggle to even solve the simplest challenges in a proper way. Instead you will mostly see a myriad of changes that are applied, at best, with local optimization in mind. The latter, unfortunately, means that you are almost always moving further away from a global optimum. What good is it for a company if one department improves the financial bottom line of the current quarter at the expense of disgruntled customers that spread the word?