Jiri Lundak

Archive for the ‘Collaboration’ Category

Closeness

In Collaboration, Leadership, Management, Team, Values on December 18, 2012 at 8:27 am

Here are some thoughts on closeness in a collaborative setting, be it from a managerial perspective, as well as from a purely co-working perspective:

Being very close has surely some downsides:

  • You might have to cope with the intricacies of a quirky person.
  • You see often very clearly the defects of personality in the person you are collaborating with.
  • You may lack some distance to the task at hand.

On the other hand there are a lot of positive aspects to being close to each other:

  • Trust increases between people collaborating closely.
  • You often understand why a person does what she does.
  • You get immediate feedback (emotional, unfiltered) to what you say and do. You can use this feedback wisely.
  • You can influence “in place” the situation, instead of arriving just after the fact.
  • You will know your collaborators so well, you will not need a one-on-one performance appraisal session at the end of the year (if not mandated by others).

For example management decisions communicated via email are more impersonal and open to interpretation than face to face communication, where reasons for a decision can be explained directly. Better yet would be to collaboratively reaching a conclusion. In this case the co-creation of a solution creates a bond of trust and buy-in, that is not possible otherwise.

In the last 10 years this kind of closeness has been practiced in software engineering (think pair programming, co-location of teams and the rise of instant messaging). Unfortunately it did not quite arrive in the managerial sphere above it. There are exceptional leaders practicing it naturally, but most traditionally trained managers are still “managing in a bubble”, disconnected and far away from the people working for them.

 

Are We Following Agility Blindly?

In Agile, Collaboration, Management, Values on November 14, 2012 at 1:22 am

Are we a swarm of agile fanatics, that do think in an undifferentiated way to have found the silver bullet for producing good software? Are we a bunch of people so convinced of ourselves, that we meet persons (like middle managers, bosses, CEOs or simple colleagues) thinking differently, with indifference at best and arrogance at worst?

Recently I was pointed to read the following article in the renowned German newspaper “Die Zeit”: “Der Sog der Masse”. The article (titled something like “The Pull of the Masses”, sorry for the imperfect translation – no native English speaker here), tries to discuss the power of mainstream thinking, where the big mass of people follows a quite small number of articulate people, that voice loudly a particular (but many times false) opinion.

Discussing the article was interesting. It was cited to indicate to a small group of people – that where voicing concern, that the company they were working for, was becoming less “Agile” -, that these people were speaking up, not because they were convinced of Agile values, but because they where following a small group of articulate spokespersons, without reflecting on their own.

Hmm…this happening makes me think.

Do we as proponents of the Agile community communicate well? Do we sell our noble goal – to give customers what they really need and delight them – really well?

We perceive ourselves as fighting against the mainstream of how software is developed and how work is managed. We are not mainstream yet, because many companies do not do Agile, although they say they do. At the same time there are companies that do Agile for quite a long time, but where people entering the organization perceive the existing culture to be “the mainstream”. When new managers want to bring in new (but old) practices, that the Agile community abandoned some 10 years ago, they feel like a new minority, with a fresh “new” perspective. They feel the need to challenge the existing thinking.

Is this bad? I do not think so. I always perceived the Agile community, and also most of its members, as open to “new” challenging thinking. But does this mean one should jump ship at first sign of contrasting thought? Not really. Having a conviction and standing in for a set of common values is not per se bad.

The main problem lies, as many times, in communication. As we know communication is always multidirectional. Whole books have been written on the subject. But one of the main hindrances I observed these days first hand, is the absence of deep listening, on both sides – the so-called “mainstream” and the “challengers”.

Following things hinder deep listening (and thus understanding):

  • Missing appreciation for all people.
  • Egocentricity (being focused on own goals).
  • Underestimation of people's value system.
  • Fixation on preconceived “solutions” and own worldview.

We from the Agile community should not fall prey to these kinds of hindrances for good communication. This would go counter our own values and quickly give us a bad rap.

