Tag Archives: Communication

A fractal Cube

Our Team Doesn’t Need to Retro


Sometimes as a team becomes successful, and they have had very successful retrospectives, they stop getting value from those retrospectives. Something must change for the team, in its new state, to gain more value from this exercise. I suggest more retrospectives focused on smaller things.

Pain of Stopping Retrospectives

I have been part of a team that stopped seeing value from retrospectives. In fact, I have been part of many teams that found themselves in this situation for different reasons. In the past, those teams just stopped doing retrospectives until we realized things were very out of whack.

Then, as we scampered, and we flustered, and we struggled, we often found ourselves failing to pick up the pieces neatly. The few times we could recover was after months of struggling, the other times… Well I no longer work at those places.

Stopping retrospectives has consequences. Continuing retrospectives that are unfruitful also has consequences. A process that becomes tedious, and without any gratification, also becomes soul sucking.

This starts to feel like a “no win” scenario.

Increased Frequency, a Story

The team I am currently on hit this wall about two months ago. We did something very different. We increased our retrospective interval to once a day. The world seemed to change overnight. The trust and communication we had been building up to become successful and now started to pay off in large quantities. The daily retrospective allowed us to address issues and wins, as they were more fresh, meaning more of them were addressed and captured into our working agreements.

These new insights were on smaller things, but these smaller things made for bigger improvements. It was amazing, these retros were also shorter – about half the time. I felt energized and we are even more successful for it.

A couple of weeks ago, we tried another experiment, we turned up the frequency again. Now we hold a retrospective every time emotions run even slightly higher than normal. Some days we only have a single retrospective; other days we will have five. We always have our end of day retro (more on this in another post), however we let emotions and insights guide us now.

Advantages of On Demand Retros

These retrospectives are only about 10 minutes at the longest as they now focus on a single insight and outcome. By acting on focused events we have started to notice patterns that were subtle enough to be missed when we bundled everything into a single retrospective. We are becoming even more successful and our team is happy.

That is not to say it is easy. It takes work and trust to have retrospectives at this kind of interval. The payoffs are well worth it. The mini on the spot retros are some of the most effective I have ever had. We try all kinds of experiments now. Some last an hour, others a few weeks, but all are freer to try radically different approaches.


When your team is successful and safe, your old retrospectives may stagnate. They may have addressed all the larger and most visible issues, and you need a tool to help address the smaller, and larger impacting issues. We found that tool to be increased retrospective frequency.

Smaller, more frequent #retrospectives help when retros start seeming like they have no value. #Agile Click To Tweet

Myth of Management With No Hierarchy


Leaders exist; therefore, hierarchy exists. A flat organization is not truly flat, it is made of many leaders. Those leaders have the responsibility to train others to replace them. The company has the responsibility to help those leaders be successful and be diligent on keeping things safe.

A flat organization is not truly flat, it is made of many leaders. Click To Tweet

Leaders are Essential

‘The Harvard Business Review’ has the article: Hierarchy is Overrated. This article paints a very favorable view point of flat hierarchy, but does not address the need for leadership at all. People will become leaders. This is an essential and natural process.

However, much of what needs to be accomplished by leaders, functioning in a flat hierarchy, is not natural. One of the main responsibilities of these leaders, is to move to stop being a leader, the sooner the better.

The way a leader stops being a leader is to train and inspire. Say that someone feels passionate about team building. They take up the reins, figure out ways to start building team communication and unity. They start the ball rolling. Now they need to look for someone else who cares about team building. They will collaborate, train, and inspire them to both take over and train someone else.

Potential Problems

There are a host of potential problems. Everything from dissatisfied employees to locus of control. Most problems will stem from one of these three root causes:

  • Denying the existence of leaders
  • Team not trained in essential leadership skills
  • Organization not really being flat

Leaders Exist

Leadership needs to be recognized, and its existence acknowledged. This allows an organization to better define how leaders behave and what it means to be passionate about some aspect of the organization. Don’t deny them, embrace them, try to understand them.

Everyone Trained as a leader

Train everyone to be leader. This is a lot of work, but it pays off as people can step up and handle issues and opportunities that they feel passionate about. Leadership can be more easily distributed and handed off from one leader to another. Everyone is capable in guiding and supporting leaders as they venture into new ideas and interests.

Here are a few sources I recommend:

A Flat Organization

Having an organization that has a distributed hierarchy can be challenging. The leadership, the people with the titles, needs to support it. They must trust people to do the job, and enable everyone to be trained. The highest paid people in the room have the greatest potential to do harm with the simplest word.

