I’ve been keeping my eye on a series of blog posts by Chad Fowler, which
he calls The Big
Rewrite.
Today, Chad posted an entry titled, Who’s Tending the
Store? He
writes…
“the experts keep the old system running while the new system is
being built. So, who builds the new system? Not the experts, that’s
who. Usually, it’s people like me: technology experts. And while we’re
banging away at the existing system’s UI, trying to figure out what
needs to be coded, the domain experts are doing their jobs.
Unfortunately, this means the domain experts aren’t watching the Big
Rewrite very closely. Regardless of how good the team, if
communication is impaired between the domain experts and the
technology experts, things are going to move slowly, and wrong
software is going to be created.”
I wanted to follow up on this issue as it’s an area of great interest to
me.
I feel like this issue runs deeper and while it’s important to be
mindful of the communication between domain and technology experts, it’s
a good idea for each of us to take a break every few days (or everyday)
to assess our perceptions in all areas of the project. More
specifically, I’m suggesting that in order for us to be effective in our
communication, we must make time to refactor our perceptions about
the state of a project. From the design, to the development, to team
communication, to the schedule, and all the way to customer
satisfaction… or what Martin Fowler calls, Customer
Affinity. These
things are not static and we must see them as extremely dynamic
variables… much more dynamic than our wonderful language of
choice.
When Brian Ford and I started
discussing Dialogue-Driven
Development (d3), we were initially
focused on an area that always seems to come up in projects. Client
communication. From managing expectations to delivering the right
product, d3 has become an essential tool in our team’s tool belt. We
refactored our entire Design and
Development process (and
it’s always evolving) to focus on the things that we felt were the most
important
to a successful project. Clients come to us in search of expertise and
guidance so that we can build them innovative solutions. When it comes
to this process, clients deserve
simplicity.
For starters, we’re misguided
If there is one thing that I have learned, it is that our initial
perceptions are often misguided. We have to work really hard to think
critically, not only of the problem we’re trying to build a solution
for, but also of how we, ourselves, are actually looking at the problem.
It’s easy to fall victim to tunnel vision. I often find myself having to
take a step back from problems on a very regular basis. While I have no
scientific proof to back this, it seems to feels natural for us to keep
firing once we pull the
trigger.
It’s important to re-aim.
Chad raises a very important topic and leaves readers to think about the
problem. After thinking about this, it’s my opinion that in order for
the domain and technology experts to be effective, they need healthy
collaboration.
But, I feel like this applies to many other areas of our process as
well.
Is there even a problem?
So, what is the solution? Better yet, what is the problem? Is there even
a problem?
How can we avoid situations where communication becomes impaired? We’ve
all been there. We know how to spot impaired communication, but how can
we spot it… before we perceive it as too late? How can we recover
from it? What causes the communication to break down? What if… it were
possible to repair the situation?
These questions don’t have easy answers. These are complicated
problems that reach far beyond the development community. These are
the same problems that all members of organizations, communities,
countries, and planets all
face, each and every day.
Take action!
While it’s important to make sure we’re engaging in healthy dialogue
through a project, bad things will happen. They are inevitable. As
Agilists, we’re accepting this as a fact of (project) life and should be
prepared to take action. If you see communication being impaired, it’s
time to step up and help the team out. Otherwise, you’re only hurting
yourself… and your colleagues.
“Be the change you wish to see in the world.” — Mahatma Gandhi
If these sorts of topics are of interest to you, I encourage you to join
the Dialogue-Driven community
and help us figure this stuff out!