I know we are mostly not following agility blindly. Let not people have the impression, though!

About Goal Setting

In Antipatterns, Collaboration, Leadership, Management on July 18, 2012 at 5:35 am

A good friend of mine, in a large company, is in conundrum:

He has a boss made of classical clay: top down, cascading setting of goals is his mantra. Each level of management has to break down the goals for his subordinates. They are not given reasons, but just goals. Just execute and do not ask too much “why”.

He likes to say phrases like:

  • “The simple people at the bottom of the pyramid might not bear the complicated decision making process at the top. So we tell them just the information, they need to know.”
  • “They just might get confused, and abandon the ship, when we are undecided. So we have to make decisions before we tell them anything.”
  • “Those at the top are the wise men, with lots of experience. That is why they are at the top, right?”

When my friend asks about why certain goals are set, he gets no real answer. He just gets a lot of meaningless blah. If he repeats his question, he just gets another bucket of dubious and long-winding explanations, that do not lead anywhere.

Does this situation sound just too familiar? Unfortunately this is the case in many companies.

But what about goal setting at your company?

  • Is goal setting a one way street, where lower ranks have assigned goals in a cascading manner?
  • Do superiors explain the context and the reasons behind goals or do they just impose them?
  • Or even better: do they – together with you – discuss and elaborate goals, that are meaningful for both of you?
  • Or better yet: do they – together with all their colleagues and “subordinates” – elaborate them as a team?
  • Do top executives find excuses, why they should not explain in sufficient detail, why they expect certain behavior, like: “not all employees are able to understand them”; “they might ask too much”; “they might criticize the goals”?
  • Do your leaders explain the “why” behind certain decisions, instead of just communicating the fact.
  • When you offer some help, is it accepted – or at least considered – or just downplayed as an idea of somebody not able to judge the situation.

If you decide to stay at such a company (you may have your reasons), then what can you do to turn that situation around?

There are different things you can try:

  • If you feel, that the goals presented to you by upper management are shallow and dull (or are just placeholders for the real goals), you can use the “5 why”-method: for each answer you get, ask why again, until you arrive at the real goals, hidden behind the imposed goal. You can do this in private for yourself (this produces only suppositions, from which you might jump to wrong conclusions), but you can ask directly your boss. On your ways to unearth real goals, you just might bump into not so obvious reasons, why the imposed goals might not be the right ones to pursue.
  • If you are asked to pursue goals, that do not correlate with your own goals, then you have some choices: 1.) Try to adapt your own goal to the superiors' goal, if the gap is not too big, or 2.) try to offer an alternative goal, that might be in your bosses' range of acceptance, or 3.) leave it, or 4.) ignore the goal and still try to do good work (this only an option, if not meeting the goal does not impose serious punishment).
  • If you see a chance, that you can convince your boss, that it is a good idea to elaborate goals together, then you can try to help choose them. Try to set yourself meaningful goals, like “Let us put good quality software faster into the hands of our customers”. Why is this goal better, than just setting the goal: “We need to hire 10 more people!”? This has two reasons: 1.) Hiring additional people is just a means to reach a goal and not a valuable goal in itself. 2.) Setting the hiring option as a goal limits choice. It precludes, that your boss knows the solution to the problem, which simple might not be true. And it narrows your creative space for solving the real problem.

So do not let yourself limit by the choice of goals of others. Goals that do not match your own goals hinder your creativity and well-being. So act, if you do not want to be acted upon.

On The Dangers Of Managerial Incompetence

In Collaboration, Competence, Leadership, Management, Mastery, Personal Development on July 16, 2012 at 12:06 am

As I have become a manager myself in the last two years, I experience manager’s life, but do still have a (vague) memory of being a developer. I struggle to maintain a close contact to our developers in the company and to our code base. The latter becoming more and more difficult.