So, there is a need to prevent their hidden biases from polluting down into an unintentional hierarchy with certain people being ‘more equal’ than others. This can be done by really paying attention to building a safe environment. By encouraging those beneath them, in title at least, to contradict them and actively stepping back, these biases become smaller.

Giving up Control

The goal of every leader, should be, to eventually not be the leader. Each person should be looking at passing the torch, and ensuring multiple people can replace them. If this is not done they become the bottle neck and get in the way of success. The idea is that everyone can take a vacation and nothing stops working.

Each leader finds someone else who is passionate about the task at hand. They share responsibility, and train as needed. Eventually they will stand back and give their protégé or partner a chance to run things.

In Conclusion

A truly flat hierarchy does not exist. This is a good thing. What real world flat hierarchies enable is everyone with the inclination can be a leader. There are difficulties which can be overcome with hard work and trust. It is rewarding to work in one of these organizations and they can be more effective if you acknowledge the existence of leadership, train for it, and upper management supports it.

The Power of a New Voice


Too often the person with the least experience is ignored. This is a shame because they are often the person who can lead us to the most significant insights. They will see things we overlook or have become accustomed to. They can help us question the things we have started to not question. They are a powerful voice for improvement.

A new perspective can help us question the things we have started to not question. Click To Tweet

Question Everything

Like @WoodyZuil says: “Any method or practice we use without question should be questioned.” https://twitter.com/WoodyZuill/status/881711076089384964

The problem is if we are practicing something without question, we can often be blind to the fact that we are practicing it without question. A new set of eyes can see these things, but we must encourage them to point them out. If not, we risk that they too will become accustomed before we have gained benefit from their newness.


The problem with capturing input from someone who is new, is that most people do not feel comfortable giving feedback while they are new. This means that we must be extra careful to foster that feedback. It is something that must be intentional.

The first step is listening. When a new person offers input, listen. Use both Active Listening and Comprehensive Listening. Do not interrupt, and take a moment before replying. This shows respect for what they have to say, and consideration of their point.

The next is to treat the comment and question as if it is valid, and wanted feedback. They may not understand all the context to the thing they are questioning. That is the point. Do not explain to them how they are wrong, instead explain to them how they are right. That does not mean that you do not explain your context, but instead use it understand what they offer.

What if they are wrong?

They will often be wrong. The suggestion, or question, will be wrongly worded. They will most likely not understand what it is that made them feel the way they felt. Don’t let the fact that what they say is wrong stop you from learning. Instead, examine the situation. There will be truth there, and that truth will lead to improvement.

At the worst case, if they are utterly wrong then you will have provided the opportunity to learn in a way that makes them feel appreciated. This learning will be retained longer. It will encourage them to voice more, and thereby learn more. Eventually they will teach you something, because they are willing to voice what they don’t understand.

The Warning of a Silent Voice

Pay attention to what is happening regarding the new voice. If that voice is silent, this is a waring. It means that there is something that is causing that person to fall silent. It means that the team is not welcoming that person’s insights, and not listening and accepting of what the new voice offers.

This is the loudest indicator you will often get to small problems on a team. These problems can- not always, but definitely often enough- grow into big noisy, and explosive problems if not handled at this point.

In Closing

It is hard to listen to the point of view of a new person. That person may not know the social norms, or the current environment. It is easy to just brush off what they say, as they do not know better. However, when we do ignore the “new voice” we lose a lot of valuable insight.

Listening to the new perspective is not always natural but it is crucial. Click To Tweet

The Things We Say

I want to retire certain phrases from programmer parlance.


We are not clear in what we say. We use incorrect metaphor. We choose vague terms instead of better ones. Let us trim some of the excess terminology and jargon.

We use incorrect metaphor. We choose vague terms instead of better ones. Click To Tweet

Technical Excellence

This terms vagueness is its undoing. Almost everyone I meet has a different definition of what Technical Excellence means. To some it is a synonym for Extreme Programming. To others it is learning design patterns or continuous improvement.

The above assumes that the person saying the term has good intentions. I have also heard this term used as a passive aggressive way of saying that someone is a poor programmer, by telling them to strive for technical excellence without specific feedback. Calling someone a poor programmer without giving guidance on what needs improvement is useless at best, discouraging and defeating at worst.

Instead of using technical excellence, let’s say what we mean. If that is Extreme Programming, let’s say Extreme Programming. If it is adherence to corporate coding standards, then document the standards and talk about the standards document. If we want to critique someone, take the time to critique them in a way that is helpful. Encourage growth and improvement rather than attacking.


