Here's what we focused on after implementing Agile:
- Are your story definitions getting better?
- Are your storypoint estimates getting better?
- Is the team's velocity improving?
- Are you holding end-of-sprint retrospectives?
- Are you addressing the issues raised in these retrospectives?
- Do you have a good Product Owner
- Is your Product Owner actually owning the product, or do other roles in the team pick up their responsibilities?
- Are you good at keeping a Sprint's content fixed?
- Will you cancel a Sprint if failure is unavoidable?
- will you cancel a Sprint if the requirements have changed too much?
- Is the culture one of no-blame/every body is equal?
- Are you automating your regression testing?
- This is key for an iterative approach
- Do you have the necessary tools in place?
- Source control
- Continuous integration
- Scripted deployments
- TDD or BDD
- Are you addressing the technical debt association with iterative development?
- Are you doing periodic refactoring/hardening sprints?
And there are more, but I haven't had my second coffee yet.
You'll find that, at first, there's always room for improvement. But gradually the team will fall into its groove and begin working like a well oiled machine. At which point you'll start seeing less and less improvement between sprints. That's OK, though. It just means you're approaching the team's optimal efficiency.
Once at this point, it's still important to constantly be self-evaluation. Don't stop having retrospectives. Don't stop asking how you can make things better.
Oh yeah, and a Scrum Master (if you're doing Scrum) should be able to help you with all this. I say should because in my experience the importance of a trained Scrum Master is usually under-appreciated. The role typically falls onto the Project Manager whom does not have the training to play the role.