Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blog post: Preparing the Terrain #2414

Merged
merged 40 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b4e512d
Outline for approval
oliverbarnes May 16, 2024
3111bcb
Tack .md at the end
oliverbarnes May 16, 2024
a50f43d
Profile
oliverbarnes May 16, 2024
cd25972
First draft
oliverbarnes May 23, 2024
120b84f
Alignment on scope
oliverbarnes May 24, 2024
b784ebe
Tweak alignment on scope
oliverbarnes May 24, 2024
ae10b68
Start fleshing out "During the engagement"
oliverbarnes May 24, 2024
09478ca
Polish
oliverbarnes May 24, 2024
183a062
Keep it positive
oliverbarnes May 26, 2024
73edd53
Quote Kevin
oliverbarnes Jun 5, 2024
5eeab3d
Polish
oliverbarnes Jun 5, 2024
145303d
Less is more
oliverbarnes Jun 10, 2024
0ca102c
Make it more about us, and polish
oliverbarnes Jun 11, 2024
23b4d11
Outsiders can be good
oliverbarnes Jun 11, 2024
0834ad9
Make happy path section high level
oliverbarnes Jun 11, 2024
81e6204
Change title
oliverbarnes Jun 11, 2024
186b863
Add Kevin's role
oliverbarnes Jun 11, 2024
19ddeec
Rejig Kevin's blurb
oliverbarnes Jun 11, 2024
a7a5ca5
Edit Kevin's link
oliverbarnes Jun 11, 2024
c7fb6fc
Add wikipedia link to Disagree and Commit
oliverbarnes Jun 17, 2024
b3e1d54
Reword intro
oliverbarnes Jun 17, 2024
44b8a81
Be more specific in the title
oliverbarnes Jun 17, 2024
5cfc37a
Add og, run lint fix
emmasofiah2o Jun 20, 2024
9a0adbd
Update og-image.jpg
emmasofiah2o Jun 20, 2024
19265b0
Fix typo
oliverbarnes Jun 20, 2024
bfe3e97
Implement Sarah's suggestions
oliverbarnes Jul 16, 2024
e80e203
Remove "continuous assessment", and polishes
oliverbarnes Jul 24, 2024
373e526
More polish
oliverbarnes Jul 24, 2024
101ba55
Remove line wrap (as per Chris' PR), and some small tweaks
oliverbarnes Jul 24, 2024
67d6ad5
Update link
oliverbarnes Jul 24, 2024
8ef670b
Add profile pic
oliverbarnes Jul 25, 2024
0fa142f
Clean up sentence
oliverbarnes Jul 25, 2024
f3db638
Use 'trust' instead of 'consensus'
oliverbarnes Jul 25, 2024
32abb19
trust, instead of consensus
oliverbarnes Jul 25, 2024
508f6fc
Remove unnecessary newline
oliverbarnes Jul 25, 2024
1c49522
Reword invitation paragraph
oliverbarnes Jul 25, 2024
7041d4f
Alignment instead of consensus
oliverbarnes Jul 25, 2024
69cb48e
Lint
oliverbarnes Jul 25, 2024
cbe3c5f
Rename file and directory for assets
oliverbarnes Jul 25, 2024
1bf9ec1
Remove header image?
oliverbarnes Jul 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/authors/oliverbarnes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: "Oliver Azevedo Barnes"
github: oliverbarnes
twitter: oliverbarnes
linkedin: oliverbarnes
bio: "Software Engineering Consultant"
---
114 changes: 114 additions & 0 deletions src/posts/2024-05-21-team-buy-in.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
title: "Preparing the Terrain for Successful Engagements"
authorHandle: oliverbarnes
twitter: oliverbarnes
tags: [startups, consulting]
bio: "Oliver Azevedo Barnes"
description:
"Oliver Barnes on the importance of getting the team onboard when bringing in
a consultancy"
og:
image: /assets/images/posts/2024-05-21-team-buy-in/og-image.jpg
tagline: |
<p>A consultancy engagement can be a very productive, gratifying collaborative process. That's _if_ the client's team is onboard with having it come in to help</p>

image: "/assets/images/posts/2024-05-21-team-buy-in/header-visual.jpeg"
imageAlt: "A rocket icon on a grey image background"
---

"Ugh, leadership is bringing in a bunch of consultants from Evil Co to audit the team and point out our inefficiencies… this can't be good, right?"

Consultants get a bad rep sometimes, and often for good reason, specially due to powerful top tier consultancies involved in everything from privatization of public companies to disaster relief. They're everywhere these days.

Software engineering consultancies like Mainmatter are nothing like that, but still "consultant" is a title with plenty of loaded meanings and associations.

oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved
Outsiders _can_ be helpful. External experience and a fresh view on things can be very useful.

oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved
But, as with any collaboration, it's important to respect context and history, and to get the client's team onboard.

## Making sure we're welcome guests

When starting with a new client, we're mindful that we're coming in during a time of difficult change - be it in technical terms (changing stacks or merging systems, for example) or organizational ones, say when a team is expanding and re-organizing.

And, as often happens, both at once.

We discuss that with the leadership team and with different stakeholders who might be involved in bringing us in to prepare the terrain for the engagement.
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved

## Happy path

When the client's team is bought-in, we get an environment of trust, a sweet spot where we complement the client's team seamlessly.

Context and knowledge are shared proactively, affording us smooth onboarding. Once we have some recommendations to give, these are discussed constructively. Decisions on what to implement are naturally done in consensus.

A virtuous cycle ensues, where implementing changes is progressively faster and more effective, and ideas flow freely back and forth. Together we shift into continous improvement mode. Everybody wins.

So. Just how do you get buy-in?
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved

## Get the team involved early on

The earlier the intention to bring us in is communicated, the better. Before even making a decision, hearing the team out and addressing any concerns is a very good idea - building consensus towards the engagement.
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved

Sometimes it's hard to get consensus, of course. But when dissenters have been heard in earnest, that goes a _long_ way towards getting people to [disagree and commit](https://en.wikipedia.org/wiki/Disagree_and_commit).
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved

## Who invites us

Some very successful engagements happened when we were invited by people from the tech or product teams, who are closer to where the action will happen. This can help a lot in getting buy-in.

When the invitation comes from the very top, it makes a huge difference when management goes the extra mile and talks to the teams that will directly be involved in and impacted by the engagement.
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved

## Framing the engagement

And _how_ the engagement itself is communicated is key.

### Assessments, not audits

Some of our engagements begin with [an assessment of a client's current state of tech and organization](https://mainmatter.com/services/strategic-advice/). This can be either a high-level x-ray, or a more specific analysis of a team or of a system component.

An assessment can be super helpful for a client to find blind-spots, to get an independent point of view in the context of conflicting internal assessments, and when planning for big changes.

This is most successful when a team is willing to show what's under the hood in the tech stack, and behind the scenes in terms of team interactions and processes.

If instead a team perceives the assessment as an _audit_, a quality control inspection where blame is distributed and people eventually get in trouble, transparency (and morale) will obviously suffer.

Some discontent might start brewing, understandably. In turn, potential future interactions and collaborative work might be seriously affected.

That's a very bad start.

Hence, Mainmatter doesn't do audits. We offer blameless assessments as a resource to help teams plan their future work, possibly leading us to a fruitful collaboration down the line.

From a client's team perspective, blameless assessments can help them advance internal improvements they might already have been pushing for: more budget or people, better tooling, leaner organization, more knowledge sharing, among many other possibilities.

### Collaboration, not intervention

In a similar fashion, when we augment a team (with engineers, architects, designers or managers, sometimes all of the above), we work hard to ensure this work is collaborative and not perceived as an intervention.

We're making suggestions, sharing knowledge and practices, pairing and planning together, constantly building consensus.

We're complementing the team until they no longer need us.

### Alignment on scope

An engagement can take many shapes and forms. It can have a tightly bounded scope, like updating the runtime and dependencies of a given codebase, or a much broader and open ended one, into architecture, engineering processes and practices.

Whatever the scope, the earliest it is clearly communicated, the better.

People can become territorial over their work. Nobody likes having someone unexpected looking over their shoulders, nor receiving unsolicited advice.

If there's a misunderstanding over the scope of our work, that's exactly how it'll feel to the client's team.

So being aligned on scope and objectives is fundamental.

## During the engagement

Client team buy-in involves accepting to at least hear recommendations from us, and for this to continue, our recommendations have to resonate and make sense, even if they the team doesn't totally agree with them.

Addressing pain points is a great way to ensure this relevance, and build trust. We're solving real problems, removing slogs. Improving productivity. Making work more pleasurable.

Often we'll find issues that weren't raised before. Or ones where a priority and solution weren't yet agreed upon. In these cases, we study and discuss until there's enough consensus.

And then we help them implement it. As part of the team.

[Reach out](/contact/) to talk about how we can help your team.

Find [further information](/startups/) on how we can help you to burst through
oliverbarnes marked this conversation as resolved.
Show resolved Hide resolved
the bottleneck.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading