Getting started with Agile Project Management
What are the key points I have to consider in terms of Project Management and Agility.
Looks like you want to follow agile project management, but others
may not know what that means. Try to get at least a couple of people
trained. Scrum is the most popular agile process.
Assign the key roles of Scrum Master and Product Owner.
Let the Product Owner conduct a few sessions with the team to create the product vision, road-map and the backlog. You said the project is clear. Then this should not be so hard.
In the backlog, write only the higher priority stories. Others can be written as epics. The epics can be broken up when they get to the top of the backlog. Make sure the stories have clear acceptance criteria.
Then the team can do some estimation in story points. Here is an article about how to establish an initial scale for story points.
Decide on a sprint duration. You can do 2-week sprints unless you have a specific reason to make them longer or shorter.
You need at least 3 sprints before you can establish a rough velocity.
At the end of each sprint, invite the management team to see a demo of what features have been completed and seek feedback. This should be working software, not a slide presentation.
Project is clear, but priority of story is shifting from time to time
by management team.
As you can see from the Agile Manifesto, "Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."
Having said that, you still need to maintain some discipline about changing priorities. Make a deal with the management team (the people who change the priorities):
Changes are welcome until the sprint starts. Once the sprint starts, no changes can be made. This will allow the team to focus and get the work done. It is the Scrum Master's job to enforce this.
All requests for changes must be routed through the Product Owner.
Should I start work with 1 module and parallely provide training to
team.
This entirely depends on you and the skill level of your team. But I do think that training in the context of specific work to be done will be more effective. So, you can plan for lower velocity initially, giving time for team members to be trained.