Here are some things to think about.

These are ideas, not rules.

Ideas to help you think about making your current process, what ever it is, a more Agile process.

Iterative Planning

  • The best way to meet customer objectives is to explicitly schedule their completion.

  • Trying to catch up is the fastest way to get further behind.

  • The changes you get late in a project are very valuable because you paid the most to get them.

  • One third of your requirements will represent two thirds of the project’s value.

  • Showing someone something they can change is helpful, showing something they can’t change is spiteful.

  • Iterative development gives you a few “oh drat”s during development instead of one big “AW SHIT” at the end.

Honest Plans

  • An 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.

  • If software is what you want to deliver then measure progress by how much you have working right now.

Team Empowerment

  • The most 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.

  • When you only have responsibility you will know worry, but when you also have authority you will know opportunity.

  • The organization of your team will be reflected in the code. (Conway’s Law)

  • Calm and relaxed plus confident yields decisive.

  • Count how many people are on the project, now communicate like a group that size.

  • Hermits don’t share, communities are based on sharing.

Developers /Team Members

  • Big changes cause big problems.

  • Egoless programming doesn’t work; expand your ego to include everyone’s code.

  • Don’t guess, measure it.

  • Don’t theorize, try it.

  • Everything you did today can be done over tomorrow in half an hour and be better.

  • Measure twice cut once saves wood, but software isn’t made of wood.

  • The best way to get help is to offer help.

Testing

  • The first test is the hardest.

  • Your test suite is more valuable than your code

  • The harder the test is to create the greater your savings.

  • Where there 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.

Process

  • If you don’t use your process it can’t help you; if your process doesn’t help, you won’t use it.

  • The one essential ingredient that turns repetitive development into iterative development is feedback.

  • If less doesn’t work try more, if more doesn’t work try less, if neither works stop doing it.

  • If 10 people slow the project down by just 10% each it will take twice as long.

  • If it isn’t fun you’re doing something wrong.

  • A hammer without a good process is a sore thumb waiting to happen.

  • Process is something you do, not something you do to someone.

  • The person least likely to save time is the person in the biggest hurry.

  • The least disciplined team member has the greatest control over your process.

Simplicity

  • Simple is subjective so judge it subjectively as testable, browsable, understandable, and explainable.

  • The best 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.

  • A simple solution always takes less time than a complex one.

  • If you always try the simplest thing next you will always work as simply as you can.

Design

  • Who ever finds a problem knows enough to design a solution.

  • Flexibility isn’t building for every imaginable possibility; it’s having as little to change as possible.

  • A good design can be explained to someone else using four blank cards.

  • A design which doesn’t meet business needs is bad, no matter how pretty.

  • UML was designed to document complexity, not expose it.

Documentation /Models

  • Agile models are paintings, not photographs.

  • The creation of a document is an implicit agreement to keep it up to date or destroy it.

  • Without the use they are just cases.

  • Ideas move faster than documents.

Managers /Scrum Masters

  • Challenge your team intellectually or they will challenge themselves in ways you wouldn’t have chosen.

  • Demanding estimates change seems like taking control, but you lose control by not making a decision.

  • People don’t scale, teams do.

  • The only way to guarantee bad decisions is to make all of them yourself.