are some things to think about. I have summarized them into pithy
sentences, added bullet points and called them proverbs to make them
sound important. Don't be fooled. These are ideas, not rules. Ideas to
help you think about making your current process, what ever it is, a
more Agile process.
way to meet customer objectives is to explicitly
catch up is the fastest way to get further behind.
you get late in a project are very valuable because you
paid the most to get them.
of your requirements will represent two thirds of the
someone something they can change is helpful, showing
can't change is spiteful.
development gives you a few "oh drat"s during development instead of
one big "AW SHIT" at the end.
estimate not based on a measurement is a guess; an estimate based on a
measurement is a prediction.
He who does
the work sets the estimate.
is what you want to deliver then measure progress by how much you have
working right now.
important thing on a project is good leadership; the least important
thing is who leads.
If you can
see a need for leadership you know enough to lead.
only have responsibility you will know worry, but when you also have
authority you will know opportunity.
organization of your team will be reflected in the code. (Conway's Law)
relaxed plus confident yields decisive.
many people are on the project, now communicate like a group
don’t share, communities are based on sharing.
models are paintings, not photographs. The
creation of a document is an implicit
agreement to keep it up to date
or destroy it.
the use they are just cases.
move faster than documents.
more to owning software than just paying for it.
is basic to being human, don't give it up that right
before the project even
your team intellectually or they will challenge themselves in ways you
wouldn't have chosen.
change seems like taking control, but you lose control by not
making a decision.
don't scale, teams do.
way to guarantee bad decisions is to make all of them yourself.
changes cause big problems.
programming doesn't work; expand your ego to include everyone's code.
guess, measure it.
theorize, try it.
you did today can be done over tomorrow in half an hour and be better.
twice cut once saves wood, but software isn't made of wood.
way to get help is to offer help.
test is the hardest.
suite is more valuable than your code.
the test is to create the greater your savings.
is a will there is a way to test.
If you want
a good suite of tests next year you must start collecting them today.
don't use your process
it can't help you; if your process
doesn't help, you won't use it.
essential ingredient that turns repetitive development into iterative
development is feedback.
doesn't work try more, if more doesn't work try less, if neither
works stop doing it.
people slow the project down by just 10% each it will take twice as
If it isn't
fun you're doing something wrong. A hammer without a
good process is a sore thumb waiting to happen.
something you do, not something you do to someone.
least likely to save time is the person in the biggest
disciplined team member has the greatest control over your process.
is subjective so judge it subjectively as testable, browsable,
understandable, and explainable.
way to guarantee it costs too much is to add something you don't need.
If it takes
you too long to refactor than you are not refactoring enough.
solution always takes less time than a complex one.
the simplest thing next you will always work as simply as you can.
finds a problem knows enough to design a solution.
isn't building for every imaginable possibility;
it's having as little to change as possible.
design can be explained to someone else using four blank cards.
which doesn't meet business needs is bad, no matter how pretty.
designed to document complexity, not expose it.