Tag: software business

  • Money and Motivation

    A few people have left. Or I should say a few good people have left. Yes, the company has tried to stop them but well, when people decide to go it’s usually way too late.

    The next station is realizing that people are gone. Well, they will still come to the office for a couple of weeks but they are gone. Gone. If you wanted to change their minds you should have worked with them a few months earlier.

    And then there comes the idea that you should at least take care about those who are still here. When people leave, their colleagues start thinking about leaving too. That’s how it works.

    So we come to the point where most of managers use tools they have to keep retention on reasonable level. Quite often they use the only tool they think they have, which is money. “That should keep them motivated for some time. And they won’t leave either.”

    Yes, except it isn’t true.

    As I think more about money and motivation I’m closer and closer to Dan Pink’s approach: pay enough to get the money off the table and then focus on things which really motivate people. By the way if you haven’t seen Dan Pink’s TED talk about the subject you really should do it now.

    OK, so what kind of effects you should see when you throw more money at people? For some of them it would take the money problem off the table. Will it keep them in the company in the long run? I don’t know. You are either able to build creative, motivating work environment or you aren’t and raise won’t change anything in the long run.

    For others money wasn’t the issue in the first place. They will happily accept raise, that’s for sure, but is it going to change their approach? Not so much.

    Now you can point a number of examples when someone you know has changed jobs purely for money. I think they fall into the first group. The only difference is in their cases money was a major problem and not a minor one. Bigger salary doesn’t make them motivated – it just gets the problem off the table. It isn’t guarantee that they won’t eventually leave. If your organization suck they will. You can buy a few months but the outcome is going to be the same – they will be gone soon.

    In short: if you have a big bag of money you can make people stop complaining about their salaries, but you won’t make highly motivated top performers out of them.

    I know people who are leaving with no change in remuneration whatsoever. Heck, if you look for people who changed job and got lower salary in the new place I’m one of examples. And yes, I’d do it again. I’ve never left any organization (or project) for money, even though sometimes it was an issue.

    If all you have is a hammer everything looks like a nail. If the only tool you have is money, every problem seems to be solvable with cash.

    But then you see teams which don’t get any bonus money whatsoever and they’re motivated and those which spend days complaining about lack of bonus money. All in the same organization. They are even paid basically the same. I see two possible explanations: one supports argument above and the other includes words “black magic.”

    If people go, you won’t change that if the only thing you can think of is throwing more money at them. Unless you’re paying peanuts, that is.

  • We Are Unique Syndrome

    That Scrum thing sound fine but, you know, the way we work here is quite specific so it won’t really fit our organization. And yes, unit testing is such a great idea but we have pretty unique work environment and I see no way to implement this practice. Oh, I’ve heard about this new web framework, which we might use, but I believe it would be better just to build the stuff in-house. And by the way, that issue we were discussing yesterday – just apply some hacks, I don’t think anyone could have had this problem before.

    You’ve definitely seen that. The canonical example is NIH syndrome often seen in programming. We hate tools built by others because, well, they aren’t built by us. We are so damn unique that there’s virtually no other organization similar to ours in the whole damn universe.

    The same principle applies to other areas as well. Cross-functional teams work in other organizations but here, in this unique, extraordinary and special company they would not, no way. Empowering (damn, I used the word) people results in better motivation and higher retention but it won’t be like that in our organization because we are different.

    Well, yes you are. Everyone’s special. But somehow huge numbers of companies face the same problems. And the funny thing is it seems that usually common solutions help majority of those organizations. Strange, isn’t it?

    While you can pretty easily convince me that your company is special in this or that area (I don’t know your company as well as you, so it’s not that hard) I just don’t believe you’re so freaking different that none of recipes known to the world works in your case.

    If you come to me with unsolvable issue with integrating web services written in Java and .NET I call bullshit. I don’t know the solution but I find it hard to believe that hundreds thousands of web services written in one technology can’t talk with hundreds thousands of web services written in another. Either I miss something here or this was kind of principle for guys who were standardizing this web service gizmo.

    Someone had that problem before (like hundreds or thousands people). You ain’t that special.

    Now go look for solution using this hi-tech tool called Google search. Or you’re so unique that you won’t use such a plebeian tool, eh?

    The same applies to project management issues. Ditto organizational and people problems. Pretty few people in the world can say they worked in truly unique environments on ground-breaking ideas and they had to solve issues no one had had ever before. Yet we all tend to play like we were working on Apollo program and it was sixties.

    Now, I’m not trying to tell you that silver bullet exists. I’d be a hypocrite, wouldn’t I? What I’m trying to say is that your issues have (likely) been solved by others and they (likely) described solutions in details.

    If you deliberately want to keep the way you work unchanged I’m fine with that. Just don’t tell me it’s either the best or the only way unless you have checked. And if you’d checked you (likely) wouldn’t have been selling me that bullshit about your uniqueness.

  • You Need (More) Team Buy-In

    I discussed recently changing the process in one of teams in the organization. In theory everything is totally easy. We need to assess current situation, find out what should be changed to improve the way the team works, apply new ideas and support them over some time to make them persistent and then go for a couple of beers and congratulate each other a stunning success.

    In this specific situation we have already a couple of ideas which should help. And yes, they include K-word. Yet still the plan is to start as we didn’t know much about the team. We try to act as the hammer wasn’t the only tool in our toolbox, even though we do have a hammer too.

    Once we know what is wrong we can apply a cure. And that’s where the hard part begins. If you look at typical pattern of change implementation you will see that the first period after inviting change sucks. People don’t know yet how to work with the new tool, process, rule, you-name-it. Outcomes are likely to be worse than with the old approach. After all, no one said changes are easy.

    Now, here is the trick: if you’re trying to implement change you not only strive to overcome typical issues but also have a reluctant team, which doesn’t want any change at all, you’re going to fail.

    People will get enough arguments to abandon change and if all they want is to get back to the good old way of doing things they will use this chance. What do you need to do then?

    Get more team buy-in.

    Actually this is what you should start with. When you assess current situation you talk with team members. If you don’t talk with people your assessment stinks anyway and I don’t want to touch it even with a stick. Use this opportunity to get people buy-in. You will need every single supporter you can have when issues start popping out.

    Don’t implement change unless you’re able to convince people it is a reasonable idea which would help them and you really don’t try to make their lives more miserable. Even if you personally are convinced that you have a silver bullet which would change your crappy software house into another Google, only better, you won’t win against people who have to follow your process, execute your idea and deal with all of side effects of a new situation.

    When I read discussions about some approach, which appears to be working rather poorly, the first thing which comes to my mind is lack of buy-in among people who are affected by the change. In terms of implementing agile we often forget that problems seen within development team are often triggered outside, likely by management. That’s why, for the purpose of this article, I use term “team” to name everyone whose work will be significantly affected by the change.

    Anyway the pattern remains the same. You just need more buy-in. You may need to work on this with development team but you may need to work with management too. Whichever case is true in your situation, go fix it before you start implementing change. That is, unless you find it pleasant to fail.

  • Why I Prefer to Hire Women

    I have a news for you: IT industry is dominated by men.

    – Pawel, why don’t you tell us something we don’t know?

    There should be more women in the industry.

    Which part of “something we don’t know” you haven’t understood?

    Fine, you get the message. I just wonder why you don’t hire more women.

    I confess in my current team there is round number of women. Zero. I worked with a few teams like this. And every time one of my goals was to bring a few women to the team. Why? There are a few reasons. I will generalize here and I’m going to do it on purpose. After an hour or so of interview you can’t really say what kind of personality you deal with, so you have to go with your biases and prejudices anyway.

    • Women bring different soft skills to team talent pool. They’re usually more open and emotional than men. Do a simple test and recall your last retrospective or check the record from it. Can you see how different arguments were pointed by women than by men?
    • Women bring more culture. Pure-men groups tend to change into something like herd of hogs. Bringing a woman on board magically improves everyone’s manners and language. I mean hogs are nice but I wouldn’t like to work with them.
    • Women are more responsible. This may be one of my prejudices but I find women more responsible than men. I can hardly recall any woman who came to work having heavy hangover while I have no problems to name a long list on men who did.
    • Women are more accountable. It is connected with the previous point. Women tend to treat their duties very seriously. Even when it is something they didn’t personally commit to but rather something their boss expects from them their commitment is usually stronger. And I think here about these unrealistic expectations many poor managers set against their teams too.
    • After all, there aren’t many women in the industry so don’t make it even worse.

    Having said that, I’m not going to hire woman over man just because of sex. If there’s a significant difference between two candidates I will always choose a better one, however I understand “better” at the time. But at the same time every woman entering an interview with me has a small plus for free at the beginning. I guess I could put it as one of recruitment tips but changing your sex isn’t a great tip, is it?

    On the other hand I’ve seen enough prejudices working against women to throw my two cents. And I have a question for you: having two similar candidates which one would you choose?

  • Trust Isn’t Measurable

    I have a question for you. And yes this is one of this dumb black-or-white questions which don’t take into consideration the world is just gray.

    If you had to choose a vendor among the one which you trust more and the one which can be paid less what would be your choice?

    I pretty much expect most of us would say we would choose the trusted one. However what I see everyday people do the opposite. They tend to base on a price heavily.

    Of course the question is flawed since it assumes that everything else is equal which is never true. However the message I’m trying to send here is that, despite what we say, we tend to make our decision basing on things we are able to measure. We can easily say this offer is $10000 cheaper than the other; we can easily say that this schedule is a month shorter than that etc.

    Unfortunately we can’t say that our trust for the company A is at 5 and for the company B is at 7 (whatever 5 and 7 means). Personally I would probably be able to state that I trust one vendor somewhat more than another but it would be totally personal and your opinion about these companies will likely to differ much. And even if we both agreed we would have hard time trying to describe what exactly “somewhat more trust” means and why it is worth ten thousands more to our decision-makers.

    And that’s why I’m not really surprised we tend to act differently than we use to say we’d do. The reason is simple.

    Trust isn’t measurable.

    Every time we face the task to compare few things we tend to base on aspects we can measure and that’s where trust falls short.

    Luckily enough sometimes we are able to forget about this whole comparison thing and decide we just want to do business with a trusted partner. Even if they would be more expensive if we took an effort to compare their offer to others, which we don’t do anyway because, well, we decided to go with these trusted folks in the first place.

    With trust in place business relationships tend to be significantly better. And yes, I can explain it. More trust means more transparency. More transparency means more information shared. More information shared means better knowledge about the situation. Better knowledge about the situation means better planning. Better planning means better outcomes. And better outcomes usually strengthen business relationship.

    I would choose trust over price. If I stated I’d do it every single time I would lie (I did actually) but when it’s my own call or I’m strong enough to defend the decision trust trumps the price.

  • Fighting with Status Quo

    Last time I wrote about status quo and how it becomes protected value within companies. I could tell you countless stories of people being (mentally) hurt by status quo. I could tell barely a few of these when status quo was defeated.

    How to fight with status quo then?

    A short answer is: change rules of the game. Until new status quo emerges everything will be different.

    To elaborate a bit more, status quo is painful in terms of lost opportunities. Every time some talented and eager engineer hits the glass ceiling or a poor candidate is promoted over a good one or suboptimal organization is sustained the company loses. It loses in terms of productivity, performance and employee satisfaction. At the end it loses money since at the same cost there could be done more or there could be done equally much but at lower cost.

    A good supporting question is: who sees all these problems?

    Everyone who tried to improve something but failed because reluctance of people happy with whatever it is today. That would be one group. Another one will be made of few people who are high enough in organizational structure to see how things work, but at the same time have no real power, or interest, to change it.

    Another supporting question: can these people introduce change?

    No, they don’t. They don’t have enough power. They are either too junior or too new or work too far from the core of the organization. Sometimes they would even try to fight the reality just to learn they have virtually no chance to win. Status quo defenders are numerous and powerful and they prevailed many try-outs like this.

    If you came to this point you can basically do two things:

    • Change behavior of people who defend status quo. To succeed with this you need to open their eyes first. It may be possible but it doesn’t have to. How to do this? Well, bottom-up approach doesn’t work. If it did their attitude would already be different. What you need is someone with respect. Someone who would coach status quo keepers showing them ways of improvement. Make them aware there are different styles of management. Make them aware how they can improve their leadership. Make them aware how much they can personally gain if they enable changes in their teams. If this approach succeeds game rules will start changing slowly but constantly. Unfortunately this would work only when you have managers who were unaware of the problems. If they were consciously maintaining status quo chances are good your efforts would be ignored.
    • Get someone experienced and give her power to change things. It could be one of these peripheral managers but as an insider she would be naturally perceived as an enemy by her colleagues. It’s better to get an outsider, someone who successfully cleaned up a company or two. Hire her and give her enough power to allow her to enforce changes over the current organization. Let the outsider change the rules. If you choose your candidate wisely, you’ll go through a number of clashes, some people will leave, other will be fired but in the end organization will work better. Why? Because every significant change in the company, every leaving, creates opportunities for those who want to improve organization and destroys at least a few glass ceilings. Of course you can rebuild every flawed element you’ve just destroyed but after all one of reasons you have your superhero outsider is to prevent that happening.

    As I write this I’m perfectly aware how rare are cases when companies decide to undertake such actions. But every time I hear about another management failure which is triggered by defending status quo (and believe me I hear that a lot) I have the same thought: “Why won’t you, my dear execs, do anything to heal your organization?

    I surely am biased but it happens now and then that I believe I have a few recipes which would instantly improve overall performance, let alone some consistent work on fundamentals. After all management isn’t that hard if you have someone to learn from.

  • Big Companies Are The Best… In Maintaining Status Quo

    What happens when company grows from 10 to 100 people?

    Initially there’s a group of highly motivated and hard working people led by one or a couple of visionaries. Everyone knows each other well. Everyone knows what anyone else is doing at the moment. Then some success happens and organization grows. At the beginning it scales up trouble-free. Somewhere along the way teams emerge. Suddenly company needs a few managers. Who is promoted? What a question. Of course those who were in the pack when employee counter was one-digit.

    First hierarchy self-emerges. No one really thinks about this much. After all it’s all about a couple of teams, not full-blown organization. Then the company grows further and by the time it reaches 100 people there are probably at least two levels of management. First managers add new folks to their teams to the point they need middle management to deal with their 30-something people.

    Note: at that point there still isn’t much planning when it comes to organizing company structure. It is created in the meantime while people aren’t focusing on their work.

    What happens when company grows from 100 to 1000 people?

    By the time organization has 100 employees self-emergent structure becomes suboptimal. It is no longer a bunch of people working toward common success. If you don’t hire great candidates only, and let’s face it: you don’t, there are some people on board who just work there and don’t really care for anything beyond their paycheck. There are also few managers who shouldn’t become managers at all but should stick to engineering. To add some spice the company still grows at constant rate.

    The bigger it grows the more power management gets. Execs no longer work with line employees most of the time. They work with excel sheets and if they meet someone they are other execs or senior managers at best. Real power is moved one level down – to managers who make hiring decisions, promote employees and deal with all people-related issues. Who are they? Remember this few veterans who were around from the very beginning and become very first managers in the company? Well, now each of them leads one of multi-team departments with close to 100 pairs of hands each.

    Sure, there are reorganizations but most likely they happen out of the center of the company. Core remains unchanged. Why? Well, that is damn good question.

    A short answer is: because big organizations are great in maintaining status quo. I don’t want to argue whether a few hundred people make a company big (it does not) but somewhere between 100 and 1000 people this attitude appears and it is there for good.

    And here’s a long answer.

    • Think about management skills of early-managers. Most likely it is their first management job. Most likely they were engineers initially. I’ll be brutally honest: chances are good they doesn’t really suit management job. The problem is they don’t even know that. They can’t. They may even do their best and still suck as managers. If they have grown with the company they may lack just good role-models in management. I could bet my money against their management skills in this situation and, on average, I would win.
    • Now, put yourself in shoes of these veterans. They are with the company from the beginning. They career seems to be well-earned. They aren’t aware they may suck at what they do. When they were engineers they had simple verification of their work: test passed, client didn’t complain thus everything was good. With management it isn’t so easy. Their team won’t come to them to say they suck. Hey, you just don’t go to tell such things to your boss. We can even consider managers are aware they suck a bit. And what would they do? Resign to leave a position for someone better? You must be kidding me.
    • So what do execs do with this? Pretty much nothing. They’re chewing through their Excel sheets and as far as numbers are fine everything else is too. And if numbers start to stink who would they talk to anyway? Well, managers I guess. They’re disconnected with most of the rest of people for a long time already.

    Maintaining status quo is a safe choice for everyone who has enough power to make any important decision in the company. Those who see problems and would like to change something are either somewhere on periphery of organization or very low in hierarchy structure. The former aren’t taken seriously the latter hit the glass ceiling.

    What more, existing status quo propels the same behavior all over again. If the company promoted three out of four engineers from early setup to senior management the fourth one pretty much expects the same. And most likely he will get the promotion, no matter whether he was the best candidate or not.

    Of course you can find counterexamples. I don’t say every company works that way. I guess when Google hit 500th employee mark they were still nothing like that. I know startup where all 3 co-founders had experience in management so they aren’t likely to hit this reef either. I know companies which will never make it past 50 people so they definitely shouldn’t care about these issues.

    Anyway more often than not defending status quo is a problem. I’ve seen it at all stages from few dozens to few thousands of people. And it always looks like decision-makers weren’t aware of the fact or, if they were, like they didn’t care. When company grows to specific size it is just easier that way.

    In the next posting I’ll give an idea what can be done to change the situation. Stay tuned.

  • A Company Which Didn’t Know How to Fire People

    There was a company, which was doing reasonably well. When times were good they were growing stronger. Some people were leaving, as it always happen, but more were coming on board. Since things were rolling fast no one really had time to stop and verify whether all new faces are doing fine.

    Some time passed. Newbies were no longer newbies – they were semi-experienced people or at least their seniority would indicate that. Reality was a bit different. Some new people appeared to be great hires but other were, well, pretty mediocre.

    Then stagnation period came. There were reasonable amount of work but not as much as it used to be yet somehow everyone looked still pretty busy. Incoming stream of new people were limited and the company mostly stuck with these who already were on board. World crisis increased employee retention.

    Then people started telling stories. A story about the guy who was sleeping at his desk during one third of his office hours. A story about lad who was in the office barely 6 hours a day even though he was paid for 8-hour workday. A story about lass who was spending all days long browsing the web. A story about colleague from another office who claims she’s completely overworked yet she was doing about one tenth of what other people did on similar positions. Morale nose-dived. Productivity started dropping. On a side note – no, these examples weren’t made up.

    Where’s the problem?

    The first symptom was not doing much with poor-performers. OK, they were trying to fix their approach but when coaching and setting rules didn’t work there was no another steps. Underperformers soon learned they didn’t have to change.

    A real problem was: the company wasn’t able to fire people.

    They stuck with every single employee no matter how they sucked. And yes, I know they should try coaching, training, finding new role first. To some point they did. But face it: it isn’t possible to have only perfect teams and only perfect employees. It just doesn’t work that way. Even companies which have very strict recruitment process find black sheep in their teams from time to time. And vast majority of companies aren’t very demanding when it comes to recruitment. Especially when time is good and they need all hands on deck and would take almost anyone who can help at least a bit.

    I understand lack of will to fire people. Firing people sucks. But it’s a part of manager’s job and from time to time it just has to be done. Cost of rejecting to do this is way higher than just poor performance of a couple of people. It spreads like a sickness. Yet somehow I still hear about companies accepting underperformers for some reason.

    Update: Since the post received pretty much buzz in my company a small disclaimer: this is true story but not about my current company, not even about any IT company. Yet still it’s about a firm I know pretty well. Anyway I used the example since the case is pretty general.

  • We All Are Salespeople

    A developer who sends an email to a customer to elucidate some details of proposed solution. He is a salesman.

    A project manager who goes on biweekly status meeting. She is a saleswoman too.

    A support engineer who answer for ticket submitted by one of clients. Guess what, he’s a salesman.

    A manager of software development team who receives escalation call from disappointed customer. Surprise, surprise, she’s a saleswoman.

    It doesn’t really sound as they all were salespeople but they are. Whenever we contact current or potential customers we all play role of salespeople at least a bit. It doesn’t mean we all should wear suits and have this marketing blah-blah talk ready to fire at the customer. It doesn’t mean we should all have minds set for thinking what product we could up-sell there. But it does mean people on the other side will evaluate our work as the part of current and future sale process.

    We’ve done a project with them and we won’t do another.” Odds are that’s not the fault of sales representative alone, but developers or support engineers or project managers or all of them screwed their work. They failed at up-selling anything more, no matter how great their product could be.

    We considered them as a company suitable for small projects only but they’ve proven their worth and now they’re one of our important vendors.” Oh, that wasn’t only the effort of key account manager responsible for that customer. Or was it?

    Even when our work isn’t seen directly by the customer it works that way. If a quality engineer does a perfectly good job hunting all the glitches it will be appreciated as an effort invested into high-quality. The company will be considered as one of these which delivers quality solutions (even when they aren’t always on time) and that’s pretty important factor when customer chooses a vendor. Or at least it should be.

    In this way or another we all help in selling our products. Most of the time we do that unconsciously but it doesn’t change our influence on setting new deals. We all are salespeople.

  • Role of Trust

    It is said that formal agreements are for bad times. As far as everything goes well we can forget about papers even when there are some of these. Either way it’s all about trust.

    A question: what happens when a subcontractor doesn’t do their work well? Do you take a signed papers and count forfeits? Or you trust them and you believe you can find a solution which is acceptable for both sides?

    What about relations with your bosses or your customers?

    Probably in each situation we have a different level of pain. Sometimes we’d use our formal weapons faster, sometimes we’d try to avoid that as long as possible. Where’s the difference? Trust. The more you trust someone the longer you’ll be talking with them as human with another human, not as lawyer with another lawyer.

    There are people who you don’t trust much, maybe you just don’t know them or they let you down before. When doing business with them you’d focus on formal agreements much. There are those who you don’t trust at all and you won’t do anything with them even if they’d pay you well. Of course there are also people who you trust much and their word weights even more than signed paper.

    Which kind of people do you work for now? Which kind would like to work for? If answers differ think about it.