I recently had a talk with my boss about being professional as a manager (as head of development, to be precise). He urged me to be closer to him and thus he urged me to appoint deputies in teams, that I trusted, so I would have to spend less time with our people. At first sight, this might be a proposition that makes sense, there being the need to be able to scale. I am part of the management team after all. So as a team we must work closer together than with our subordinates, right? Wrong!

Introducing a level of indirection might be a good idea in software design, but with people this is more than harmful. It actually introduces a bunch of new problems in any organization. But more about this in a later post.

What is currently eating me, is my obvious personal devaluation. Although my management peers might tell me otherwise, insisting, that we – as managers – now have more power and possibilities to steer and decide things. I also was told, that somebody has to structure how the company works, somebody with experience, that looks farther than the mere developer, that just sees the next line of code. This also is sensible advice. Things work like this in a “professional” company, don’t they?

Hmm…why do I think, we are betraying ourselves, thinking and acting like that? For the moment it is just a gut feeling. I still struggle, trying to formulate my preoccupation with what I hear and see around me.

I know we need to grow as a company, to be able to satisfy our customer’s many needs. But how can we still maintain an agile and effective way of doing things? I am at a loss of seeing a solution, without sounding like a mere naysayer.

I just want to list some things, that bother me personally, regarding my own competence:

  • I do not want to make decisions alone at the top, thinking I know better, just because I am older than my peers. Like young people tend to overrate their abilities, old people underrate young folk’s abilities and interest in contributing to the big picture.
  • I do not want to loose my past knowledge and capabilities, as a programmer, as a ScrumMaster and as a Product Owner, even while I am acquiring new skills, for example in mediation or in taking care of a business.
  • I think the pure manager, seen as a grand seigneur, that understands the big picture and thinks it to be his job to model the company and make it more efficient, is a thing of the past and a brick stone in the yellow brick road to corporate mediocrity.
  • Don’t misinterpret me, I know that seeing the “big picture” is necessary, but I just don’t believe a single person is able to see it, and just validating with your fellow management team members does not cut it.
  • I believe that a management team just limits its possibilities, thinking, that it should make the grand decisions, without involving the mere “foot soldiers”. A company is full to the brim of partial knowledge. Involving the right people is key. But who are they?
  • I do not want to create an efficient organization, instead I would like to make it more effective. Introducing slack and sharing information to all people in the organization might often be seen as waste, but not doing it makes people act on dubious grounds and this leads to desaster.

I know it will be hard to continue to maintain a sound competence level. But I am sure it is worth it.

How to Demoralize Your Workforce

In Antipatterns, Collaboration, Leadership, Management on June 29, 2012 at 8:23 am

Dear manager,

You think the best of your workforce is not good enough? You doubt that your people are standing behind you, even though they pledge they do? You feel not being respected enough? Then there might be an acceptance problem.

Then there is just one way out: demoralize your workforce! Break your people's resistance!

How can you accomplish such feat? Here is some practical advice you can apply and success will follow suite:

  1. Treat people as children
  2. Micromanage
  3. Suppress different thinking
  4. Grow a “hurray” culture
  5. Make yourself the information hub
  6. Treat problems only superficially
  7. Be everywhere and nowhere
  8. Expect, but do not give, respect
  9. Favor certain people
  10. Give superficial praise
  11. Start meaningless initiatives
  12. Spy on your people

Those keywords were not enough to spur your imagination? You need some examples? Bear with me, here they come:

1. Treat people as children

There are some ways how you can accomplish that: do not give them too much information (especially about context), just say enough, so they know what to do in their narrow, limited space of responsibility. Give your experts coaches they do not need. Give your people goals, instead of elaborating them together. Listen to your people's advice, but never act upon it. Do not let them make decisions on their own. Instead always insist, that they need your approval first.

2. Micromanage

