This last summer we wrapped up a very intense and fast paced project I was leading from the beginning of the year. It taught me a few things along with reinforcing some of the project management best practices I have picked up in the last few years in managing other projects. This last one was a global project with teams here in US and the development team in India. What follows are some of the project management essentials I followed and were key to the successful completion of the project.
Define the project scope, methodology, timeline and Road Map clearly
You should always take a structured approach in any project and understand and define certain key elements of the project upfront. This typically includes project scope, methodology and a Road Map. Will the waterfall model work for you or do you want to use one of the agile methodologies and go with Scrum? In our case we used the hybrid of two where we started with a three-month waterfall project and after that was delivered, we shifted to a bi-weekly sprint model. Regardless of which model you pick, you should create a timeline with clearly defined milestones. This granular timeline will be useful for the people who are working actively on the project. For the all up deliverables you should also create a Road Map that you can share with your senior leadership to help them understand the deliverables and the associated milestones.
Pick your team with the right skillset
We decided to use out-sourced vendors to help us with the project. If you are going to have out-sourced vendors working on the project, then I recommend having them do a Proof of Concept work before you select them. This will help you understand which vendor has the talent and experience to help you with the project on your platform. It will also reduce the possibility of any kind of skills-based resource shuffling and issues once you have already started the project. In our case we decided to go with two developers and one dev/test resource. Since the team was based in India, we decided to also hire a Project Manager locally, here in US, to act as a liaison and work with the offshore team. Having an experienced PM in place saved us the hassle and time since he was the key person to work with the offshore development team to help them understand the requirements.
Decide on the tools to manage and monitor
Tools make our job easy and help us track and monitor all tasks that we need to track at a granular level along with identifying owners for bugs, tasks and feature requests. We decided to go with TFS since it was previously used by the team I inherited. We looked at other tools like Jira but because of the aggressive timeline we had to deliver this project we decided to go with TFS to avoid the learning curve associated with adopting a new tool. Other tools we used included OneNote for keeping meeting notes and SharePoint for sharing files. A project is a combination of people, processes and tools and you want to make sure you settle down on tools that help you efficiently track, manage and report on all tasks the team is working on at any time.
Set up regular meeting cadence
Depending on the project methodology you picked you will also have to decide how often you want to meet and discuss all the bugs, feature requests and other project related issues. Make sure that you have all the needed people in this meeting so you can have a 360 degree conversation touching on all aspects of the projects with all the right stakeholders. Many decisions will be made here in this meeting while some will require a follow-up via email. In our case we met daily for one hour and made sure that all business PM and developer PM were present for the discussions. At certain times the senior developers would also joined this call to discuss or provide additional details on what they were building or if they needed additional clarifications. As a practice, you should not have the developers join this meeting since this is not a good use of their time. They might instead be meeting separately as a group on their own to discuss the technical developer issues.
Enable people to do their best
Once you have setup the processes and taken care of all the logistics for the project, my advice to you is to get out of the way of your team. This doesn’t mean that you let the ship roam free on its own but you should let people do their best work and you provide input and feedback as needed along with keeping an oversight of the project so it doesn’t go sideways. I am a huge proponent of end results and not how the team goes about accomplishing them. People do their best work when you give them the freedom to accomplish their tasks in their own way rather than telling them how to exactly do something. I know you may be tempted at certain times to jump in because of your knowledge and experience and dictate to the team how to do it but hold off on that. Let the team make a decision on how to go about doing it while you provide suggestions and guidance as needed. Letting the team do their best work is a great concept but that doesn’t mean that you don’t keep an oversight on the project. You will want to make sure that tasks are being delivered and milestones are being met. There will also be times where you will need to roll up your sleeves and help the team. Don’t be afraid to do that, that is what team work is all about, not to mention you are going to build a close relationship with the rest of the team when you get down to their level and start helping as needed. Another advice I have is to keep compassion as a core value and make sure that you are flexible with your team. We all have personal lives, responsibilities and families outside of work that we take care of day in day out. There may be times where team members have to take time off to take care of those personal responsibilities. You should be flexible in your approach and make sure that if people need to take some time off, you allow that keeping one eye on the milestones and working on a backup plan appropriately.
Communicate, Communicate and Communicate
Communication is key to the success of any project. Communication should be tailored and directed for different audience. You should setup a cadence on how often you want to communicate with each type of audience. In our case we had the daily project triage and email communication. The development PM was meeting daily with the offshore team in India in the evenings. For communication to our peer teams and other close stakeholders we sent emails as we accomplished major milestones or when asking for assistance on testing our site. For other organizations we were providing an update and status in a monthly meeting we had with them. We also communicated up to the senior leadership team as we accomplished major milestones, such as the soft launch and the hard launch of the project.
Reward and Thank people
Nobody accomplishes a project on their own, it is always team work that gets you to the finish line. You want to make sure that once your project is complete that you communicate out to all the stakeholders and recognize the team and the key players who helped you along the way to make the project a success. Believe me, a simple Thank You will go a long way in you building long-term professional relationships with others in your team and organization. Depending on the success of project you should also reward key people who were critical to the success of the project. In our case we recognized two members of the team who did most of the heavy lifting for the project and went above and beyond to ensure the success of the project.