Making a list of best practices seems like BDUF for an agile transition. If you want to be agile, try getting there in an agile fashion.
What's the worst problem with your current process? What can you change to address that problem? Try it and see how it works.
Rinse and repeat.
And do all of this as a team.
EDIT:
Some things are hard to put sensibly in comments, so I'll expand on some of the commentary here:
I think the problem is that some people refuses to write unit tests, but in my opinion, unit tests are providing bigger safe net. Not sure what can be done about that.
Poor test coverage is really a negatively stated solution and not an actual problem.
If you have bad test coverage, then you're likely delivering software with bugs or where it's difficult and time-consuming to make changes without introducing bugs. These are problems.
If people are refusing to write tests, either they don't believe there's a problem, they don't believe writing unit tests will solve it, or they don't care.
The best thing to do about this is to get together with your team and decide what the problems are and agree on things to try to improve.
If you have team members who aren't interested in improving, that's a bigger problem. You should still try to address it as a whole team, but it's difficult and you may need some management help.
As I already mentioned, we are already successfully using some agile practices, but maybe there are new and better ways of doing things. What I am trying to do is to re-evaluate how we are doing things.
Good. That's basically what I'm suggesting you should do, but do it as a team and focus on solving identified problems instead of trying to make a big list of best practices.