Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Blog Articles

    The Importance of Communication - when TRUST dies horribly and organizations fail

    This week alone, I have seen two great companies stumble and suffer serious damage to their brand. Not only did they alienate customers and cause short term financial loss for themselves, they also cause long term damage to their brand and reputation. This is something that could have easily been avoided by simply following standard practices and putting effort into proper communication. In this article, I will give you my point of view of the events and some ideas on how this could have been avoided.
    Atlassian - removing features and failing to communicate it
    Atlassian have had problems with communications for a while now, and this in itself is a big problem. This week, however, I was preparing for introducing Advanced Roadmaps to a company I work for, and I was very surprised to notice that some features was missing. As it turns out, this was announced back in May on an obscured page in their documentation.
    I assume that a notice was sent out around that time, but it seems it did not reach everyone (I never got the mails) and then apparently they did not think any more of this. A minor notice, barely noticeable in the release notes, can be found for the July 26th release. No marking to indicate that this will reduce functionality and rather than explaining what is being removed they refer to "live plans", which almost no one know what that is in reference to.

    My question is: what information did new customers that signed up AFTER May 10th get regarding the fact that functionality they were buying would be removed later that year? When I upgraded to Premium, there was no warning and no mention of this, and I have not received a single email regarding this change.
    To make matters worse, it seems that not even support knew this was happening so when I submitted a ticket to ask where my features had disappeared to, they referred to the differences between cloud and DataCenter. Obviously, they had no idea this feature was removed or that it had ever been a part of the cloud product.
    So, how should this be handled to avoid upset customers that suddenly loose functionality from a premium product they pay a lot of money from? Well, the simple answer is of course to communicate. In this case, you have 2 communication paths to cover: existing customers and new customers.
    Existing customers - Direct communication is a must. No one have time to read release notes or blog posts. People have companies to run, and removing functionality from a premium product is almost unheard of without a replacement product or alternative. On May 10th this should be a focused email to all premium customers where the changes in the product would be clearly communicated and detailed.

    3 months before the removal, another letter should be sent to remind the customers about this change. Then again every month to ensure no one misses this information. Every release note from May 10th should have a notice at the top reminding of this change as well. This notice should be properly marked in red with a warning sign to illustrate its importance.
      New Clients - Present changes up front. In the upgrade and order form, you should add a notice that the current implementation of Advanced Roadmaps will have changes happening soon that will remove features. You don't want to start a relation with a new customer with the feeling of lying and not being honest. While not a lot of clients was effected by this change, it has significant impact on TRUST. Not only do I not trust that Atlassian will keep me updated on changes to their products, especially when it comes to removing features, I also do not trust that they will be open with me when it comes to financial issues. This is a huge problem and I know that this is not just me feeling this way as I hear many other Atlassian consultants and customers starting to feel the same way.
    Atlassian needs to step up their communication as they seem to be stuck in their corporate bubble lately and focusing more on making money than their customers. I think Pete Morris, the roadmaps/Advanced Roadmaps product owner, displayed this well in his response to me.

    While Pete is a great guy and his response is kind and professional, it also shows a distinct lack of understanding of how to communicate with customers. In-product notifications are nice, if you assume that people actually read those, or even understand what they mean. Passive communication does not substitute direct communication, and more often than not the people who need the information are not the day-to-day users.  It is the people in charge of tools and work processes and finance that need it, as well as the system administrators.
    I will of course reach out to Pete and discuss this with him and others at Atlassian, not to point fingers, but to give my point of view to hopefully prevent similar situations in the future.
     
    Invision Power Services - massive surprise price increase and reducing support without notice
    IPS, the company behind the software I use here on the site, stepped into a hornets nest this week when they sprung a massive surprise change on their clients. Instead of a simple update to pricing and their support, they now have a PR nightmare on their hands. Their new website refresh that was supposed to be filled with praise over the new design is now a sad tale of angry and disappointed clients. When writing this the thread has 384 replies and it is bad...

    So what really happened to warrant such a massive surge of frustration? Well, it was a combination of things, where I think the biggest issue was that people realized big changes to pricing and support by browsing the new website. There had been no information on this change beforehand, and the changes was quite substantial.
    Price updates - This was a huge price change where people not only saw their price go up with anything between 30% all the way up to 300%. Most seemed to get a 50-60% increase in price, however, and while that surprise in itself was bad... Billing cycle changes - Payment periods was to pay the license fee every 6 months, but after the update this was changed to 12 months. Not only did people see a 50%-60% increase in license costs, it also doubled in size since it is now a yearly cost. For me, this meant that I went from $105 every 6 months to $310 every 12 months. That is a 50% increase for me. No more support, unless you pay for it - This was a very strange one as IPS now will shift everything towards community support unless you pay a whopping $1250/year. Yes, you read that right... $1250. Unless you pay over 100 dollar a month for ticket support, your support experience will be going through an open support forum. IPS claims that you can ask for private support or use the contact form if you do not want to post sensitive information in public, which seems very odd to me. For me, that just add a step for IPS support, the way I see it? It could have been different...
    This could easily have been avoided, and it could even have been a positive spin on things if handled correctly. No one really mind the price change because we all knew that it had to come sooner or later. The change should have been done gradually, however, with the proper communication.
    First announce the change 3 months in advance. IPS need to increase prices to up the development and support efforts. Everyone wants to see more features and bugs fixed faster. Everyone wants support to be better. Not a hard selling point to make. Offer anyone that want to commit to IPS to pay for a longer period of time now before the price change. - Show that you care about the current customers and also get a big chunk of short term cash to invest. Next renewal price remains the same for all existing customers - Again show that you care and appreciate the current customers by extending the existing price 6-9 months depending on when their next billing is due. #2 above should cover any current cashflow need, and you get a ton of goodwill. New customers pay the new price, of course. Offer multiple billing cycles. - Matt tried to motivate having just yearly billing with that customers can get confused or happen to pick the wrong cycle. I don't buy that as it is a UX issue and they own the product in charge of billing. I had a web hosting service for 15 years with multiple billing tiers and no one ever got confused by that. Having multiple options would help a lot for many that have problems funding $300 one time fee, but find it easier to fund maybe $30 monthly. Yes, you can do that anyway if you like with the ability to deposit money, but it is not something that people are used to. Define your support properly and offer ticket support. - While I get the idea to move questions to an open area to reduce the number of same questions being asked over and over, that is not the answer to the problem. I am all for the community driven help with IPS staff doing the heavy lifting, but you need to have an option for ticket support as well. I think it would have helped to put classification on the support tiers to make it easier to understand:
      Tier 1 support - Paid Premium support with response time within 1 hour and a resolution time within 48 hours. You can even offer per ticket support where a customer can pay a sum for priority support either per incident or for say a month for example during a migration or critical sales period. Tier 2 Support - Ticket support in a private forum with only own tickets settings. This is used only for technical support issues, meaning that something is not working with your software. Tier 3 Support - Community driven support where you can ask any question and get help from the community as well as IPS staff. The key point here is to communicate, in advance, present the negative changes with a positive that motivates the negative. A price change should lead to improvements for the users, like better support and faster feature cycles or investments. This way you motivate the change and you give time to absorb it. This is important because the human mind is very sensitive to change and rapid change has a tendency to cause frustration or even anger.
    IPS did the complete opposite by letting their customers discover the changes on their own and then selling the change with no upside for the customers at all. Instead the customers now pay more for less as prices went up and support was removed. That is a double negative, which is extremely hard to sell to your customers.
    This was a part of the email that was sent out hours after the release of the new website and the new price model.

    The wording and the way this is presented is directed inwards. It tries to motivate price changes with an historical reluctance to increase prices, which is pretty much what every landlord in the world do when they want to make more money and care nothing about their tenants. It has never been received well and it was not in this case either.
    Claiming that the services and products hold great value is a moot point to make towards their customers. We know this, that is why we pay in the first place. What we want to know is why should I pay 50%-60% more tomorrow compared to today? What has changed and how do I get better value for paying more? Making claims that major features have been adding and referencing gamification (which is not a complete system btw), anonymous posting and Zapier integration does not really motivate why you want me to pay you more. I already have those features!
    Switching to annual renewal billing because it is a simpler way and in line with industry standard show a distinct lack of connection with the customers and it is again directed inwards. It is not easier and more wanted for the customers, but many would have loved to have that as an option. I am of course talking about companies, but they are not the only customers IPS have.
    The fact that this came out hours after the release of new prices and changes to support models enforces the feeling that this was an afterthought and that IPS care so little for their customers that they only informed them after they started screaming. I know that is not how IPS see their clients, but the perception is still there due to this mistake.
    IPS failed in communication and people are leaving
    Due to this very simple mistake to not communicate and not making sure the customers understand the reason behind the price change this has now caused many customers to cancel their subscriptions. This will have a ripple effect on the mod creators either leaving or increasing their prices substantially. Less mods means less customers and less customers means less community support, which leads to a feeling of abandonment and ultimately a reduction in sales.
    Worse though is that IPS loose their customers TRUST. Again.
    IPS is on a very dangerous path, and has been for a while, due to the fact that they seem to lack a communications officer that have experience with communication strategy and financial strategy. While Jordan is doing an amazing job trying to communicate with the customers on the forum and social media that is not enough to save them from blunders like these. Not even Matt trying to do damage control will do anything in this situation.
    The damage is done.
    The ony question is how will IPS handle this now that they have screwed up. They can either continue to ignore the vocal customers that do not approve of these changes, or they can roll back and make a new plan to roll out later this year.
    If they ignore the customers I think they are going to have a really bad 2022, especially as people get back to life again and spend less time online again. Many struggle with finance now and it is not hard to motivate a move to less capable competitor with such a huge increase in pricing. Customers will drop like flies, not just because of the changes to price and support, but because they no longer trust IPS as a company.
    If they roll back and make a proper plan in communication with their customers, then they have a chance to salvage some customers at least. Many will still leave due to the lack of TRUST, but the chance for redemption could salvage that to some degree. With the proper communication they can even turn this into a win, but that would require a communication plan that is very different than what we have seen so far from IPS.
     
    Communication is not a nice-to-have!
    If you run a company then you sould know that communication is not nice-to-have. It is an essential part of your business and if you fail in communication you not only can, but you will, damage your brand and business.
    Anytime you deal with change for your customers, make sure your communication is aimed towards them. Make sure you present the benefit for them, not for you. Change is never accepted up front, so you must always sell it to prevent backlash. It is very difficult to fully recover from a communication mistake, but you can mitigate and in some cases even improve your relation with your customers.
    So don't ignore the importance of good communication and if you are not a communications expert yourself, hire one. It will save you a ton of money from stupid mistakes like Atlassian and IPS have stepped into and it can increase your revenue a lot.
    Good luck!
     

    Price increase - but why the obfuscation Atlassian?

    Atlassian are raising the prices for their cloud services on October 12th, which is perfectly ok. What is a bit strange though is that they for some reason seem to purposely try to hide just how much they are raising the prices. It does not say in the email, and the link takes you to the FAQ rather than the price list. A price list that only have the new prices and not the old for comparison. It is a bit odd.
    This seems to become a norm for Atlassian lately, to hide information and prevent comparison. I don't like it and I don't like the direction Atlassian is taking in terms of communication and information in the last few years. Atlassian used to be good and open about their prices, but lately it feels that they are doing everything they can to obfuscate and hide information purposely.
    I am not sure if that is because they have a strategy to adopt dark patterns in their UX to prevent a clear view into the actual costs (like airlines do), or if it is just some bad practice on their part implemented by someone who don't understand the customers.
    For example, why not include the new pricing in the email you send out to the customers? You know what products the customer own as it is part of your database, so it is not rocket science to add customized templates based on product ownership. If people could do that 15 years ago when sending out printed catalogs that had your car and your color on the front page, then I am sure that Atlassian can set up a simple database that can send targeted content to product segments.
    Even if you can't because you have not done the work, or your master data is crap, you can still send the entire pricing table, or at least link to it!  Instead, you send out a letter that say nothing with a link to a page that does not have the pricing information I am looking for.
     
    Not even the FAQ landing page that Atlassian link to have a link in the text or any form of directional que to the single most important question clients will have when landing here: What are the new prices. Sure, there is a link component to the left, but nothing that indicate that these are related to the new pricing structure. It's just sloppy and poor UX in my opinion.

    Once you click in to see the pricing tables, you would expect to see the new prices and the old one for comparison, right? Nope. Atlassian shows only the new prices. If you are anything like me, then you never really pay attention to the actual price per tier, you know your monthly cost, right? So it would be nice with a place to see your new cost based on the new prices... but nope. You just have to wait for the next bill to see what the new price might be.

    As you can see, the start plans are going to be shafted once more. So if you have one, hold on to it because it looks like they will increase the price on that tier with 750%.
     
    Now, it is not very difficult to present the information on the increase in a more useful way. Just add the information on both the old and new price, along with the changes in both value and percentage. This is what Jira Cloud Standard looks like, for example, if you spend 2 minutes on it:

     
    I think this could be a problem because the person in charge of the INFORMATION is a designer used to work with PRESENTATION. Having tables that look good is one thing, answering the questions of the people looking for answers is another. If you present new prices that will affect people's decision to remain a client or not, then you better do better than this Atlassian.
    This was not good, so step it up.
    Ok?

    Rituals and Processes - How to make them work, for real

    As the summer end and we are slowly crawling back to work from a long time working from home, people will start looking at new ways to work. Again. New buzzwords like mixed workplaces and work anywhere will mix with things like SAFe and Tribes, all driven from top management that need something new to call things. Here is the thing, though... You don't need it. Because the work has not changed and your need for control is due to a lack of trust. So let me explain why the processes are identical all over the world and how rituals may vary to improve them.
    Process of making software and development.
    I have to admit that I am constantly amazed over how little people understand the process of making software and develop things. Almost everywhere I go, people are so focused on the rituals that they seem completely unaware of the overlying process. Instead, they talk about Agile, Lean, SAFe and other rituals as if they were the process to make code. They are not. They are rituals on different levels. Their purpose is to add naming and rituals to the overlying process. The problem is that without understanding the process, they are just small pieces of a larger puzzle that more often than not, does not fit with other puzzle pieces.
    So what is this overlying process, or master process if you will? It is the steps every development must go through, regardless of size. That is what a process is, after all. A series of activities that you repeat over and over. What are these steps then that you always take, and how can they work regardless of scale? Let us define them and see if you agree with me.
     
     

    Ideation
    Ideation usually involve visual design or some technical design, but it can also be feedback on the current solution. The purpose is to form some idea of something that can create value. I do not mean value for the end users, but for the company. This is an important distinction because some rituals only talk about end user value, which is actually irrelevant unless that lead to value creating for the company. This is also why some rituals are completely separated, or ignore the finance part of the process. The ideation part can be a very small tweak, a feature, a project or even a new product.
    Definition
    Once an idea has been formed, we define what the idea is. We do this with the purpose to make a cost and risk analysis to see if the idea can create enough value to be developed. This involves not just design and management, but input is also required from development and test to get complexity and high level estimates. Again, scale does not matter here, as we do the same for any level with more detailed work required the larger the scale becomes.
    Finance
    In this part, we match the value creation with cost of creation. Many rituals ignore this step and place it implicit on the role that own the financial responsibility. At large scale this has its own rituals like project planning and portfolio management, but even for small features or even tweaks we always make a cost benefit analysis. Or we should at least.
    Specification
    In the specification phase, we ensure that everyone involved understand what to build. We also set the rules for how to verify and accept. Again we make this at any scale where at the smallest level this might just be a verbal confirmation and an update to documentation, while in others it can be hundreds of hours of workshop and documentation. The aim is always the same: to ensure we understand each other and know how to verify that we have done things according to the need.
    Realization
    This is where we take the specification and realize it. Depending on our definition of done, we document what we build with the purpose to keep records of the system, so others can build upon the work.
    Verification
    In this phase, we verify that the specification has been fulfilled. That is all. If something fail to meet the specification, then it is returned to Realization in the form of a defect, or in large scale circumstanses, as contractual issues.
    Acceptance
    In the acceptance phase, we approve the development based on the specification, but we also try to determine if the specification was the right one. In the case that the specification did not yield the correct result, we can add new things into the ideation phase to correct. Making the wrong specification is not a fault of the realization, so it can not be defects.In large scale situations this is a contractual issue that is managed as a contactual conflict.
    Presentation
    The presentation phase is when the idea is finally presented to the end users. Usually this is done by releasing code to a production environment, but it can be done in various ways depending on the product.
    Maintenance
    This is the last step in the process where problems are managed within the build and presentation phases. This step can be either a time limited one, such as a post go-live support period, or it can be as a part of a maintenance project. Regardless, this phase is a bit different as it has a predefined finance attached to it and it only deals with problems such as incidents and repeating problems.
     
    You always go through these phases
    It does not matter at what level you are, you always go through these phases. This is why you will feel pain when your way of working skip one or more of these steps, and in my experience it almost always happen to be Finance, Specification and Acceptance at the lower levels. This is almost always based on the rituals, however, where misinterpretation of Agile along with poor definition of management responsibilities seem to be the biggest reason as I have seen it.
    You can do some very small things to adjust this, however, ranging from a small checklist to a more detailed process mapping on need. A checklist can easily be done with just a few questions, where we just verify each phase to ensure we have not skipped any of them.
    What is your idea? Is it technically feasible? How difficult would it be to realize it in terms of time and risk? Will the idea generate more value than it cost to realize it? Is this idea more important than other ideas in terms of priority? Do you understand what I want, and can you realize it within the time we have set? Is what we have realized in accordance with the specification? Are the end users happy with what we have presented? --- Maintenance below is usually a bit on the side --- Are there any problems that need to be taken care of?  
    Define the inputs and outputs
    If you want to make this a more reliable process, then the next step is to have a set of workshops with each group to define requirements of input and output. Anyone who have spent time defining work processes have probably touched on this, but usually this is a top-down process where you focus on rituals, not the actual process.
    I can not tell you how many times I have sat down with people who are very skilled with processes only to see completely blank faces when asking what the requirements for the input is from the developers. They never tend to get that far down, as they start at the top with finance and portfolio management down to maybe project management.
    My suggestion is to start with the part where you will make the biggest impact, and that is at the bottom. If you shave off 10 hours a month for every project manager, that might seem to be a huge win. Until you compare it with shaving off 30 minutes of time for every developer and tester. In one company I worked for, I made an extremely low estimate that they lost more than one hundred million Swedish crowns every year due to lacking in the verification part alone. In the whole work process, they probably lost more than 10 times that...
    Start with the Testers
    NOTE: Depending on your organization and your rituals, you may have people with multiple roles. That is ok as long as they are clear on what role they are representing in each workshop. It may be required that you direct them from time to time if they drift to another role.
    So I always start with the testers. This is because despite them being very important in the process, they rarely get to be involved where they should be. This is the same as for design, but their impact is less on the overall process since they exist in the ideation and specification parts. The format for this workshop is quite simple. Put a group of testers of different levels in a room, put up a square on a blackboard or big piece of paper with one side marked as "Input", the other side as "Output" and on the bottom you add "Dependencies".
    Divide the group into 3-5 people each and ask them to write post-it's for each of the three sides. Input is what do you need to do your job, Output is what do you deliver to acceptance and dependencies are things that can affect your job. Give the group 20 minutes to write these things down, put it on the square. After 20 minutes, go over the notes together and define what the testers need to do their job, what their definition of done is and what dependencies they have.
    The next step is to move over to the work process and discuss in what phase they see themselves participating and what their role is there. Rinse and repeat, but limit the time to 10 minutes for each phase, since most should already be up on the big square. Discuss again and create multiple squares, one for each phase.
    NOTE: If you want, you can take this opportunity to define roles and responsibilities at the same time, or keep this for a separate session.
    Then move on to the Developers
    The next step is to talk to the developers with a similar exercise, but at the end bring up the testers requirements. The aim here is to match the developer's output with the input of the testers. This will show the gap between expectations of these groups, which you can then discuss. From this exercise, you might need to go back to the testers and make a separate gap analysis with them, and in some cases you might need to bring both groups together to get the gap closed properly.
    Move on to the business side next
    While it would make sense to take the Specification phase next we purposely skip that and lump the business aspekts into one big session. The aim for this session is to identify and separate the large scale aspects of the business side since we will handle them separately. So we try to focus the sesion on two parts: project management and line work. As both work with fixed budgets this allow us to focus on what input is needed to make good finanical decisions and how to prioritize.
    In this session we focus on the Definition and Finance phase to get the input needed from Ideation and how that support the financial decisions. In this case we start with Finance, even if it comes last in the chain. That is because it is usually easier to define what input is needed in order to make financial decision. That will make the definition phase easier to define as well.
    The trick for this workshop is to avoid getting into discussion of rituals. How decisions are made, in what cadence or what the decisions are called is irrelevant. The only thing that is important is what information is required to make decisions. If your organization have rituals that require you to submit a form-501 for change request that include a certain financial code, then that is a ritual, not a part of a process. Just note that down as that you need financial information about billing recipients and a dependecy to the portfolio process, or whatever is relevant to your organization.
    Once you know what information you need to make informed decisions, then it is time to talk about the definition phase. How do we get the information we need from the Ideation phase may sound easy, but this is where things get a bit tricky. On one hand you want the perfect information for financial decisions, but on the other hand you don't want a 3 day documentation process to submit new ideas. So this is where the participants will get a bit frustrated, because we will kill their darlings.
    That is right, we will take the requirements they made for the Financial phase and we will do a YAGNI excercise on it. Yagni stands for "You Ain't Going to Need It" and we will use that to mark all data we previously marked as input to the Financial phase. The aim is to remove as much as possible, or rather to simplify to the point where we can take good decisions without to much risk.
    This can be a very tricky exercise if your organization have low trust, but it is crucial for you to get a proper process.
    Bring Specification to the table
    We now move on to the most crucial part of the process: The Specification Phase. This is the zone between the business parts and the realization parts. As such it is the most fragile part and it is prone to a lot of confusion within most organizations. This is why we take this after we do the Finance and Development phases.
    Since we now have the requirements from the Development side and we have the expected outputs from the Finance and Definition side we have a starting point. In this workshop I tend to add multiple groups because we need Developent, Test as well as Design and Finance since they are the one that need to understand each other.
    I tend to start with defining the purpose of the Specification phase first so everyone is on the same page. 
    The main purpse of Specification (Requirements) is to ensure everyone knows what the definition of done is. Specifications are legally binding. Payment is made based on them and defects are verified by them. Not all Specifications will be Realized (financial backloop) Specifications are historical records. With that in mind we can now start discussing the input and output of this phase. You will most likely see that there is a big gap here and that roles such as project managers, requirement analysts and product owners will express concern because the requirements on their job is much higher than they thought. You will most likely aslo see a big change in attitude from the development and test  when the people on the business side start to realise just how much time these two groups spend chasing information that should have come from the Specification phase.
    In this workshop it is important that we do not fall into a WE vs THEM situation. This can sometimes happen if the gap between the business side and the realization side is very big. If this happen, remind everyone that we are not there to complain on what is missing, but to collaborate to find ways to add things that we need. Together.
    You probably also need to explain to the visual designers that they are part of two phases, the Ideation and the Specification. Many do not know the difference and they often think everything is exploration and ideation, which of course is not true. In the Specification phase we talk about design guides and approved design specifications, nothing else.
    Mind the Gap(s) and sign the process.
    With this we have pretty much defined all aspects of the process with input and outputs. You may have noticed that there are some phases that we have not covered yet, but don't worry. We actually have covered all the phases, but we just have not had workshops for all of them yet.
    Ideation have an expected output from the Definition phase. The Acceptance actually get their expected input from Specification since that is what they will accept towards. This is also true for Maintenance that will focus on Incidents and repeated problems that both have to be defined in the Specification.
    That leaves us with Presentation that is the phase where we deploy to production and release it to the end users. Since this usually does not entail a lot of requirements more than knowing what to release and when, there are situations where a more defined process is required. if this is the case for your organization, then follow the same workshop setup as the other ones and map input, output and dependencies.
    Once you have all phases done you need to check for gaps that might still exist. So ask everyone that have participated in the workshops to verify their phases, but don't just ask for a thumbs up. Request that they fomally sign a decision document where they say they approve the definitions as they are stated. This is very hard in organizations that handle approvals through a consensus decision ritual rather than a formal decision ritual, but I suggest you insist. Not only will it make everyone take responsibility and thereby look a bit extra, it also visualize that someone actually have thought these things through!
    That is something that is far more important than you think.
    Brace yourself, change is coming!
    Once a process is set everyone will examine it and they will apply their opinions to it. This is natural and it is a good thing, if you can manage it. Change for the sake of keeping things the way they are should be shut down as soon as it comes up. Change that improve the process should always be encouraged. Sometimes the way things are will fall into the category where it improves the process and if that happens improvements always win.
    One thing you will notice is that everyone who bring forward thoughts on the process do so from a position of wanting to improve things. No one ever want to make things worse. Because they do not understand the process, or the difference between process and ritual however, they will make suggestions that are making things more bloated and complex. This is because they are blurring the lines between process and ritual and if you are not careful you will end up with a custom made ritual and that can be very expensive.
    So what I do is I make a proper channel for input of great ideas. Each channel is tied to one of the process phases and each phase have a group that receive and review these changes. If a change is beneficial for everyone in that phase, then it is implemented into the process. If it is not, then it will not be included in the process. The key here is to make sure that the groups that are responsible for the input and output are the only groups that can approve or deny changes to that process phase.
    Remember that the process itself rarely need any changes, but the rituals often require many and frequent updates.
    How we use the Process with Rituals
    Before I answer that we need to define what Rituals are. In my definition Rituals are a set of nomenclature (set of words), activities and roles. They can exist to cover one phase in the process, or multiple ones. They can also exist on different heirarchies, or scale, such as strategic and operative. They all have the same benefit and problem and that is that while they provide a unified way to discuss around things, they rarely play well with other rituals and they quickly grow to be bloated and encumbersome.
    So if we take an operative ritual such as Agile for example, then we know that it is not designed to work on a strategic level. We would then use that preferrably on a line work setup where we have a defined budget, but not a defined scope. For this setup we would then take our process and use it to ensure we get all the input and output done correctly as part of the retrospective.
    We can also easily see where the ritual have their weakpoints. Agile for example is high in Ideation and Definition is done collaborative as a parallell ritual. The weakest point of Agile is Specification because Agile is usually more verbal than documenting. So we define together how specification fit within the Agile ritual and add that to our definition of done.
    By doing this we can easily discover shortcomings of our way of working with Agile, by examining output and input to ensure we don't miss anything. We can also make small adjustments to the ritual where there are gaps.
    Is this overkill for small companies?
    Not at all. Understanding what you do and how your work relates to the overall picture is very useful. I almost always hear people asking the same questions in every organization I work: what is expected of me? Even having this as a two hour exercise in a single team will make you work much better together. There is no size limit for when understanding expectations on you and the work you do stop being useful.
    It seems very hard to do.
    I assure you it is not.
    Anyone can do this because even in worst case scenario you will still have had a healthy discussion on expectations in a pretty fun and interesting workshop. This workshop also doubles as a team excercise and an excellent opportunity to bring up problems and issues that may otherwise be difficult to raise.
    The tricky part is to find the right level for the input and output. If you take the input for Realization for example one requirement is of course to understand what I am supposed to build. That is to generic so we define that in more detail so we say that for visual elements I need a design or wireframe as the minimum, or referral to components if you work with that. I also need acceptance criterias so I can verify my work. Perhaps I have dependencies to instructions on how the system works or code standards so I know how to write my code.
    If you do not get it right the first time around, don't worry to much. You can always iterate and improve when needed.
     
    Defining a process is a great starting point
    Once you have a process that you can use as a base of what you do on a daily basis, then you have a very good start. It is very much the foundation upon which you can build your Taj Mahal of work processes that will make your employees create new wonders for the world to see with joy and serenity in their hearts.
    So don't focus on interior decoration first, it will just be a bunch of fancy named furnitures thrown into the mud.
    It is easier than you think!

    Criticial Ransomware Incident - Massive cyberattact through tech provider Kaseya

    IT management software vendor Kaseya whose VSA software platform is used by other tech companies to monitor and manage customers’ IT networks, has been the victim of an audacious cyberattack. On July 2, the business issued a security advisory urging its customers to immediately shut down versions of VSA running on their own servers. It also suspended its own cloud-based VSA service.
    Kaseya VSA is a remote management platform for MSPs that provides solutions such as automated patch management. According to Kaseya, the platform has been used by more than 36,000 MSP customers worldwide.
    "Beginning around mid-day (EST/US) on Friday, July 2, 2021, Kaseya's Incident Response team learned of a potential security incident involving our VSA software," the company's CEO Fred Voccola said in a statement shared late Friday.
    Kaseya's official recommendation is to:"IMMEDIATELY shutdown your VSA server until you receive further notice from us."
    This attack already has compromised eight of Kaseya's MSP customers with 200 businesses linked to three of the victims reporting instances of file encryption. This Reddit post from huntresslabs show the progress of sorting out how to fix this ransomeware attack.
    On Friday, Mark Loman, a malware analyst at security firm Sophos, tweeted the hackers demanded $5 million as ransom in exchange for the file decryptor. Image comes from thehackernews.com.


    This seems to be quite nasty and here in Sweden it has affected one of our chain of groceries stores as they are unable to make payments due to this affecting their cashiers. In the US hundreds of companies have been affected and it is safe to assume that many companies in the EU and elsewhere might be affected as well.
     

    Serious vulnerability in Windows Print Spooler "Print Nightmare"

    If you have the "Print Spooler" service enabled (which is the default), it means that anyone with access can execute code as SYSTEM against the Windows domain controller. At present, there is no patch from Microsoft. So take a break from your vacation and turn off the service immediately.
    From Tenable's blog:
    E5GOlYUXwAUyqzU.mp4
    More information from Microsoft: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1675
     

    Atomic CSS - what is it and is it useful?

    Atomic Design, or Functional Design as it is also referenced, is a bit of a weird beast. On one hand, it is a programmatic shorthand feature that allow you to use short code in development that then render CSS based on that, but it also a philosophy of sorts on how to organize CSS. A philosophy that very much resemble the inline-css era of old.
    The problem statement
    I think this statement says a lot on how ACSS and to some degree Atomic Design itself see the world of CSS. Anyone working with wild or free CSS development can certainly recognize some of these pain points. This is not uncommon in scenarios where many developers work in the same project or you have to work on top of a not so well-designed product.
    The question is, though, how many still work in that way and why?
    In a scenario where you have a defined design pattern, which should be the norm these days, this is rarely an issue. Regardless if you do atomic design or component design, your styles should be easy to maintain and define. Despite this I still see a lot of JS developers adopt inline styling and duplication of CSS in components. This is more common in libraries like React and Angular, I feel (personal experience, no real numbers to support that).
    So it is not surprising to see a rise in areas like Atomic Design or ACSS since that help bridge the gap in skill levels some JS developers have and the inherent despise we have to spend more time than we have to on things we don't really enjoy doing. Not to mention, there are some benefits that should not be overlooked.
    ACSS - Atomic Design as a preprocessor
    ACSS is a preprocessor that will transform inline HTML variables and create CSS from it. It has a fairly simple syntax and it works by looping though the HTML and scrape up the variables and then make a CSS file from what it finds.  In many ways, this is similar to inline CSS, but you would get a static CSS file instead of just printing it out in a style tag.
    If we borrow an example from the excellent CSS-Tricks site that I highly recommend you check out, then here is a snippet of code where we declare some classes and input a variable to each.
    <!-- Programmatic Atomic CSS Example --> <div class="Bgc(#0280ae) C(#fff) P(20px)">Lorem ipsum</div> The output from this would then generate the following CSS:
    .Bgc\(#0280ae\) { background-color: #0280ae; } .C\(#fff\) { color: #fff; } .P\(20px\) { padding: 20px; } This may seem quite useless compared to a well-defined CSS with variables declared that I could just input, but you could use both of course and use this to override in certain situations. Similar to how you would use inline styling.
    The biggest benefit of this however is that the CSS generated would be as small as you could make it. This is because the CSS would be based only on what can be found in the HTML. This can be useful for development in for example Angular and React, where I assume this is mostly used.
    In situations where you have classes reused over many components, like this website however, that would not really be as beneficial as having multiple CSS files is never a good thing and you would see duplication of classes. This is of course if you generate the CSS on a modular basis, but not if you render it globally on load somehow.
    Overall, I do not see any need for me working with sites like Invision Community and I feel it would not really work well in an atomic design situation with defined styles in both the UI and the HTML/CSS that is reused across components.
    I may be completely wrong about that, as I have not tried it and if so, sign off in the comments to tell me I am wrong 🙂
     
    Atomic Design as a Philosophy
    The idea of Atomic CSS is simple and, to be honest, not very new. The idea is to create single attribute classes and then stuff the HTML with them. Kind of like you would do using Inline styling, but with a global definition of the styles. It would look something like this.
    /* naming utility classes */ .relative { position: relative; } .mt10 { margin-top: 10px; } .pb10 { padding-bottom: 10px; } I say that this is nothing new because this has been around since before inline styling even existed. One reason it is not widely used is because it makes the HTML cluttered and hard to read. It is also a bit annoying to work with compared to having well-defined CSS classes as you will have a ton of attribute shortcuts basically rather than a library of styles.
    If you are used to working with frameworks like bootstrap, then you are already familiar with the concept, since those frameworks also have libraries of smaller styles that you can mix and match. Atomic CSS is much smaller however and rather than having for example a flexbox class that have the standard values you use all over the site you have to build those up with a set of classes inline in the HTML.
    Is it a terrible idea?
    Atomic design as a concept can be traced back to October 2013 and an article written by Thierry Koblenz. It has since evolved and you will often see it in reference from the new breed of JS developers that work in frameworks like React and Angular. While it may be a bit unfair to say that these new JS developers do not have that same deep understanding of CSS as the "regular" front end developers, I do see this distinction growing.
    For the JS developers however, this is pretty useful as they can focus on function rather than form. You have probably seen the mess that sometimes happen when JS developers mix inline styling, component specific styling and global styling. It is as bad as having multiple novis CSS developers trying to use EM when they do not control the output containers...
    I hear some arguments that this makes it easier to avoid specificity issues, but I do not agree with that. If you control your code, then you are a pretty bad developer if you can't handle your classes properly. It all comes down to planning and setting structures after all, unless you are just playing around like I do on this site.
    I digress though and to answer the question if this is a terrible idea I think there are use cases for when this can be useful. Since that article in 2013 however, I think those use cases are less now, especially with the introduction of CSS variables. I do however think there is a very good case for using this same idea for defining variables and to keep your classes small as a philosophy.
    I do think there are certain scenarios where it is a good idea to use the concept of Atomic design, and that is for overrides. Things like fonts, colors and spacing can be useful to sometimes just make a small adjustment rather than building new components.
    Also, if you generate your content at runtime on the server, there are benefits to this since you can combine it with CSS-in-JS to dynamically generate very small CSS files. I guess this is why React and Angular developers are liking this way to organize your CSS classes. You can still do this working with regular CSS, but the files will be bigger since you are bound to have duplicate attributes in your classes.
    So it is not a terrible idea, but it comes with some issues.
    Allow me to explain...
    My Thoughts
    While there are benefits in some cases, there are some negatives as well. The biggest issue for me is that while we reduce the CSS, we instead increase the size of the HTML. The HTML also becomes much more cluttered and harder to read because unlike CSS where we can group classes, or even split them on multiple files, HTML will just be one big garbled mess.
    Consistency is also an issue because the idea of recreate clusters of classes to achieve the components is done manually every time, then you will see consistency go out the window. We see this all the time in wild or free CSS, where pretty much every component have its own class styles uniquely. This is especially problematic if you have JS developers that are not very good at using CSS and you try to set up a design library.
    At the end of the day however, front-end developers are flexible and resourceful people. All of these potential pitfalls can be managed and if Atomic CSS works for you and those that you collaborate with, then go for it. Just don't make the decision just in the development team as you need to work well with both Design and Test so they should have a say as well. Also, your way of working must work across teams, so don't start using Atomic CSS if you at any time will have other teams working in the code as well.
    You know all that of course, but it is something that you can never repeat too many times.
     
    Do you use Atomic Design today?
    If you do, what benefits and pitfalls have you uncovered?

    Project, Maintenance or Line Work - what is the difference and does it matter?

    If you work in IT, you have probably heard the words projects and maintenance many times. Usually it is in reference to different teams and organizations, but not always. Sometimes the same team can do both projects and maintenance, which can cause some confusion. To add to that confusion, you will sometimes hear the word line work as well. As these all see to be a bit malleable, it can cause some annoyance. With this article, I hope we can make a definition so we all know what we are talking about.
    These are all financial constructs
    Before we begin, let us define what these three terms refer to, since they are sometimes confused with processes or even methods. Projects, maintenance and line work are all financial constructs. This means that they exist as a way to manage budgets and resources. In most cases, projects and maintenance exist together and form sequential ways of working (waterfall, RUP and so on) while line work is the basis for iterative forms of working (Agile). This is also reflected in their financing where projects and maintenance mostly have fixed budgets and scope, while line work have fixed budgets, but scope is more loosely defined against value themes.
    Project
    A project is usually the easiest to define of the three. This is because most of the work in IT are still project based, so most people still work in projects. Projects are by their very nature sequential, meaning that they follow a step-by-step process to get funding and approval based on certain values. These values are often defined as features, but in some cases it can be other types of values. The difference between projects and line work is however that value need to be measurable and once set it normally can not be changed.
    Projects are defined as time limited bubbles of time, scope and resources that can span across different borders such as systems, organizations and even companies. When this happens, the project is split between the different areas and placed under an umbrella structure we call program. This makes projects the easiest form of financial structure to organize when you need to span multiple areas.
    Most companies that have been around a while also have a strong culture of organizing external resources around temporary work as projects as well. This is usually well-defined in their vendor management structure as well. This is why projects are the most common form of financial construct in most companies.
     
    Maintenance
    One of the most misused term of these three as it is often used for anything that is not project based. It also comes in two very different forms based on how contracts are defined in Vendor management.
    At its core, maintenance is nothing more than making sure the systems are working properly once a project has ended. This means that as a project ends, there will be a list of items that need to be taken care of, usually in the form of known bugs and technical debt. After the handover, maintenance handle unexpected incidents in production, problems and in some cases it also includes enhancements such as refactoring to make the system more stable.
    In some cases the maintenance get to work right after a release. This is when contracts are written without post go-live support, meaning that as soon as a delivery is accepted and released, the team in charge of the development no longer are responsible. This is often an awkward situation where the maintenance team and the development team can start to resent each other if there are a lot of incidents being released to production due to poor testing and acceptance processes.
    All of this is handled in a service management process that is matched against a contract with SLA and a budget for the work to manage the system or systems. This is often paid for by the product owner(s) or a business area within the organization on an annual basis, which is often managed through maintenance plans.
    Unlike project and line work, maintenance are not generating new value. The purpose of Maintenance is to maintain value, or to correct loss of value due to problems and incidents.
     
    Line work (line organization)
    If you have ever worked in maintenance where you also do development for new features as part of your work, then you are probably in some form of line organization doing line work. The term refers to a manufacture line where you continuously build things. Unlike a manufacture line, where you do the same thing all the time, line work in this context refer to continuous improvement when it comes to development.
    Line work, just like maintenance, usually have an annual budget. Unlike maintenance where the goal is to maintain value, line work have the same aim to produce new value in the same way as projects. In line work, however, this value is usually defined in terms of focus areas, or themes, and larger goals rather than defined ones as you have in a  project. This makes line work better suited for exploratory work such where value creation is iterated based on result.
    Line work often employ a flexible workforce, allowing them to quickly adjust resources based on need. This also works well for larger initiatives where the flexible workforce simply expand their numbers for a period of time and then shrink again. This however require a different way of handling vendor management and contracts as you can not define them around deliveries, but rather against value creation.
     
    The confusing mix
    It does not really matter what form your financial construct have, because at the end of the day you will adjust your preferred way of working anyway. You can work in an Agile methodology within a project and you can do waterfall in a line work setup. There will be challenges of course, but people do it every day all over the world.
    It is when things get mixed up you start to get problems. This usually happen with line work and maintenance, or projects and line work.
    Anytime you hear that maintenance also should so development of new features, then you are fading into a mixed situation, or are moving towards line work. This is confusing because you mix the concept of not generating new value in maintenance with creating new value as in line work, but without the flexibility in financing. This can cause headache, not just for managing the budget, but also because maintenance usually do not have a requirement process defined. The situation can be fixed however by moving over to a line work setup instead.
    The most common situation however is when projects try to mix fixed time and scope with exploratory methodologies. This is often done by implementing a sequential scrum methodology and an ad-hoc requirement process. Scope creep are very common and frustration high from confusing requirements and trying to iterate value within a confined time frame with fixed budged and deliverables.  The solution for this is usually to focus on requirements to reduce the ad-hoc situation and try to iterate withing the limitations presented in a more flexible way, rather than agile.
     
    I hope this helps
    As I see these terms used on a daily basis and sometimes in a very confusing way, I hope this definition helps. If you disagree with my definition, feel free to write a comment and we can discuss things. If you like this article, or better yet, find it useful, a comment or like is always welcome 🙂

    5 interviewer tips - for landing a senior employee

    We have all been in those interviews where the interviewer completely botch the interview. Weird IQ tests, being asked to do design or code on the fly or questions that are irrelevant to the work at hand. Sometimes it may even be that the interviewer is completely the wrong type for the interview and so on. In this article I will list my five top interviewer tips for interviewers to land that awesome employee contract for a senior IT or design person.
    Tip #1 - You are the one that have to sell the position
    Surprisingly many interviewers have the attitude that they are doing the potential employee a favor by letting them come to an interview. This may be true for other types of work, but professional IT people are in very high demand and for a senior person it really is their market, not yours.
    So if you come from another field where there are more people to hire than there are positions, you need to adjust that mindset. Otherwise, you will have a very hard time attracting people or worse, keeping them.
    People that are junior or new to the field often bend over backwards to land a job at a prestige filled company, but most seniors have already filled their CV/Portfolio and are done with the backfilling process where you endure crappy jobs just to build a CV/portfolio.
    These people know that they can afford to be picky, both in terms of job descriptions, workplace satisfaction and of course salary. You often compete with a dozen or more other companies for a senior employee.
    So rather than asking them to prove to you that they have what it takes, you need to prove to them that you are worthy of their time. That is quite different compared to dealing with junior employees or recruitment in other fields.
     
    Tip #2 Don't waste their time
    Unless you are offering someone's dream job that you know they will do anything to secure, don't waste their time. Asking a senior employee to do code tasks or design tasks to "prove" their worth is a sure way to turn many applicants away. The only people that will put up with that kind of nonsense are people that are unemployed or are still building up a CV/Portfolio.
    If you are looking for a senior employee, they will rarely put in extra work just to get to an interview. They have other options that don't require them to work for free anymore. Besides, they can easily pay someone a few bucks to do that assignment for them anyway, so it is kind of pointless from a validation perspective anyway.
    If you want to verify someone's skill, then just have another senior developer in the interview and have them go over some code or design together in a think aloud fashion. The other senior employee will pretty easily spot if the person know what they are talking about or not.
    Just be mindful that a lot of people get brain freeze during interviews, so this should not be your only interview point.
    IQ tests and personality tests are not uncommon either and I would strongly advise you not to use those. Most people don't like these kinds of test and they are likely to drop you as a potential employer because of that. They also do not really give you any information that is beneficial for your decision to employ or not.
    I kind of enjoy doing these, but that is because I already know my IQ is high and I have done a lot of personality tests so I know what to expect from them. Others don't like this kind of surprises as much though...
    If you want to have a psychological test that is actually beneficial, then you should look into the dark trinity traits, but then you are diving into a whole different set of pitfalls and problems.
     
    Tip #3 - Do your homework
    Just as the person you interview will do their homework to look up your company and it's values, you should also do your homework. I don't mean that standard homework to make sure the person you employ is not a hateful bigot or a criminal, you should also try to find out as much as you can about the person.
    Introverts and extroverts are quite different in terms of what they need and how the information you present should be done. Introverts often prefer more structure and information as bullet points with clear decisions and distinctions. Extroverts often like conversation and more visual information and so on.
    Some people are social hotspots and can chat up rocks, while others are less comfortable and prefer others to lead the conversation. Knowing what type you are meeting allow you to design the meetings accordingly.
    Knowing things like hobbies, passions and peeves can help you connect far easier, even with more closed people. It also offers a way to make the person you are interviewing to feel more familiar and comfortable.
    If you have someone close to you that know the person you are about to interview, talk to them and ask them about the person beforehand. This will help you tremendously in your interview.
     
    Tip #4 - Represent your culture
    I have seen this a few times when the person doing the interview is not a good representative of the company culture. It can be that you have a company that is all about the people in the company and making a difference in the world that has a recruiter that look and behave like a sneaky car salesman. Or it can be a sales oriented company that is all about winning and celebrating victories where the recruiter is all about caring and making the world a better place.
    The problem you face if your style does not match the company culture will most likely happen later in the process where the potential employee will meet other people in the organization. Or it will happen after employment which often lead to that person leaving very soon, or become a source of negativity in the work place.
    So make sure you adjust your interview technique and your look to fit the culture and values of the company you represent. As you are often the first point of contact, your impression will be crucial in landing the right kind of employees that will fit into the company's values and culture.
     
    Tip #5 - Don't brag about hiring people to fill a quota
    It's not that common for people like me that are white males, but I have seen it and heard about this way too many times. No one want to be told that the reason you are called to an interview is because of your age, gender, race or your sexuality. Also, no one like to hear that they did not get a job because another applicant was of the preferred "type" and you were not.
    I know that it is generally a good idea to make sure you have many types of people in a  company and I love working with people from all walks of life, but never, ever, discuss this during interviews! It is offensive and in many countries even illegal to discriminate in such way.
    If you have two applicants that are equal in qualifications and you like both, then it is up to you which one you want to hire and adding more diversity is almost always a good idea. If however one applicant have better qualifications and you still hire someone else based on other things than their qualifications, then you are digging your own grave.
    Not only are you discriminating people, but you are also making the life of the person you hire difficult as other employees will notice that that person is less qualified than her role demands. This leads to friction and envy from other employees and the person you hired will suffer more from that feeling of being a fraud and not good enough.
    Be fair and hire the best applicant, regardless of other qualifications not related to work. There are plenty of amazing people of all "types" out there, if that is your goal.
     
    Don't be a bigot.
    This is not a tip, it's common sense. Or at least it should be. I know a lot of people that feel that they must change their name to get work due to bigotry. So if you discard applicants based on name or how they appear in a photo, then you are an idiot. And a bigot.
    Not only will you must definitely miss out on some amazing employees, you also put constraints on your business because you will miss so many amazing points of views and experiences.
    I have worked with people from all over the world and it has been the best experience you can imagine. I have worked with Jews, Muslims, Christians, Buddhists  and other religions. I have worked with people from all political affiliations as well as people from the whole rainbow of sexuality (almost). I have worked with disabled people that have taught me more about my work than I could ever have imagined.
    I have worked with people from simple and poor backgrounds and people from rich backgrounds. I have worked with people that could not read a book if their life depended on it, but they can build anything with their hands. I have worked with people that could not handle a tool if their life depended on it, but who could solve any problem with their mind.
    Some of the most amazing people I have worked with have been from other countries such as Lebanon, Morocco, Vietnam, Syria, Germany, Croatia and India to mention a few. I have learned so much from these people that goes beyond work and as someone as work in a male dominated field I constantly have my mind blown by amazing women that can see things differently than I can.
    I can tell you from experience that being afraid to the point where you get prejudiced is normal. We all fear what we don't know or understand. The best way to break that is to take a leap of faith and get to know the things you fear and more often than not you will find that the prejudice you have are wrong.
    So don't be a bigot.
    Be Awesome.

    The bad boss - what is a bad boss and what can you do about it?

    Employees don’t leave organizations, They leave bad bosses. We have all heard it and we all probably have a bad boss experience or two in our career. But what is a bad boss really? Are they just terrible monsters that tear organizations apart, or are they just people like you and me?
    Just as people are different, so are our perception of what a bad boss is. What I consider to be a bad boss, may not be a bad boss to you. It all depend on who we are as individuals and what we currently need. Regardless of who we are though there are three mental types that everyone dislikes and those are psychopaths, narcissists and machiavellians. This is how Birgit Schyn, Barbara Wisse and Stacey Sanders describe these types in their article Shady Strategic Behavior: Recognizing Strategic Followership of Dark Triad Followers:
    “Narcissists have a strong sense of entitlement and a constant need for attention and admiration. They are arrogant and consider themselves to be superior to others. “Machiavellians are sly, deceptive, distrusting, and manipulative. They are characterized by cynical and misanthropic beliefs, callousness, a striving for … money, power, and status, and the use of cunning influence tactics. In contrast to narcissists, Machiavellians do not necessarily have to be the center of attention and are satisfied with the role of puppeteer, unobtrusively pulling the strings.
    Psychopaths “are unlikely to consider the needs and wishes of others and are unafraid of crossing moral boundaries. … By creating chaos in the organization, as well as in coworkers’ personal lives, they can pursue personal agendas without detection. They do not only enjoy hurting people, they strategically use humiliation and bullying to direct other people’s attention away from their hidden selfish activities. … psychopaths are often viewed as the most malevolent ones of the Dark Triad.”
    We call these collectively Dark Triad personalities and when you encounter them there is very little you can do but to leave the organization. These are not bad bosses, they are bad people with mental issues that can hurt you, so stay away from them whenever possible.
    These are not the bad bosses we are looking for however, because there is another group, that is far more difficult to handle than the Dark Triad bosses. I am of course talking about the Sudden Asshole Bosses and the Micro Management Boss. These are people that actually are very good people, but they suffer from insecurities and inexperience as leaders.
    These are usually people that others like because they are caring, well-spoken and often action driven people that listens and take care of problems in a way that make everyone happy. Then when they get appointed to a leadership perspective they change overnight to become a controlling asshole of a boss.
    Why do good people become bad bosses?
    My personal experiences and observations is that this happens to new and inexperienced people due to a shift in the direction of care. By that I mean that as an employee my direction of care is usually towards my co-workers. That would be the other employees. As a person moves up and become a manager you have new responsibilities to people above you in the hierarchy. That means that you naturally shift your direction of care upwards.
    This is nothing bad, but if you add stress and the feeling of not being a hundred percent sure of what you are supposed to do as a manager, then the need for control start to take over. As we know stress does not help with maintaining a kind a generous disposition, so that does not really help the situation either.
    We also tend to adopt behavior from those that we work with. If a new manager are unfortunate to have others around them that belong to the Dark Triad, or that have fallen into the trap of micromanagement, then it becomes natural to be drawn into that. This is not because they want to be bad bosses, but because they need something to cling to as managers very rarely get any leadership training before they are tossed into the new roles as managers.
    People that feel insecure, or that are in a position where they feel they have to live up to certain expectations due to their gender, religion, sexuality or race, they are more prone to this in my experience. Not because they are any worse or better than others, but because they fear failure or letting down others more. Fear is a great motivator, unfortunately it often motivates good people to become bad bosses...
    How do we get bad bosses to become good bosses?
    Most Sudden Assholes and Micro Managers tend to get over the initial shock of becoming a manager. With time, they will again shift their direction of care to the people they are in charge of. They will learn how to navigate the minefield of leadership and distance themselves from behavior that is detrimental to the people under their care. They will also realize that micromanagement is not a healthy or sustainable way of working and as they feel more secure in their roles as leaders that need will dissipate.
    As people feel more secure they will also realize that the very reason they were chosen for leadership in the first place was because they are awesome. More often than not it is also because they add something to the company that is missing. For this reason it does not make sense to conform to what already exist. Many leaders blossom greatly when they realize this and a lot of people transcend from bad bosses to amazing bosses.
    For some however the bad boss attitudes get stuck. These are people that need help to break free from the bad boss loop. In my experience there are three things that seem to work well on most people:
    Time - One of the bane of new managers is stress. Helping your manager to reduce stress is a great way to help them get over the hurdles of transition from bad boss to great boss. Be proactive in providing information and take care of problems and you will quickly see a transition in attitude.
      Proximity - Being away from the people you are supposed to lead make bad bosses feel more connected to other bad bosses instead of the people you are responsible for. Break this by asking the bad boss to spend more time with the team. Don't let them hide in a closed room, bring them out in the open and in close proximity of the team. The bonds will naturally reforge with the team and the bad influence from other bad bosses will be reduced.
      Respect - Even if you are getting treated like crap and you are frustrated, show respect to your boss. Remember that they are probably struggling badly with things you have no idea of and with a show of respect you can ease that stress. Also remember that they are human and that the goal is to help them over the speed bumps of being a bad boss so they can become great bosses. Showing respect reduce their insecurities and remind them how awesome you are as well. I am not saying this is easy or even feasible in some cases, but just remember that bosses are people just like you and me and they have things going on in their lives you probably have no idea of.
    I know of one middle manager that was pretty much ambushed by several teams that gave him hell for almost 30 minutes before he broke down crying and told them that he had cancer and did not know how to deal with that.
    A woman I read about a while back was struggling because she was gay and was afraid that people would find out and she would be fired, only to find that everyone already suspected it and loved her regardless.
    Some are struggling with addiction, others with family issues such as divorces or deaths in the family. Some are struggling with bigotry from higher up in the company, some have asshole bosses of their own to deal with. Others may have illnesses or suffer from anxiety. There are a million reasons why someone may behave poorly in certain times of their lives.
    Just be open to the possibility that bad bosses may just be amazing bosses trapped inside their insecurities, bad company and a stressed out mind.
    You may hold the key they need to break free.
×
×
  • Create New...