- producing quality code (i.e. extensive testing) - collaboration (i.e. pair programming) - self-organisation (that is, being told about the goal, but not about how to reach it) - producing running, tested, distributable software early and often - continuous improvement (both of the code and the process)
At least that's what coming to my mind quite now...
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
More talking to people, less preparing and reading formal documents for questions and responses.
Faster feedback. You can complete a piece of code and sit with a tester or customer for verification immediately or at the end of an iteration. You can grab a customer to help with a question at a moment's notice.
Smaller fine-grained assignments and tasks. This leads to more frequent successful finishes and more fun.
More freedom to pick your own tasks from what remains to be done.
Less long range planning, more short range planning.
More sharing with your mates, e.g. a daily meeting to discuss what you did yesterday, what you will do today, what is stopping you from making progress.
More open work space and noise, fewer cubicles and offices.
A more realistic, less stressful view of change, targets, work-life balance.
More clarity and fewer hassles about status reporting.
Wow, I want to apply there now.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi