Sunday, October 20, 2019

Problems at scale




When you're working inside a single team, alignment isn't hard. You just know what others are doing and when you don't you just ask. It's not too hard.

When there are multiple teams, it becomes a bit trickier. Each team has their own direction. However, try to add partners and suppliers. Each with different motivations and incentives.


Think about it this way: 2 teams want to integrate. Half way through you find out that one team is building a bridge and the other is building a tunnel. WTF is a common reaction. The overall conclusion is that someone needs to take charge.

Then we come to the following common misconception:

Complete alignment - teams do whatever the leader says.
Complete autonomy - teams do whatever.

Alignment enables autonomy.

Image result for tightly aligned loosely coupled

There are multiple ingredients required to reach alignment at scale.

  1. Shared purpose
One wild question pops up: What are you working on and why?
Possible answers:
  • We're working on X because Sam said it's important.
  • We're done when Sam is OK with it.
or
  • We're working on X because we feel like it.
  • We're done when we don't feel like it anymore
First answers come from alignment and second from autonomy.

Alignments happen at different levels:
  1. x people are working on the same feature
  2. y teams are working on the same product
  3. z clusters work for the same company
To use the first ingredient correctly, all team members need to be part of the same chain of purpose:
  1. we're gathering wood
  2. we're creating a foundation
  • so that we can build a bridge
  • so that people can cross the river
  • so that we can connect the two villages
  • so that we can make life easier for everyone
  1. Transparency
One of the most important questions when aiming for transparency: Who needs what from whom and when?

You guessed it. It's about dependencies.

When you have a complete map of dependencies, you can detect early if you have dependency problems. If you have a centralized tool, you enabled decentralized behavior.

A high level alignment meeting is to talk about these dependencies: scrum of scrums.
  1. Tight feedback loops
Some say agile is like a homing missile.

Image result for homing missile



Single teams have short feedback loops:
  • unit tests
  • sprint reviews
  • daily standups
  • retrospectives
  • continuous integration and delivery
Multi team feedback loops are more elaborate:
  • cross team syncs
  • common retrospectives
  • whole product review
  • component integration on a scheduled basis
  • monthly or quarterly alignment events
    • demos - what have we accomplished from last time?
    • team boards
      • deliverables per sprint
      • risks
      • impact based objectives
The pattern remains the same. Plan monthly or quarterly together and release on demand.
  1. Clear priorities
It's clear that everyone has a lot to do, but not all of these todos have the same priority. It would help to split into impact levels. And then ask: If we could do just one of these 2 things, which one do we do and why?

Higher level priorities should inform lower level priorities. Stakeholder input makes it easier to decide what to work on. Teams are still responsible for figuring how to make the best use of their time.

If priorities are not clear, they end up being reviewed by executives and solved quickly. Remember, management is there to help.
  1. Organized learning
When teams learn together, everything can improve:
  • velocity
  • motivation
  • focus
  • quality
  • release capability
How does learning spread across teams? Through common lunches, cross team retrospectives and team member changes. Teams cannot be too busy for improvement.

If unstable teams mean chaos, too stable teams mean high efficiency, silos and slow organizational learning. Try a solution with a slow drop in efficiency but incorporate organizational learning.

Short recap: Alignment means teams have a shared purpose, are transparent, have short feedback loops, clear priorities and learn together.

Now, who puts the ingredients in? Leaders!



Sometimes we like to pretend we don't have leaders, that leaders are evil and self organization is best.

But, who enabled this self organization?




Call it what you want, but it's a leader's job:
  • to create a shared sense of accountability
  • create conditions that enable teams to align
  • ensure that decisions can be made
Leaders don't have to be a single person. They can be part of a core team.

This is a short introduction to agile at scale. Who enables it, how it works and what ingredients it needs not to fail.





Friday, October 18, 2019

Executives - why do they always ask the hard questions?

You know executives are in a room when most of the people shut up. For an outside observer they seem to bring no value in the meeting.

Image result for executives cartoon

This is the perfect picture of a meeting where executives are in the room.

People are afraid. Why are people afraid of management? Management is there to help. Always. Remember "with great power comes great responsibility"? They are Spiderman.

Some have earned their title, some have been bitten by a spider, but most of them are there to help.

Executives don't care about you, as an individual. They don't know you. They only care about results.
If you're ever in a room with executives keep 2 things in mind:
  1. you know more than them about the topic
  2. they are there to help, but you need to show them the problem
Of course executives are not superhuman. Of course you absolutely know more about your projects problems and complexities. But when you need to report to an executive, you have to understand that they need simple things like:
  1. where are we now?
  2. what is the clear message that you want them to know?
  3. what are the problems?
  4. what are the solutions to the problems?