Again, simple is an extremely vague term. What is worse is that we acknowledge how vague this term is by modifying it with: Simple isn’t easy. As if this sound byte could explain what we mean. This suffers from all the problems of “Technical Excellence” and really doesn’t say anything useful.

We spend so much time talking about making things simple and then engaging in a long conversation quantifying what we mean. Why do we do this? The term “simple” just causes confusion, debate and eventually is shortly forgotten.

It is amazing to me how much energy we spend saying nothing rather than what we mean. If we could talk specifically about the types of complexity we want to avoid, we allow for improvement. We start the conversation that moves us into a better place.

Remove confusion, add clarity and forget simple.

Technical Debt

Technical debt was a good metaphor. Past tense. It was created for a specific reason, it was to explain the causal effect of decisions to bankers. It was not created to discuss the state of the code between developers. So, let’s stop using it for such communications!

Instead of technical debt, let’s talk about Anti-patterns or Code Smells. Both have names for specific things that can be addressed. They can be researched and understood. Better yet, there are know ways to move from these potential problems to good patterns.

Lastly if we are talking about the state of code caused by a ignoring problems over a long time, then even the team “Code Rot” is better at describing what needs to be said. There is real meat in using directed language to discuss the state of a codebase between developers.

In Short

Stop being vague right now. Don’t mix your metaphors. Be clear and intentional. If there is better language that can be used to describe what you want to say, then use it. Increase your ability to be understood by thinking about what you are saying.

Stop using 'Technical Excellence', 'Simple', and 'Technical Debt'. Start communicating effectively. Click To Tweet


I have been thinking about great teams and teamwork lately. Greatness is not something easily attained or held, but easily lost.

What does it take to be part of a great team? Click To Tweet


Greatness slips from our fingers at every moment, we must actively pursue it and not compromise for less. We must strive to ensure all voices are heard, that quality is maintained, and room to experiment is held. Anything less defeats greatness.


To ensure a great team, there must be an agreement of acceptance. All proposals must be met with a “yes and…” mentality. People’s views, emotions, concerns, and ideas need to be welcomed. Without this welcoming safety is destroyed.

Without that safety new ideas are killed before voiced. Trust degrades, and people fall into old habits. Greatness is lost, because innovation stagnates.

Acceptance can be achieved as long a few people are willing to champion it.


The feeling of being uncomfortable signals the greatest chance for improvement. When the team “leans into” uncomfort and addresses the smallest things trust and acceptance grow. It is true that you need a seed of acceptance before this can happen; however, facing the feeling of being uncomfortable grows acceptance beyond its normal bounds.

Facing uncomfort, is very tenuous. Where acceptance can grow with a few champions, the ability to face things that make us uncomfortable can crumble with one criticism. This must be protected, and defended or the things that erode trust will remain hidden.

The most powerful and useful conversations happen when we solve real problems. If we cannot bring up those problems greatness dies.


Once we have acceptance and the ability to face what makes us uncomfortable, then we need excellence. Excellence is the constant striving to do better than we are currently. This includes technical excellence, process excellence, teamwork excellence, and communication excellence; along with many other forms of excellence.

Excellence ensures quality of what we do, and constant improvement. It allows for us to make mistakes and learn. It allows us to revisit and revise old decisions. Excellence measures greatness, but by paradox excellence cannot be accomplished without the other things I mention here.


We don’t know how to improve, even if we do, the context will change. We cannot achieve excellence without the ability to experiment. The ability to make a judgement and be wrong.

Experimentation feels natural on the tongue, but we tend to subtly resist it. To be an experiment, four things must be true.

  1. There must be a possibility that the hypothesis is wrong.
  2. There must be a defined end for the experiment.
  3. Success and fail criteria must be known.
  4. The actions of the experiment must be defined.

In Short

Who does not want to be part of a great team? Greatness is simple to achieve but in no way easy. It requires acceptance of all ideas, the ability to face all uncomfortableness, a strive for excellence and continual improvement, and a willingness to experiment.

Greatness is simple to achieve but in no way easy. Click To Tweet

Without all these things, we cannot be great. With them we will always be traveling toward greatness.

Making a safe place to work


This post is a special thank you to @JoshuaKerievsky. First I do not work with Joshua, or am I associated with him, however he has inspired a large amount of good things within my team.

Safety is a Skill

Bringing safty to the place I work is one of my highest priorities. Now to be fair, my place to work is the most safe place to work I can imagine. So why do I focus on bringing safety to my work?

Safety is a skill. It is why all manufacturing companies have manditory safety training. But these trainings only cover one type of safety.

Phycological Safety

Google discovered that phycological safety is the key to a well functioning team. We have seen simular successes in our team well before this article was written.

Core Rules

