if you ask people who are not involved
in software creation how it is written
you'll find they typically assume that
developers talk to users about what the
users need write some code to do what
the user asked for show it to the user
to get feedback and so on many of them
would picture users and developers
gathered around the table for
discussions and around a computer screen
to see the software unfortunately that
is not the way many organizations
develop software in fact it seems like
some places intentionally go out of
their way to create processes that make
it hard for users and developers to work
together I was hired to do some
consulting for a large bank that was
trying to improve the efficiency of
their software development process after
attending a few meetings I realized that
the person I thought was the user was
not actually someone who was going to
use the software it turned out this
person thought their job was
specifically to keep the developer and
users from talking to each other I
started asking what had prompted the
creation of a role like that and traced
it through the organization until
someone finally told me that a famous
big consulting company had told the bank
to hire someone with that role as part
of a set of recommendations several
years earlier this still didn't make
much sense after several months I happen
to run into someone at a restaurant in
New York who worked for the consulting
company and discovered that he had been
part of that project I explained that
the bank had introduced a new role
tasked with keeping users and developers
from talking to each other based on his
company's recommendation a horrified
look crossed his face and he said no
that isn't what we recommended at all
there are two agile principles that
really deal with this type of situation
first business people and developers
must work together daily throughout the
project in second the most efficient and
effective method of conveying
information to and within a development
team is face-to-face conversation so why
does agile make such a big deal of
giving developers and users
to talk to each other organizations have
a tendency to create structures that
keep this communication from taking
place sometimes this is driven by
political forces as people attempt to
consolidate power by controlling the
flow of information sometimes it's
caused by efforts to make communication
more efficient without fully
understanding that the efficient
creation of software requires two-way
communication most of the time though
companies create barriers to
communication between developers and
users because there are so many barriers
everywhere else the bank in my story
somehow is able to create new positions
hire people to fill those positions
without anyone stopping to ask if
creating a barrier between user
developer communications was really a
good idea software is created because it
provides some type of value to someone
those people are the users the more
layers an organization puts between the
people who are creating the software and
the people who are going to use it the
more inefficient the process is going to
be this does not mean your users need to
be involved in every single detailed
technical discussion about how code is
being written but it does mean they need
to be close enough to the process to
provide feedback that can guide the
development so the end product will best
meet their need thanks for watching this
video if it was useful I'd love to see
you give it a thumbs up and subscribe to
my youtube channel if you'd like to get
an email when I produce new articles
videos or books please check the
description of this video there's a link
where you can sign up to get those type
of
[Music]