Over the weekend, I was pondering about how important it is to follow one project management style, especially for a company with multiple departments working on various products. It not only keeps everyone aligned but also follow ups and tracking becomes smooth. Through this blog post I’ve tried to present the key elements of project management. They’ve been categorized as 7 P’s which ensure they’re easy to follow and implement. And Yes, it’s a lengthy post, so grab your morning coffee & read along.
With multiple divisions & projects involving numerous team members, it’s important to ensure that priorities at each level are in sync with organization goals for any resource at a given period. There will be occasions where a delivery of a product will need inter-division dependency and shared resources. If each division’s priorities are different, it may impact the delivery of the project. So, it’s crucial that whenever there is a difference in interest between divisions or resources, the overall organization priorities and goals must be considered as the priority and resources must be deployed accordingly. Also, required course correction should be performed for low projects with low priority.
Once priorities are set, pacing the project is essential. All resources and stakeholders are required to be in sync with the pace of the project to avoid unnecessary anxious moments that may occur due to difference in expectations. Plan the following to maintain a healthy pace:
- Plan for learning curves, absorbing requirements and priorities across every team member
- Frequent demos with stakeholders to ensure that project is in right course and direction
- Prepare a plan such that project is divided into three major phases. Initial Phase which lays the foundation, middle phase is the development phase and the final Phase stabilizes the project
Usually, velocity in initial phase will be low for any project and may last between 1 – 3 weeks. It’s a phase where team will be in process of absorbing the details of the project and sharpening the technical skills required to execute the project. Managers should ensure that this phase is not disrupted with higher expectations, as it lays the foundation for the whole project. The stronger this phase the better the results.
Velocity in the middle phase will be higher with a strong foundation laid in the initial phase. So, it’s advisable to avoid any major changes in the scope of the project during this phase, else ways there will be an impact in the velocity with which the project is being worked on and ultimately risks the timelines.
Last phase of a project should essentially only be bug fixing and stabilization phase. So, in the better interest it is good to avoid any new development activities during stabilization phase.
Phasing the feedback helps to keep the pace of the project and minimize the risk of planned deliveries. Once the feedback is received, it is important to categorize the feedback into following buckets – Must Haves, Good to Have and Not so Important. Ensure that the categorization is in sync with overall organization’s priorities. It’s better if we can avoid any change in Final Phase and accept minimal must haves during development phase.
Phase out the project such that there are no unknown areas in later part of the middle phase. If any unknown area persists, then it is advised to phase it out.
Encourage phasing as a habit within the team as well. For Eg: If developer is working on integrations and is blocked because there is an issue with service, then he/she can phase out the activities as follows – take end and sample JSON, start writing the parsing or processing logic for it and when services are up then he can test it with live service.
Developers can take up complex tasks early in the day when the mind is fresh and can think well. They can retain manual and repetitive tasks which may not involve a lot of thinking and can accomplish them later in the day. Try to maintain good balance between taking challenging tasks early in the sprint and close obvious things when stuck. Main objective should be that as a team we’re not risking high priorities by end of the sprint and avoid frequent stretching to close planned work.
Plan the project so that there is predictability throughout the course of project. Fixed roles for every team member, fixed resource for an activity can help the team to collaborate well in handling challenges. Daily scrums at fixed times, weekly demos on fixed days of a week can help developers to plan their daily work and be prepared for scrums or demos as the project progresses.
Well defined process, requirements freezing, converting them into stories with entry and exit criteria, code reviews, testing, bug logging and deploying shippable products. Every member in the team must be aware of the process and follow it so that there is visibility and predictability at every stage of the project.
Frequent guidelines need to be given to development team and stakeholders based on the phase of the project. Eg: Whenever there is a scope change every stakeholder should be accepting and tolerant of the low velocity. It’s advisable not to push the team to do too many things as this may hurt the overall foundation, resulting in more bugs which in turn will kill more time. In final phase, if required the team must be prepared to stretch so that deadlines are not compromised.
5. Process over Delivery
Encourage process over delivery attitude within the team. If team focuses on giving the best by following processes without worrying too much about the result, then as time passes team will be on top of what it is doing and automatically delivery will be at its best.
6. PC-PC vs. Person to Person
Encourage person to person interaction over e-mails. Socializing will help the teams to grow well. There will be better knowledge sharing, better coordination, better support, better understanding and better use of time.
Most significant and expensive investment of an organization is its people. Each of the above elements and the processes should be people-centric. Develop people-centric processes so that every team member feels valued and believes that they belong to this place.
Now that the 7 P’s of Project Management are addressed, there are other vital underling aspects that ensure a faster Go-Live.
Respond instead of React: It’s important for the decision makers to be accepting and tolerant of the failures or challenges faced by team members. They should seek to respond rather than react to such situations. Instead of asking why this is not done, consider asking how we can help you to do this better. This will make a great difference and the team will respond well by owning their tasks.
Say no to Negativity: Healthy environment should be encouraged where negativity is prevented. Negativity can kill the focus and overall momentum of the team, which is always counterproductive. Leaders needs to ensure that team members are not burned out, so there should always be a cooling period after a stretch or hot period, for a resource so that they can do their best for longer duration.
Cohesive Work Environment: Development teams should also be considerate of the anxiousness of stakeholders when things are not in track and do the best to be on top of things. Mutual understanding and acceptance of situations between development teams and management can help in building successful teams.