From the book: The Agile Samurai: How Agile Masters Deliver Great Software
Get a high-level understanding of agile planning
How to measure success on an agile project
The 3 simple truths of agile to help you face tight deadlines with ease
Deliver something of value every week
This means the regular deliver of working, tested software.
1. Break big problems down into smaller ones
2. Focus on the most import things, forget everything else
3. What you deliver must work
Whatever you deliver, it must work -- this means that you start testing - early & often.
Daily testing becomes a way of live.
4. Look for feedback, often
- Regularly stop and ask your custom for feedback.
5. Change course when necessary
Something that was really import one week can be unimportant the next.
Dont't follow plans blindly.
Be prepared to change.
6. Become accountable
Becoming accountable means:
Owning quality
Owning the schedule
Setting expectations
Spending money (and time) as if it was your own on the line
Delivering something of value every week is not for the faint of heart, it puts the spotlight on you. You either produce some thing a value or you don't.
Agile Planning
Master story list
Iteration
Team velocity
Adaptive planning
Master story list
This is your project to do list
It contains all of the high-level features (called user stories) that your customer will want to see in their software.
It's prioritized by the customer an estimated by the development team.
It forms the basis of the project plan.
Iteration
An "iteration" is a 1-2 week period where the team takes the most important stories and transforms them into tested software that works and could potentially be deployable if that is the intention.
Team velocity
Team velocity refers to how much you can get done per iteration.
Buy tracking the velocity you can use it as a predictor of how much you'll be able to get done in the future which helps keep your plans, honest from overcommitting.
Adaptive planning
Adapter planning is a corner stone of agile.
It basically means that the planning of the project is a continuous mission and that you should expect things to change an adapter accordingly.
Done means done
An agile, the definition of done means that you are delivering a feature that has everything necessary to produce shippable deployable code that works.
Everything from analysis, design, coding, testing, usability experience, etc. is all included.
It does not have to be the future with every possible option completed but whatever it is, that you deliver must work.
If it can't be deployed, it's not done.
3 Simple Truths
It is impossible to gather all requirements at the beginning of a project
Whatever requirements you do gather are guaranteed to change
There will always be more to do than time and money will allow
Truth #1
Requirements are meant to be discovered.
If you want to proceed on a project until you've gathered everything that would mean never starting.
Excepting this first truth means, you're not afraid to begin the journey without knowing everything upfront.
Truth #2
WinterChange is coming.You expect it and you accept it.
When change comes, you adapt your plan and move forward.
Accepting this truth means you no longer fear or avoid change.
Truth #3
Having more to do than time and money will allow is a normal state for any interesting project.
You do the things that you can and you set priorities to get the most important things done first.
Accepting this truth means you no longer get stressed when your to do list exceed your time and resources to deliver.
There is no "one way"
There are multiple flavors of agile - Scrum, XP, Lean, etc.
No one way is right or wrong.
No method or book can give you everything that you need and you cannot stop thinking for yourself.
You must make it your own.
From the book: The Agile Samurai: How Agile Masters Deliver Great Software