At my current client, I've sown an Agile seed in a
command-and-control environment. The organisation's culture is
predominantly process-heavy, document-driven and full of waste.
Nevertheless, my seedling grows. Nurturing it every day, I was
inspired to write these statements as I witness the emergence of an
Agile subculture.
1.
Create A Shared Vision that will guide your
decisions.
2.
Focus On Purpose, Not Process. Concentrate on
building product rather than serving process. Build product to
satisfy customer demand.
3.
Think Big. Start Small. Get something small and
hard-hitting out there early and build on it quickly with regular
releases. Arrange work as a pipeline that delivers value to the
customer in a continuous flow.
4.
Keep Things Simple. Simple rules lead to complex
behavior. Complex rules lead to stupid behavior. Work by principles
and not by prescription.
5. Deliver on time and on budget.
Fix Time. Fix Budget. Vary Scope. And never
compromise on quality. It'll cost you more in the long run.
6.
Working Code Beats Everything. Running tested
software is the best measure of progress. It focuses everyones
attention. It provokes more meaningful feedback. And you learn more
about what you're building.
7.
Work From The Outside, In. See everything from the
customer point of view first. Understand value from the customer
perspective. Be customer-driven. Ask the customer what they want
next. Let the customer pull you ahead of the competition.
8.
Make Small Decisions to keep moving forward. Small
decisions can be made quickly. Small decisions are reversible. If
one doesn't work out go back and change it. If you need to make a
bigger decision, make it at the last responsible moment when more
information is available.
9.
Let Details Emerge as things come into focus and
you get feedback. Worry about details when they really matter.
10.
Make it run. Make it right. Make it fast. Develop
software iteratively. First, get something working. Then perfect it
afterwards through successive refinements. Build quality in, don't
inspect for it afterwards.
11.
Let Things Evolve. Fail fast to get feedback
early. Inspect frequently and get feedback often. Learn and
actively seek continuous improvement.
12.
Build Small Teams that can adapt and respond to
change quickly. Work with passionate and versatile people who are
self-disciplined and who motivate themselves to do good work.
13.
Be Effective Before Efficient. Don't get so busy
that you lose your ability to be effective. Include slack in your
capacity to give you room to maneuver and respond to change.
This post was also inspired by
Getting Real written by the guys at
37Signals .
And it's now available as a
poster at
our shop .
Monday, 14 August 2006
BAKER'S DOZEN: Statements from an Agile subculture
Posted by Simon Baker - Permalink