My team’s core rules have been in place for almost 4 years (as of September 2016). They focus on building phycological safety. They are:

  1. Treat everyone with Kindness
  2. Treat everyone with Consideration
  3. Treat everyone with Respect

The first thing to notice is the word everyone. This is not just those you work with. It is not just the people within your department, company or developer community. It says everyone, and it means everyone. It also means that everyone you work with will do the same.

The Cards

I won a raffle held by Industrial Logic, Joshua’s company. The prize came with a small number of these cards:

The back states you have the autority to stop work if any of these things are at risk:

  1. Time
  2. Information
  3. Reputation
  4. Money
  5. Health
  6. Relationships

I instantly fell in love. I gave each member of my deportement one of the cards. I made discussing the cards part of the on boarding process. At the end of which I gave the new hire the card.

On Boarding with Safety

I inform every employee that they have great authority when they come to work here. They can stop work if they feel the any action anouther is taking threatens any of those things. I then express how our practices, Test Driven Development, Contiuous Integration, Mob Programming, and others help to protect these things.

The new hire now has the authority to stop our work if anyone violates these practices and the reason isn’t to experiment on a better way; and even if that is the reason.

Then I tell them the hard part of this authority. They do not only have the authority, but the responsibility. It is part of the job requirement that they do this. Ignoring these hazards is willfully not doing your job.

One of the best moments of my career was when I told this to our interns. They could not believe any company would give them such resposibility and power.

Part of our culture

A number of us have attached the card to our badges, as a reminder of how important this really is. We retrospect often and try to do things that promote this safety. I think we are better then any company I have ever heard of it this regard. However, I do not believe we are perfect or finnished. The company recognizes that this safety has obviously contributed to our success and we are dedicated to finding better ways to achieve it or grow it.

Intentionally Exceptional

“Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.” – Steve Jobs

Every process, person, or thing that is exceptional became that way through lots of hard work and intention. When we talk about best practices, and management processes we as an industry seem to leave that part out. It is easy to talk about what “magic” successes have been had, but hard to describe the sometimes grueling process and reasoning that made the magic happen. I believe this is related to Survivorship bias which is a cognitive bias where we tend to focus on successes rather than failures.

Understanding that as we share our successes, it is important to also share the decisions and hard work that went into the creation of those successes, is the first step. By sharing information about the work that the success was built upon lets others examine its context, and gives hopes to those currently struggling.

That does not communicate the power of intention behind the success.

Transformational Communication


I recently came across a framework for discussing and categorizing the types of messages we see. I present it here to help analyze the way that the community talks about Agile. The hope is that through analysis we can improve the way we deliver our message.

I will give you the framework for analyzing our delivery that I learned. I will explain what it means when a message is hard to understand, or compromised. The hope is by seeing similarities in what we are putting out into the world the community can better self-adjust.

When I say community I include myself. I have been and am guilty of violating the rules set forth by this framework. I am no better than anyone else. In writing this blog, I have had to swallow a large pill and make the decision to change.


Let’s assume that the goal is to deliver a message to an audience. If I examine how understandable our message is on one axis. Then we examine how intact the message is on the second axis.

On our grid interact-ness is Y and understandability is X

On our grid interact-ness is Y and understandability is X


So if that message, is Agile then I can diagnose why I am being ineffective in communicating what I want. If either the understandability of what I am saying or content of what I am saying is low, I fail. I need to be able to communicate with the highest approachability if I am to succeed.

That is fine and easy to say, but what do I do if either or both, understandability or intact-ness is low? First you have to be able to recognize when either or both are low. I will give examples and some explanation. I will also give some reasons why something is low, with the hope of guiding you out of that position.



When both understandability and content are low, what you have is noise.

In the lower left quadrant, noise is unable to reach any one.

Noise is unable to reach any one


Noise comes in all forms. With noise we build a wall hiding the fact that there is no real content. Noise can be either ranting with no context to how and why something failed, or it can be cheerleading. Both of these turn people away from the message because it is unapproachable. If someone has concerns or excitement regarding the message you have left them with nowhere to go. All they have is how the delivery left them feeling and a bit of anxiety about its meaning.

I have been guilty of this. I have both complained that too many people call themselves Agile, without clarification as to why they are not Agile. I have also cheered the success I have had with agile techniques without giving context or information about why I had success.

The less concrete what you say is the more likely it is to be noise.


When the content is intact but people are unable to understand and digest it or act on it, it is non-contextual.


In the upper right quadrant, non-contextual exists where people want the information but are unable to reach it.

Non-Contextual exists where people want the information but are unable to reach it.

