Todd Webb, Dec 13, 2010
My favorite description of software development is Alistair Cockburn's:
People inventing and communicating,
Solving a problem they don't yet understand, which keeps changing,
Creating a solution they don't yet understand, which keeps changing,
Expressing ideas in languages they don’t really understand, which keep changing,
To an interpreter unforgiving of error,
Making decisions with limited resources,
and every choice has economic consequences
Assuming
this is a true depiction of software development it is no wonder that
one of the most valuable characteristics of a great agile process is
transparency. Great agile teams don't hide the messiness associated with
writing software, they acknowledge it and engage the intellect and
talents of the entire team to maneuver in this constantly changing
environment.
That may sound easy but it is not. Often the
challenges presented by such an environment involve painful decisions.
The organization may not have the resources to fund the full scope of
the project. They may not be capable of finding enough talented team
members to deliver the desired scope by a key deadline. The team may not
be capable of working together.
Confronted with these
difficult situations, great consultants aren't afraid to stand up and
facilitate the tough discussions about how to proceed. On an agile team
you *will* be confronted with these situations. Do you have the
integrity to help your team navigate to success?
One of the
qualities we look for in potential Obtivians is the ability to
demonstrate integrity in tough situations, because, as a software
development consultant, you cannot be successful without it.