Should you standardise tools in your company? Case of Miro vs. MS Whiteboard
engineering.telia.no
engineering.telia.no
I have about 20 years of experience dealing with this ranging from mostly harmonious all the way to civil war.
100 employees and 130 different SaaS tools. Got buy in from senior management to reduce footprint to lower cost and increase security and compliance only to get pushback from every middle manager that would bring up these same reasons why THEIR team is special.
Ok Mr/Mrs Team lead… be careful what you wish for because TCO and full RP status is now on your head. And I know you don’t have the experience to assess the costs, risks and admin workload but you’ve managed to convince the CEO. Not my problem anymore. I’ll let the auditors know where to find you when it comes time.
At least I was smart enough to know to keep Miro, though. They’re reasonably good at managing data over the course of staff churn and the flexible licensing is nice.
Try convincing everyone that grammarly is a keystroke logger.
Funny how it's not the opposite viewpoint that is scrutinized. Prove how it's not a keystroke logger, then Grammarly can be deployed. Until then, it's assumed to be malicious. That's how people treat for example ChatGPT as well.
And it isn't very risk-based. In most cases, the keylogger can be assumed to be entering via the OS, probably based on some NSA/GRU/Chinese MSS exploit being used for industrial espionage. Grammarly is a bit more niche.
It is a threat. One day it will be an acute one, perhaps. But the risks and opportunities favour recklessness.
On top of that, any medium or large business using Microsoft tools will have a contract signed with them, one that covers SLA and data handling policies. In fact, this is pretty much the entire value proposition of Azure deployments of OpenAI models - from a corporate POV, OpenAI itself is a fly-by-night startup that can disappear any day, while leaking the company secrets your employees gave it all across the Internet. In contrast, Microsoft's ChatGPT (the very same models) comes with an SLA and data handling policies suitable for dealing with corporate secrets (with whole stack of audits and certifications behind them). That's why corporate will tell you to not use ChatGPT, but if you're lucky, they'll give you access to a copy of it on Azure.
The biggest line of battle is going to be Google Workspace vs Office 365. I'm fine with them both, but not fine with giving them both to everyone. The problem is, if the majority of your company's documents and drive data is fractured over both MS and Google's clouds, it's going to be a nightmare to manage. Choose one and make them your identity provider and life partner. I understand the finance team probably needs a stand-alone Excel license, though.
The other very important part of standardization is hardware. This is something I had to get a bit ruthless about, because managing a fleet over an entirely remote trans-border workforce is expensive if you expect quick turnaround times on onboarding and an immediate replacement for that VIP who just cracked their screen.
I ended up setting up a rapid logistics operation using drop shipping.
Sales, marketing, etc get a 13" Macbook Air M1. Developers get a 16" M1 Pro because they justifiably need the performance.
No, we don't do custom orders. Not big enough to have spares of all kinds in stock (Apple supply chain lag was a real drag last year). Apple's MDM systems make those machines useless bricks to anyone outside the client's company. (If this sounds like something you need, reach out to me!)
I guess I'll just add that my biggest pet peeve with SaaS vendors is how they want you to pay for the super-duper-expensive package just to get SSO / SAML. That's ridiculous. It's not a cost center for you and it reduces both our risk. If I don't see at least "Sign in with Google" in your cheapest plan, I'm already pissed off as a customer and not going to be your change agent.
A - F*in - Men.
We recently dropped Miro for LucidSpark as we already had LucidChart. It’s so much worse, I hate using it. But on paper it does the same stuff, just implemented poorly. Example being, no anti aliasing on drawn lines. Wtf?!
Experience is king. Getting people to understand that when the mandate is save as much money as possible is the challenge.
(It petered out when my priorities shifted, though, so I guess that tells you how much bandwidth people actually have for caring about their instant messaging. (There had already been a successful underground movement to use something other than Teams for video conferencing.))
Sure, there is other stuff that might be junk like files, tasks and apps but I just don't use that.
That is the old adage about keeping the main thing the main thing. It depresses me how many major apps doesn't even do the basics well, either performance is terrible or the UX is over-complicated.
Teams definitely falls in this category. It is dog-slow, but even worse for a chat application it randomly just drops messages(!) quietly(!!) which makes for very confusing discussion threads when different people have different sets of messages. That is arguably the very most basic feature that one can expect from chat, and Teams fumbles even it.
I've also been using MS Loop a lot and it's pretty great actually. It's clearly still under development and missing a lot of features but leaving that aside, I don't think it's fair to dismiss it as a Notion clone. It's far simpler than Notion and for writing things like company handbooks that's a good thing, actually. Sometimes simpler is better. If you need all the tables as database stuff, then use Notion. If you need a simple and clean documentation source, well I've tried a lot of these kinds of apps over the years and Loop is shaping up to be one of the better ones IMO.
I say this grudgingly, BTW. I strongly resisted choosing MS for our business. But as a small company in Vietnam we get an amazing value proposition from MS 365 that isn't even close to matched by anything else. We pay about $3.50 per user and we get Teams, video conferencing, office apps, Loop, Visio, Whiteboard, SharePoint (ok that one is genuinely quite bad), and also a load of business automation stuff in the form of Workflows that I'm still exploring. Oh and Shift scheduling. OneNote. About a hundred other things that I forget right now.
Even still I resisted but the final straw was that automatic translation is included in Teams for free. As a bilingual team that's vital for us.
By contrast, just Notion would be $8 per user. I think Slack is $6 per user. Not a lot for a western tech company, but we genuinely can't afford that. MS 365 wins by being "just good enough" at _loads_ of things, and way cheaper than the competition.
Loop - Super beta product with very few features compared to Notion. In particular, I've enabled it in our tenant and it has a showstopping bug for many users in which none of their work is saved. This bug exists from day 1 and still not fixed.
> MS 365 wins by being "just good enough" at _loads_ of things, and way cheaper than the competition.
Agreed!
Two problems with information are duplication (too many copies around, all of them slightly different) and finding where it is. MS Teams makes it easy to store duplicate data and hard to find it later: did you upload the data as a file in the "development" channel, or as a link in the "updates" wiki? Nobody knows, not even the search function. And with each new project manager creating five channels per project, two of which will actually see any activity...
I think MS Teams wants to be everything for everyone and succeeds at neither.
Teams wants to be Slack killer and making sure people stay in MS ecosystem, and it is succeeding in it. You can call the concept flawed, but it is a response to strong demand in the market.
I don't doubt that the plan is to keep people in the MS ecosystem and I don't dispute that it's working. But let's not claim that Teams' popularity has anything to do with its technology when it's clear that MS used it's dominant position to push it down everyone's throat.
One particular bad aspect is people started recording meetings. No one has any idea where these things get put. There are links that are shared but where are the actual files.
I use a OneNote to keep track of links. It's craziness.
Miro has its own management issues as well once you start getting projects and things in the mix.
It's like every new app now is designed to work with maybe a handful of objects but beyond that it's a huge mess.
Isn't this what SharePoint is for? As in, Teams integrates with it, so all the recordings, and planning boards, and file uploads, and yes - chats too, end up being stored there - where it is indexed and searchable (subject to your IT dept. competence and company access policies).
I have a feeling that most of the complaints about Teams come from people using it standalone, vs. a small part of a whole suite of tools Microsoft sells to businesses. This of course doesn't excuse Teams being shitty in those cases - but perhaps explains why I, and some others, tend to have almost no negative experience with Teams.
No, it entirely deserves it.
The underlying philosophy with Teams is top-down control: the assumption is that the organisation structure can adequately predict what communication patterns between its members should be allowed.
The underlying assumption with Slack is that the organisation members should be able to set up productive communication patterns without needing top-down control, and that having to impose that control is a bug.
The Slack approach requires discovery and working in the open, to a certain degree, so that what the research calls "weak links" can form between individuals in disconnected parts of the organisation. Teams (at least, wherever I've seen it) is actively hostile to this: you have to invite, to be invited, to already know who to speak to. Slack - when done right - radically changes how the organisation integrates with itself.
I have, of course, seen it done very wrong: if you come from a Teams world you'll likely want to lock Slack down so that it can't provide its main benefits; the instance I'm on right now blocks public channel creation, which is bonkers if you understand the problem area.
If your org is small enough and has enough of a mixing function outside the digital tooling that it doesn't need a helping hand, then there's not much in it, but past a certain size and it's not even close.
If I was working with a team of tech savvy developers, I'd completely agree with you, and we'd probably be using Slack, or maybe Zulip. I'm not - I work at a bakery and I'm the only technical person at our company. Most people don't even own a laptop. Every day is a surprise to me as I get a tech support call about something so basic like not checking if something is plugged in. If you've ever watched The IT Crowd, and thought the tech support calls were satire - they are not.
Everything has to be locked down and simplified to the extreme, otherwise I will be called to fix or explain it over and over again. The thought of allowing everyone to create a channel whenever they want is giving me nightmares, honestly. It's already a daily frustration to get idea of channels across at all. Actually scratch that, even getting people to stop using Zalo (local version of Whatsapp) was a struggle and I'm pretty sure it's still happening behind our backs.
Thinking about allowing everyone to create channels ad-hoc. It wouldn't work, it would turn our communications into a mess. We have total of about six channels and already get complaints that it's too confusing.
A lot of its design decisions make sense in this context: for example, the reason "you have to invite, to be invited, to already know who to speak to" in Teams is that because you can't exactly fit 10 000 employees and an unbounded number of contractors and external parties in a vertical list, and tell the users to scroll through it. At this size, you need some discovery / matching process to even figure out who to write.
This also drives many of the "barriers" in Teams - you can't expose everyone to everyone else by default, because the CPU (and the notification counter) would have trouble keeping up. Instead, with everything being need-to-know by default, a new employee is going to start in a small, cozy team space, and gradually expand their list of contacts and team memberships. However, they're not actually isolated - the megacorp is still there, thousands of teams, tens of thousands of people, all accessible through that unassuming search bar at the top.
And there's the problem. Slack also has that search bar, but it also has public activity so you have a chance of knowing what to search for. The discovery process is the public conversations.
> This also drives many of the "barriers" in Teams - you can't expose everyone to everyone else by default, because the CPU (and the notification counter) would have trouble keeping up.
This is just not a problem. If you've got notifications on by default for busy public channels, you're going to have a bad time.
I think this is what some people just don't understand, especially executives or managers who are too far removed from individual contributors' day-to-day activities.
The wrong choice of IT tools can suck the life out of your organization.
Sure, on paper two tools can seem equivalent, but in reality, they are not the same.
Maybe the difference is that my employer fully embraced the Microsoft stack, with Office, Outlook/Exchange, SharePoint, and Teams forming a coherent and well-integrated whole.
But sometimes, there's better tools out there than $EDITOR, especially when working in large codebases.
Like a recent PR where 4 out of 5 usages of a renamed variable also got renamed, but the last one didn't, and was in an area not covered by tests and it made it to main. (And yep, how it made it past review is a question I'll be asking...)
The dev had switched from VS Code to Neovim recently and I'm reasonably certain that's related.
I'm very comfortable riding motorcycles, but for taking my kids to school, I tend to use a car.
Horses for courses.
Given that refactoring support in VSCode is not exactly great, either, and that even Jetbrains products have countless bugs in their "Rename" feature, I'd rather ask: How did the change make it past your merge request pipelines?
Also, Django magic makes it very hard for tooling to actually know if something exists or not.
I can't even imagine a worse replacement than that shudders. How typical that great bespoke tools are rejected in favor of whatever poor features/products available through existing product licenses.
Keep things simple? Yeah, meet your new standard 6 key board, who needs the other 20 letters anyway: https://m.media-amazon.com/images/I/61C8GdWvptL._AC_SL1500_....
Compare this blog post where the author threatens to quit to the previous ones, which express happiness with Telia, and an eagerness to ape Bay Area DevRel trends.
https://engineering.telia.no/blog/dev-happiness-fika
https://engineering.telia.no/blog/my-first-months-in-telia
Their internal company culture does not seem to be in a good place.
The point of this post, is to discuss how decisions like these are being made, and what I think should be a part of that process, using the example of our current Miro discussion as framing.
The point of the ending paragraph is not to threaten to quit, but that some people quitting is one outcome that is probable when the company decides to cut out a tool that many people use and like.
Personally I feel that the ability to be open about disagreements is a good sign for our culture.
I work in a larger company where only 20% is development. We are thrown in with the 'rest' of the people, and as such have insane restriction on tools, both online and on our computers.
The problem is that our voice is not large enough to get to the CTO.
Either way, I don't see why the people doing the work should not be allowed to (collectively) choose their tools. That way you get both collaboration (because they picked one thing together) and the most appropriate tool for the work to be done.
Because in a big company you’ll find some things are documented in a combination of jira and confluence while another are in big figma boards and nobody knows where to look (my gf’s company has exactly this problem).
Also in a big company you want to have two teams collaborate but one uses one tool set and the other a different stack and there aren’t enough licenses for both.
And so on. It’s like having each team use its own code formatting rules or coding standard.
(You probably wouldn't choose either for that from the beginning, but you start using Jira for issue tracking/feature planning, of Figma for feature design, and end up with them holding a lasting record of how the feature is intended to be.)
--
For the second problem, I guess I don't have much to say because I haven't tried running a large company. I just have never heard any good reason to be stingy with licences. On the other hand, the time I have wasted and the extra work I have done to get around problems caused by upper managment being stingy with licences has cost a lot more than the licence would.
I guess this will immediately make people discard my opinion, but I don't actually feel very strongly about each team having its own formatting rules or coding standard. It's not hard to adapt to the local conventions and the consequences of formatting rules are incredibly local.
That is a position that has been lost ages ago; the desktop model has given way to the app model. Instead of having files and then programs that work with those, we these days have data enclosed inside apps.
Imagine adding a new app. Can you just delete the existing? Not necessarily, maybe some people need to use that so now you are supporting 2 apps. Maybe there is a lot of legal work to check the status of a new app. Maybe the new tool seems great but maybe once you have committed to it and taken a large amount of time and money migrating, maybe it doesn't scale well. Maybe a certain feature doesn't work like it needs to.
The problem with the idea of the collective is that not all people have skin in the game. It costs nothing for someone to say they prefer something to something else but how do you make sure that the people who use it the most have more say in the choice?
The truth is, the status quo is always easier than something new.
It's super standardised, though.
As far I know Jira and GitLab issues initially can look kinda similar (depending on how Jira is used) but are very different in what works well with them so Jira to GitLab transition seems rather risky.
And while I haven't used GitLab issues a lot, GitHub issues are kinda terrible and Jira isn't better either (but bad in different ways; with github actions you can try to "fix" GitHub but in practice this doesn't work that well my experience and can't fix the most important issues)
Someone invariably says 'with the REST API you can do ...' which now means we have hundreds of teams reimplementing the out-of-the-box Jira features in mutually incompatible ways for their own consumption. All of that dev time is gone. I honestly hope the shareholders don't find out.
And isn't my flashlight app for iPhone worth more than a Starbucks latte a month?
SaaS companies want you to think in terms of marginal cost - hoping you'll forget that all those subscriptions add up, and hoping you don't realize that this "10 bucks a month" establishes a relationship with the SaaS vendor that you don't really want to have. And especially in B2B, that relationship isn't going to have your team/company's best interest in mind.
Every now and then HN has a submission or discussion with advice for startups on how to sell to enterprise customers. Reading those, you may discover that this "only 10 bucks a month" subscription aimed at individual employees is a wedge - it's designed to establish a beachhead within the corporation, starting with a single person or a single team, and expanding until the point the vendor can send in their sales team and secure a fat deal, pointing out that their product is already widely used, and probably too hard to extricate at this point.