As a reporter, you need to paint a clear picture of the current state of affairs.
Let me say that again: 
  • paint a clear picture
  • to someone who does not have your context
  • wants to help
That translates in:
  • cut the bullshit and fancy words
  • don't waste time on slides
  • if you do slides, have a clear message that you want to send, on each slide
Be aware that if your message is not clear enough (this is executive fuel) the hard questions will start. Why? Because the executive's actually trying to understand your message. If you don't do a good job there, it's entirely on you. 

I think that most people go into executive meetings thinking that they actually know more than the people reporting. They don't. They cannot. They will not. This is your job. But it's also your job to be transparent and clear in messaging. 

I actually learned this the hard way. One executive asked me only once: What is the message i should get from this slide? Then it hit me. Everything made sense. The hard questions turn into the simple questions.

Executive questions are simple: your message needs to make sense to them. But there's one caveat: small steps. Small understandings. They don't want the story from A-Z. They want you to paint them a picture from A-B then from B-C and so on.

If you encounter a hard question from an executive, they're not being evil. they just don't understand. Make it easy for them to understand your message.

I think the redundancy above made it clear for you.

Whenever an executive asks questions it's because it does not make sense to them. Your message had missing pieces. If you somehow get here, be prepared to give short and simple answers. Don't be elaborate. You hate that, they also hate that. Also, it's ok to say you don't know, but make sure to add that you're getting back with an answer or ask somebody in the room if they are more knowledgable on the topic. Give short answers only if you know the answer.

Another thing that you might encounter is finding a problem without an owner, with an executive in the room. That's ok. Be sure to always take the task and promise with a date and your name to get it done. Never stay silent like you saw a ghost. Problems are everywhere, it's also shameful when an executive finds it before you. That's ok, take that action item and move forward. Next time, be sure to have less loose ends, but don't sacrifice transparency. They can only fix and prioritize what they know. 

That's not executives help and fix problems. They use their leverage to set certain priorities to correct course.

If the problem is known and the meeting is to raise it, also make sure the solution makes sense. A-B not A-Z. If the solution is not complete, raise that. Raise the impediments and set the stage for discussion of a specific problem in your solution until everyone has the same understanding. Then ask for help.

Always put a focus on the problem and don't fall in love with your solution. Problem understanding is critical when you need management help.

Executives are normal people who have leverage to steer and solve problems. Go to them. Raise your problems, own your problems and execute solutions like a motherfucker.

Wednesday, October 16, 2019

How important is alignment between people and teams?

What is alignment?

This is a simple question with a simple answer. Alignment between people and teams means having the same understanding of the current state of the affairs, strategy and goals, at the same time.

It's not hard. Think about it like this. You schedule a dinner with your friend. The moment you find out you cannot join, you send a message to reschedule. That's it. Both parties have the same information at the same time.

What does this imply?
  1. As soon as information changes, it has to be broadcast to all the affected parties.
  2. Information change means change of plans for both parties. 
  3. Common planning has to happen again.
Simple, right? 

What if the information change fails to reach all parties as soon as possible? Waste happens. The later the information arrives to the affected parties, the more waste gets created. Besides waste, there can also be actions taken that are not easily reversible. Think about if your friend is driving to the restaurant already because you failed to inform him about the change you know about 2 hours ago. You can add frustration to the effects. The last effect is the impossibility to create new plans for your friend on that night. Last but not least, you might be perceived as not transparent.

So, if we fail to broadcast information as soon as we know about it this is the effect we're accountable for:
  1. waste
  2. non-reversible actions
  3. frustration
  4. lack of transparency
I'm no saying this won't happen if you broadcast the new information immediately. You also might get new information too late. But if you continue with the late delivery of information, you're becoming part of the problem.

There is one caveat to information broadcasting. The dinner example may not be the best. When sharing new information you, as the informer, have to make sure the other party truly understands the new information. Is it crucial to do so because if you fail in making yourself understood, different information ends up being broadcast to others(this is something you cannot control). You can only control your part. So, make sure there is no misunderstanding. Avoid a snowball of misinformation. If the case is more complex, offer your support to clarify it to others. 

I chose this topic because it's something i'm facing every day. The root cause of this might be culture. Working with non-autonomous teams is another root cause. If i dig into this topic more i find something else. Experts make confident decisions. Experts are informed. They have experiences change and they know that working in technology means a lot of change. Inexperienced individuals expect clarity in tasks. Experts expect clarity in goals.

Image result for management agile levels autonomous teams

Show them the goal and get out of the way. If you're google, let them pick the goal for themselves.