This post originated from an RSS feed registered with Agile Buzz
by Martin Fowler.
Original Post: Bliki: ThreePillars
Feed Title: Martin Fowler's Bliki
Feed URL: http://martinfowler.com/feed.atom
Feed Description: A cross between a blog and wiki of my partly-formed ideas on software development
ThoughtWorks is an unusual company, which is why such a
corporate-skeptic as myself has hung around for a decade here. An
important feature of ThoughtWorks is that we take a broader view of
our purpose than simply a commercial entity. Over the last couple of
years we've been using a three-pillar model to describe the way we like to
think of ourselves.
The model was stolen from Ben & Jerry's - the ice cream
company. It says that there are three pillars to a company:
Sustainable Business, Software Excellence, and Social Justice[1]. Each pillar has its own definition of success
and for the company to be successful it has to balance the aims of all
three pillars. While the pillars are not fundamentally in conflict,
they are often in tension - which is where the balancing comes in.
The Sustainable Business pillar is about ensuring we have a financially
viable business. We've done pretty well on this one over the years,
which is why we are still around. We've now weathered two recessions -
and I've always considered that a company's performance in a recession
is where you find out how strong it is commercially. We've also grown
a lot over the last decade, from around 300 people in the US when I
joined to about 1800 globally now. So kudos here to our operational
management team.
Commercials aren't everything, however. A good metaphor I stole is
that revenue is like oxygen - you need it in order to live but it
isn't what you live for.
The Software Excellence pillar
is one that in broader terms I'd call a Professional Excellence
pillar. It's about doing what you do really well. For Ben &
Jerry's this was about making really good ice-cream, in our case it's
about being really good at delivering valuable software. This pillar
is the one that resonates so much with me. It's why we work very hard
at continuously improving the way we do things.
Software Excellence introduces some interesting
tensions with the Sustainable Business pillar. We are difficult consultants for
our clients. We come in pushing hard for significant changes in how
they do software, confident that our approaches are much better. This
creates a lot of turbulence with existing IT staff. I remember Trevor
Mather (our CEO) contrasting ThoughtWorks with his previous experience
at Accenture. He commented that ThoughtWorks did a much
better job of software delivery than Accenture, but clients were much
happier with Accenture than with us. One colleague likened us to a
hard-driving personal trainer, which isn't always an easy relationship.
Another tension involves products. Our products division often has
to deal with feature requests for things that we don't think help in
delivering useful software. By not implementing them, we lose out in
many check-box evaluations; but we don't want our tools to be
reinforcing poor ways of working. Furthermore our Software Excellence
pillar means we miss out on many revenue opportunities with third
party vendors. Many consultancies gain considerable revenue with
product vendors whose products require lots of consulting support but
provide little value to users.
We take our Software Excellence pillar a step further in that not
just do we want to be excellent in delivering software, we also want
to improve the software industry as a whole. This is why so many
ThoughtWorkers talk and write publicly about how we do things and what
we've learned. [2]
The Social Justice pillar is about looking more broadly at our impact as a
company - are we making the world a better place? There are those who
think such a question is irrelevant for a company - a commercial
enterprise is there to make money, full stop. By this test it's okay
to sell whatever anyone will buy, even if it harms the customer and
the broader society. I don't agree with this notion - I'm very happy
to make money, but I believe that revenue should come from providing
something valuable to customers and society.
For me, the Social Justice pillar isn't just about doing work for good
causes, although we have been doing an increasing amount of paid and
pro-bono work for such outfits. It's also about looking at our core
work and asking how it benefits society. I have an expansive view of
this, it's worthwhile to build software that makes a company sell
useful things more efficiently. Improving the operations of the
used-car market in the USA isn't as socially glamorous as helping to
find children after a natural disaster, but I still think it's part of
the path that's led to humanity's greater prosperity in the last
couple of centuries.
The Social Justice pillar does lead to a lot of internal debate about
whether to work for certain clients. There's been a clear tension with
the Sustainable Business and Software Excellence pillars as we've turned down
well-paying and technically interesting work because we feel the
clients involved are a Social Justice negative. We've also lost a lot of good
ThoughtWorkers to join companies where the Social Justice pillar is seen as
irrelevant and thus they can pursue the other pillars more
energetically.
There's also greater variance between ThoughtWorkers about what is
socially beneficial and what isn't. I'm glad we've followed a policy of
respecting people's wishes when they've declined to work for a client
they consider socially irresponsible. It's harder to reach a consensus
on these decisions across ThoughtWorks as a whole, particularly as we
grow.
I've focused on the tensions between the pillars here because I
find the balancing between them to be interesting. But there is also a
great deal of reinforcement between them. Many people join and stay at
ThoughtWorks because of our attention to Social
Justice. Our focus on Software Excellence has allowed us to develop a
brand that made it easier to ride through the recessions. Much of our
work for non-profits is done at a commercial rate. Furthermore I believe
that when you look at the long-term, the pillars reinforce each other
much more than they fight.
We've found this three pillar model a very effective way to think
about the multiple aims that we have as a company. As we are pondering
decisions it's useful to think about how a decision looks from each
pillar individually as part of coming to a rounded decision. But there
is more to do, particularly around assessing how we judge success on
each pillar. The Sustainable Business pillar is somewhat easier, as you can
track revenue flows[3]. The challenge is coming up with similar
assessments for the other pillars so we can get a more holistic view
of our progress.
1:
Internally we often refer to the pillars through numbers (which we
used before we came up with the names): Sustainable Business is
pillar 1, Software Excellence is pillar 2 and Social Justice is
pillar 3.
2:
Most consulting companies do not talk about their work
publicly other than for marketing purposes. The commercial calculation
runs that it costs significant money in lost billing for people to do
public facing work such as articles and conferences. Also it's foolish
to share key techniques with competitors or potential clients who
could then use these techniques without the consultancy.
3:
Even this is not that easy. Too many companies assess their
commercial success by looking at short-term finances, such as
quarterly accounts. If you want a company to last long-term you need
longer-term gauges - and those are harder to find.