Agile Achievement

Have you ever been inspired to write a plan for your life, and then months have
gone by and nothing has got done? We often focus on what's right in front of us,
and our long term goals get left behind. Setting a goal is only part of the
process, you must also review the goal and take action.

One problem you may face when setting big goals is that they are difficult to
get a grip on when planning. Setting yourself a large target, such as becoming a
millionaire, is easy enough, but planning all the steps necessary to achieve it
is much, much harder.

Extreme Programming

As a software developer, I'm used to breaking large tasks into smaller chunks,
and it seemed like some of the methods used in software development could be
used in the field of personal development and goal achievement.

Software can be big and complex, and creating it can be very expensive and
risky. There are plenty of methodologies that can be used to create it, but one
that has recently caught my attention is eXtreme Programming. Although the name
makes it sound like programming whilst leaping out of a plane, it's more about
making developers more productive by distilling all of the various tasks into
smaller units.

The rules of XP are broken into 4 sections: Planning, Designing, Coding
and Testing. Not all of these fit into goal achievement, so I've revised them
into more appropriate categories. They are: Defining, Planning, Taking
Action and Measuring.

Of all the categories, Taking Action is the most important. Without Action,
nothing else will happen. You can plan a goal forever and a day, but unless you
actually do something, it'll never happen.

Defining

The first stage of any goal is to define the ideal outcome that you
want. Without a clear picture of what you want to achieve, you'll struggle to
get anywhere at all.

Define the Outcome

This is the process of deciding on the "what". The "how" comes at the
planning stage, so concentrate on what is to be achieved and don't worry too
much about how it will be achieved.

Goal setting can be a very difficult, but also a very rewarding process. It
takes time and patience to understand the best way to set your goals, and
there's no "one size fits all" solution. It's best to experiment with different
methods to find which style suits you the best. I wrote some tips for goal
setting in "goal setting for beginners", which might help at this stage.

Create Visualisations

Once the goal is defined, use the power of visualisations to imagine the goal as
already completed. You can use vision boards or picture goal books to help.

Planning

There's no escaping the fact that any sufficiently large goal will require a
degree of planning in order to achieve it. Planning should follow these rules:

Break Into Iterations

Instead of trying to achieve the goal in one fell swoop, break it into smaller
chunks, or "iterations". The advantage of using this approach is that you can
quickly react to changes in your circumstances.

You can think of using iterations like creating a sculpture of a person. The
first iteration is the rough outline, creating large blocks such as limbs and
the head. More detail is then added with each successive iteration, until
eventually it is complete. You don't start by carving out the fine detail.

Only Plan One Iteration at a Time

It can be extremely tempting to plan several stages ahead, but you must resist
this urge at all costs. You should only plan the current iteration, as planning
too far ahead removes the advantages of using the iterative approach.

Have Frequent Releases

Don't squirrel away on a project for years until things are "just right". Get
something done and get it out there, and then refine it as time goes on. Taking
the "ready, fire, aim" can help to beat procrastination, and will also help you
gain valuable feedback as you go. It might turn out that your goal isn't having
the desired effect on your life, but by breaking it into small chunks you'll
find out much sooner.

You should aim for every chunk to have at least one deliverable. For example,
writing a book might have a rough outline as a deliverable, or a single chapter
or 10 designs for the layout.

Adopt a "Just In Time" Mindset

Don't add anything before it is required. It can be tempting to spend days
working on "laying the foundations", but that time will be wasted if you find
out you didn't actually need any of it. For example, if you're starting a new
business, don't buy hundreds of business cards or a purchase a monster web
server until you actually need them.

Refactor Often and Mercilessly

In software, refactoring is the process of changing your code to make it more
readable or better structured without changing the behaviour the same. For goal
setting, improve your visualisations and goals as often as you need to. Instead
of ripping them down and starting again, build on the foundations.

Be open to change, and don't become attached to how things are. Your goals have
got you this far, when they've had their time be prepared to let them go. A good
analogy for this from the XP website:

A caterpillar is perfectly designed to eat vast amounts of foliage but
he can't find a mate, so he must refactor himself into a butterfly
before he is designed to search the sky for others of his own kind.

Taking Action

The most important phase is taking action. Only you can move yourself closer to
the completion of your goals, so take action to get there!

Don't Work Alone

Don't feel as if you have to do it all on your own, because you don't. Find a
mentor or use a focusing partner to help you reach your goals faster. A focusing
partner will help you with your goals by giving encouragement and objective
observations, and will also give a sense of accountability.

Review Frequently

A forgotten goal will never be achieved, so review it as frequently as you need
too. Ask your mentor or focusing partner to help, so that your goal is cemented
into your mind. Put up reminders around your house and office, and use
visualisations and affirmations to help you keep the goal in the present.

Don't Optimise Too Soon

This comes from taking the "ready, fire, aim" approach. Don't optimise until the
groundwork is laid and you have some form of measurement that you can use to
improve your situation. Don't worry about getting everything perfect the first
time round. NOTHING is created perfect, and more often than not you'll find
new ways to improve things once you've started taking action.

Don't Work Overtime

If a task is taking a lot longer than expected, don't give in to the temptation
of putting in more hours to sort it out. Instead, use your next planning session
to modify the project accordingly. Working overtime will suck out your
motivation and make you miserable, and although it sounds logical that working
longer will help you get more done, it can (and does) have the opposite effect.

As the saying goes, "work smarter, not harder". Burning yourself out will
achieve nothing.

Measuring

Keeping some form of measurement is a simple way of increasing your
productivity. When you measure your progress, you can see areas for improvement
and work on them accordingly.

All Goals Have Tests

You should be able to know at any point in time if a goal has been achieved or
not. Be specific when setting your goals, and don't leave them open to
interpretation.

Measure Your Success

How you do this is up to you. You might want to use a progress log, or something
else. Journal often, and look for areas where you can refactor or optimise. This
is really down to individual preference, and you may wish to track different
things for different goals.

Measuring anything will help you improve it, and when you have frequent planning
sessions you're able to put these new things into effect quickly.

Be Flexible

The most important part of "agile achievement" is to be flexible. It's a fact of
life that circumstances will change, and this will cause rigid goals to
break. Be flexible and open to change, and don't get attached to any particular
way of doing things.

4 Comments

A great article that I really enjoyed reading. Cutting everything down
into small chunks is a good first step, but your definitions and tips
for the other sections are spot-on too. It's exciting to think that
using this system I could make a plan to help me achieve what I want
with my life - first I suppose I should figure it out, though!

Great work on ths site all this week, particularly with the few
presentational tweaks - keep it up!