VI. Iterate! Increment! Evolve!
Most problems worth solving are too big to swallow in one lump. Any serious project will require
some kind of decomposition of the problem in order to solve it. This works but only with close
attention to how each piece is analysed and resolved and how the whole fits together. Without a
systematic approach you end up with a hundred different solutions instead of one big one.
VII. Stay on track
Presumably you have an end goal in mind. Maybe it’s your job, maybe your business depends upon
it or maybe you’re going to revolutionise the world with the next Google, the next World Wide
Web or the next Siebel/SAP/Oracle.
If this is the case you need to work methodically towards a goal and provide leadership (make
decisions). This applies whether you’re a senior project manager running a team of 20 or you’re a
lone web developer. You need to learn to use tools like schedules and budgets to keep on track.
VIII. Manage change
We live in a changing world. As your project progresses the temptation to deviate from the plan
will become irresistible. Stakeholders will come up with new and ‘interesting’ ideas, your team will
bolt down all kinds of ratholes and your original goal will have all the permanence of a snowflake
in quicksand. Scope creep or drift is a major source of project failure and you need to manage or
control changes if you want to succeed.
This doesn’t imply that there should be single, immutable plan which is written down and all other
ideas must be stifled. You need to build a flexible approach that allows you to accommodate
changes as they arise. It’s a happy medium you’re striving for - if you are too flexible your project
will meander like a horse without a rider and if you are too rigid your project will shatter like a
pane of glass the first time a stakeholder tosses you a new requirement.
The best way to handle this is to have a plan, to update it regularly and make sure everyone is
following it and pointing in the same direction.
IX. Test Early, Test Often
Project usually involve creative disciplines loaded with assumptions and mistakes. The only way to
eliminate errors is through testing. Sure you can do a lot of valuable work to prevent these
mistakes being introduced, but to err is human and some of those errors will make it into your
finished product code. Testing is the only way to find and eliminate errors.
X. Keep an open mind!
Be flexible! The essential outcome is delivery of the finished project to a customer who is satisfied
with the result. Any means necessary can be used to achieve this and every rule listed above can
be broken in the right circumstances, for the right reasons.
Don’t get locked into an ideology if the circumstances dictate otherwise.
Don’t get blinded by methodology.
Focus on delivering the project and use all the tools and people available to you. Keep an eye on
the schedule and adjust your expectations and your plan to suit the conditions. Deliver the finished
product, promote its use, celebrate your success and then move on to the next project.
A Project Management Primer (©Nick Jenkins 2005) 5 - 43