Always mingle yourself into your subordinate's work. Do not just give input on the content, but offer plenty of advice on the form of a document. Delegate work you could do yourself, but administer every aspect of it. Ask for frequent feedback, best on a daily basis, so you are informed on progress and can influence every minor detail. Do not believe your people, when they tell you that, they trust you. Instead expect measurable evidence. Check on that measure ever so often, best on a daily basis.

3. Suppress different thinking

Interpret all differing ideas and thoughts as inherently suspect. Tell your people on every occasion they rise some concern: “Why can't you just say: 'Yes'!?”. When people do things differently than you would, call them to order, even if they had sucess with what they did. Give more importance to the way people do things, than to results. Drive free roaming thought to the underground. Force processes into a uniform shape.

4. Grow a “hurray” culture

Every management intervention needs to be sold. So let your people party every decision you make. The less meaningful you intervention the louder it should be cheered by your subordinates. Naysayers and critical souls should be expelled or at least silenced. Enthusiasm shall be instilled from above at all time.

5. Make yourself the information hub

Explain reasons just to key people directly. Tell your key players to not pass all information to their subordinates. Do a lot of one-on-ones. Let everybody know just partial information, as is needed for his role. Show people that information is power. So do not distribute it evenly.

6. Treat problems only superficially

You do not need to discern between important and unimportant problems. Leave this to your people. But treat all problems as equally important. Follow through on every problem, as if it were of utmost importance. So your people will not slack of. They will always be busy solving even the minor glitches. If they are unable to cope with your requests, they should be fired or you should add another layer of management to your organization. Stay with the first solution that comes to your mind, refuse to accept differing ideas as negatively biased and declare the problem as solved. Any additional problem is caused by the bad implementation of your solution by others.

7. Be everywhere and nowhere

It is utterly important to appear at unexpected moments and identify that problem and immediately suggest a solution. You know best how to solve problems, so you need to be everywhere. At the same moment do not loose too much time with any issue at hand. Do not spend time overly analyzing the situation. Propose a solution instead and delegate execution to the person at hand. Ask for immediate feedback for the next two weeks or so and if you think the problem is solved (even if it is not), just declare victory. You have to move on to the next trouble spot. And if people need your help, just delegate it back to them or to other people.

8. Expect, but do not give, respect

Your work is definitely more important than that of your subordinates. So give them work to do as soon as you identify a problem. Expect them to let go of anything they are doing right now and jump immediately to the task you assign. Participate in most meetings and take them over, so people know who the boss is. But try always to arrive late. Others are expected to wait for you, because most of the time you have more important things to do. When people do not embrace your opinion immediately offer to coach them personally or by appointing an external coach.

9. Favor certain people

You need to gather people around you, that support what you say. Give them authority. Help them to feel important and unique. This will pay dividends. They will speak and act in your favor. They will up your status in front of the rest. Give them small privileges, like knowing a bit more than their peers or being able to decide on the drawn process charts. Important is, that you give them power to decide on the fate of some subordinates. Make others feel unimportant, by elevating your trusted people in public.

10. Give superficial praise

Praise anything you see, even if off-topic or irrelevant. Use praise in an inflationary manner, so that people do not think you are genuinely interested in them and their work. But especially praise yourself and your trusted close collaborators. Exaggerate! Always use superlatives where not appropriate. But the most important part is: Give praise always with a goal in mind. Attach always an expected behavior to praise and never let it stand just on its own merit.

11. Start meaningless initiatives

The world can be explained in a mechanistic manner. So cause and effect are clearly visible. Just jump to premature conclusions. Start lots of initiatives. Whenever possible hire external consultants and specialists, because your own people are too absorbed with their daily business. Or they simply just do not get it. External resources do not oppose your opinion and just do what they are told. Why cope with all those difficult and complicated insiders. Your own people will be happier, when they do not need to make decisions on their own, when they do not need to hire people and when they need not think about processes and policies.

12. Spy on your people