Here you preserve the message by framing it into a single context. There is only one way the message can exist is within your context. If you ever find yourself talking in absolutes you are being non-contextual. This does not mean that you compromise what you are saying only you need to frame it in representation of the audience’s context.


In the lower right quadrant accommodating allows everyone to hear what ever message they want to hear.

Accommodating allows everyone to hear what ever message they want to hear.

When the understandability, and ability to act, are high but without the meaning or original message that is accommodating.

Accommodating starts with a message, but allows it to be adaptable to whatever interpretation the audience may have. Each person interacting with the message changes it to fit their needs. Nothing actually changes except the meaning of the message.

Here you lose your intent. Context is mistaken for reality and presumed to be the truth rather than a commonality upon which to build communications. I have been guilty of saying that everything is a suggestion without giving context to how you evaluate what is needed.


So far I have only talked about the negative. There is one part of the graph that actually signifies success. If I can communicate such that I deliver the most of the content I was intending while making it understandable then the message is transformational.

In the upper right quadrant transformational reaches everyone and preserves the message.

Transformational reaches everyone and preserves the message

In order for a message to be transformational, it has to be able to reach its audience and be complete. That means describing it, and explaining it with the context not only considered but understood. You can only deliver a message to someone you understand. Once you understand your audience you can help them to understand you.


We can take the way we deliver a message, Agile in this case, and analyze it to understand if it can be effective. We can also examine messages we hear and put out into the world to see how effective they are.

We examine the message by how much content there is, and how understandable it is. We can classify our communication. Noise is neither understandable nor does it actually inform. Non-contextual messages keep the context but reduce understandability by ignoring context. Accommodating messages are very clear but lose content by allowing others to change the meaning.


Only when we keep the message intact, and clearly deliver it from an understanding position do we become transformational.

We desire to be in the upper right quadrant.

We desire to be in the upper right quadrant.

Now what

When we talk about Agile, we are talking about transformation. We are trying to bring an industry build on the mistreatment of people and failing processes to a point of success for all. We are trying to build human systems to automate the world, drive business, and generate money.

We cannot do this if the industry does not understand us. It becomes harder if bad experiences make it so they don’t want to understand us. We need to change the way we approach this, we need to be more efficient in what we say and how we say it.

So now what? Now we retrospect and learn. We categorize our successes and failures into these four groups and attempt to capitalize the good.

Before we speak, judge, or advise; take a moment and reflect. Move those conversations to the first quadrant. Focus on the individuals’ beliefs and knowledge. Try to capture their context and drive the lessons through them. Let’s transform the world!

I don’t know

“I don’t know” gives us a lot of power. Using these words open pathways for communication and understanding. Too often though we ignore this phrase and start by jumping to answers that feel right rather than those based on fact.

Those three little words pack a whole lot of punch. In American society saying I don’t know is often very hard to do. In fact at least one study shows that even our children have trouble saying those words. The same study suggests that our very schooling rewards us for figuring out possible answers rather than admitting we do not know.

There is often a perception that logic should be enough to eliminate the uncertainty of not knowing. We should be able to extrapolate from known data to arrive at a logical conclusion as an answer to a question. That is a great technique to gain insight and guidance. The trouble starts when we take that extrapolated point of view as fact.

Fact is something that is. A fact is solid and unchangeable. A fact is also temporal and because things change, what was true before may not be true now. That does not change the validity of the fact or make the fact mutable. Logic can lead us to facts, but does not guarantee them.

Logic is good at leading us to hypotheses. A hypothesis is an idea based on known information. It is not a fact, but may represent one. A hypothesis must be tested and observed before it can be treated as a fact, and in truth it may sometimes never become a fact. That does not make the hypothesis of any less value. The real value of a hypothesis is that it gives us something to learn from.

I bring this up because understanding these differences helps relieve a lot of problems in software development and life in general. If we know what we have is a hypothesis then we can test it for validity. We can discuss it and research it. If we cannot prove it is a fact we can at least prove that it is valid enough. Knowing its validity means we have gained insight and can make a better decision.

Recognizing that we have a hypothesis instead of a fact is an admission that we do not know. This is a very powerful situation to be in. If we do not know something we can learn it, we can change it, and we can grow it to where it needs to be. I am not saying that not knowing something allows us to change the underlying facts, but instead allows us to realize that there may be a different course than we thought when we started. The facts may be different than perceived or even that the facts we thought mattered don’t. Only by testing and researching our hypothesis can we gain this knowledge.

So do not be afraid to say “I don’t know.” Use the power of those three words to unleash potential, find new avenues, and spark creative communication. Repeat after me: “I don’t know.”