Your people are a bunch of lazy jerks. They can not be trusted. How many times where you deluded by their performance? How many times did they screw up projects you sold? So you have to check on them thoroughly. Do they slack off? Do they take shortcuts, circling around process definitions? Install a dashboard with key performance metrics and insist that they meet their goals you have set. Another important tool for finding contradictions in your people's affirmations is to interview people one-on-one and then play them out against each other. So they will fear to go out and act on their own, without your approval.

There are other ways to demoralize your workforce, but I shall spare some of my advice for another post.

Let me know how successful you were applying my tips.

 

On Project Transparency

In Agile, Collaboration, Personal Development, Values on May 15, 2012 at 11:52 pm

One of the main agile values is “transparency”.

We expect it of teams, when it comes to reporting progress. We expect the individual developer to be transparent, when he is doing his work. We are selling Agile as a means to know where a project really stands.

And this very good! Why? Because it helps build trust.

But do we just build trust in case of success, when we meet our sprint goals, when we deliver a system into production or when our estimates match the actual effort? Often managers and business owners think so. But this assumption is down right wrong.

Just ask yourself: “Whom do I trust more?”

  1. A person, that has made an error and admits it.
  2. A person, that has made an error and tries to cover or downplay it.

But you may counter: “But if I do not want to stir up unnecessary controversy? I know the project is still on track. This was just a small miss hap.”.

Think again: What happens, if the customer somehow gets to know, that you tried to cover your failure or you just deliberately decided to let him take the backseat on an other customer?

Will you gain his trust or loose it? You are right, the first outcome – in this case – is no option.

Sure you might end up justifying your dubious choice or bad performance, and this might even trigger more than necessary attention on the customers’ side for the project. You have maybe more work and a hard time. But who is really to blame?

Some people like to blame others, especially when there are other parties they might depend on. But do you not think, that many customers are fed up with nobody taking responsibility for problems in projects? What about breaking the blame game and just explain to the customer, what led to the problem and what you intend to do to correct things, so that the project gets back on track?

Would you gain posture and trust doing so?

I know, somebody will come and try to convince you, that you can not – in this particular situation – tell the whole truth. “You need to learn to play the political game.”, he will tell you. He might even offer to “coach” you on this. “You need just to tweak your messages according to its receiver.”, she will say.

Think again? Can you keep track of what you said to whom and when? Does it become easier in a more complicated project with many parties with differing interests and stakes at risk? How does just saying the truth and explaining the situation stack up against this?

But what can I do, when I am in a tricky situation?

You have just two options (none of them is without problems, I must admit):

  1. Continue to tell the truth, and nothing but the truth: You will run into trouble with people, that do not like it or have different opinions (partner companies, your boss, your company owner, your sales department or even your customer). But you will be nonetheless be seen as trustworthy and congruent. Depending on your company culture, you will be allowed to continue your work backed by your colleagues or – in case of a negative outcome- it might be time to get out of the way. But at least you remained true to your deepest values. And it might even happen, that you are able to build a long-standing, strong tie of trust with your customer, which might lead to other projects being entrusted to your organization.
  2. Participate in the political blame game: Get entangled in the political mess, that many big projects are. Bend the truth to fit what the stakeholders in your company, in the customers’ organization or of some third party, want to hear. You might get away with it, because other participants in the political game, are bending the truth even more and many people, interested in hearing the truth, just do not have the means of recognizing it. Yes, you might be successful with your project. But what you can loose is much more significant: your credibility with colleagues and customers alike will suffer. Worse, you might get used to bending the truth. But it will not work on every project. So get used to the idea of being exposed sooner or later. And a reputation once ruined…

“But I am part of a larger corporation. Bending the truth is normal affairs around here. If you do not play along, you’re toast!”, you might say.

That is true. Honesty does not always pay dividends immediately and in all organzations. And there are certain places you just do not want to work at, if you want to maintain a morally sustainable position. And face it: there are some companies out there actually appreciating transparent, honest employees.