Why OOZOU Includes A Project Manager For Every Project
Project managers increase the chances of success for a project and reduce risks associated with self-management. A good PM will help bring the team together, guide the project on the most efficient path, and bring transparency to the client.
You might be wondering why you can't just wing it and hope that the developers understand your vision. You might ask yourself why you can't just explain your ideas to the development team and then manage them going forward and save the money. After all it's expensive, sometimes we have a full-time PM for a team of just 4 or 5 developers. The question you should really be asking yourself - Does not having a PM cost me time and money?
You might wonder what the PM really does and if the role is necessary. Let's first clarify the responsibilities of a developer.
In an ideal world each developer in a team has one job. Take a ticket from the backlog, start it, work on it, ship it, repeat. This is the flow in which the developer is most happy and most efficient.
Other responsibilities the developer has include discovery for new features, documenting features, testing features, monitoring logs, monitoring error trackers, debugging bugs and defects, assisting QA.
If a project has a lead developer, their responsibilities would be around technical challenges. They would be the decision maker if the team comes up with multiple ways to solve a problem and the coders responsible for the feature cannot make the decision alone.
So What Does The PM Do?
The PM is the leader, team-unifier, discussion-mediator, meeting-maker and much more. Their job is to sit above the developers, watching, connecting the dots. Ensuring the the path that is planned, is followed.
In software development there are a lot of things that can go wrong. You need to be constantly vigilant if you want to end up anywhere near your target, be that budget or deadlines (or both!). If you waste time on tasks that are not creating value for the end user you can be burning money that is desperately needed to keep the project going.
At each level there are different responsibilities and challenges.
The product owner must evaluate decisions on a very high level and understand how they map to the goals of the business. If the product owner and the product team is not taking care, they can easily deviate from the most effective path. Deciding to go down a route that is wrong which can be lengthy and/or damaging to the bottom line.
Developers must be aware how the code they are writing fits into the system as a whole. At this level it's not easy to see the whole picture of how code might be useful to their customers. To some extent, developers can see problems with a proposed solution but generally they are low level issues, technical challenges or UX details.
The PM bridges the gap. They are at a level low enough that they can see and understand what the developers are reporting but they also sit high enough that they can familiarize themselves with product direction and overall market fit.
There is always some wiggle room around what the PMs responsibilities are but overall the concept is the same. The benefits are clear.
Let's explore some of their responsibilities in more depth.
During this period the PM will collect requirements from the Product Owner (or Stakeholders, Marketing, Sales etc, for simplicity we'll stick with PO), and discuss goals, budget constraints, and other important details from the PO's perspective.
Once the PM has collected all required information they go to the drawing board, leading the team through the planning process. During this period it's the PMs responsibility to uncover all challenges and risks, and collect strategies to work with-or-around limitations. The PM will delegate research tasks to developers, and sometimes task designers with building mock-ups.
PMs works closely with their teams so will understand how to best utilize different members during this period.
Through this process the PM will be able to build a picture of the solution and how it applies to the clients business goals. At the end of the planning process the PM will be able to deliver a clear overview of the solution being presented along with a timeline, expectations, and a list of potential risks and risk-mitigations.
Leading the Team
After the planning process is complete the PM will switch into a team leader role. They are responsible for keeping the project on course. Each developer is guided by the PM to complete tasks in an efficient order, sometimes reordering mid-sprint to work around blockers.
With a leader at the helm the individual team members can continue with their work without unnecessary distractions. Developers don't need to worry if they are working on the right tasks or if they are missing something. The PM will ensure the developers have everything they need and are not blocked by anything internally or externally.
The PM not only helps the team but also ensures each member is upholding their responsibilities and correcting path when deviations have been made.
PMs are responsible for ensuring that the workflows are completed correctly and remind team members to mark tasks as started, give progress updates etc. The PM will also guide the client and other external participants on how to use the workflows and ensure there is no confusion around the mechanisms in-place to produce the best results.
Most teams will do scrum stand-ups. The PM will lead these sessions and link developers when they see communication needs to happen or if one is blocking another. They have a birds eye view so it's much easier for them to join the dots for the individuals needing help, often before they themselves know they needed help.
Timeline Planning and Timeline Monitoring
Even when projects and features are well planned they often start with an unrealistic expectations. Due to the nature of building a bespoke products there will always be requirements that cannot be fulfilled completely or fulfilled within the budget or timeframe.
If developers were constantly pulling themselves out of their tasks to evaluate the accuracy of estimations, the projects would slow to a stall. On the other hand, if they never did this then the client would be left in the dark and would have no idea how to plan their budget or their marketing releases.
PMs will be able to watch from the side-line and periodically request updates when it looks like estimates are going to go over. This helps keep the project on track, constantly adjusting, and streamlining tasks. If estimates go over the allotted time-constraints, or budget-constraints, this feedback loop will give the PO and PM an opportunity to cut out some non-essential features to ensure the project succeeds.
Everyone including the stakeholders, PO, PM, QA members, designers, and developers, are responsible for ensuring the quality remains at an acceptable level. The PM is also has overall responsibility for ensuring the development team produces results to a high-standard.
They must monitor the workflow and understand where things are going wrong. If quality is slipping they are responsible for understanding why. They are responsible for ensuring there is enough traceability baked into their workflows.
If a deployment results in a higher than acceptable number of defects they will go back through the tickets that were released and check that each ticket passed through the QA team for testing. They might also open dialog with developers to ensure that the code went through the proper channels e.g. passed through the Continuous Delivery pipeline to run the automated tests.
Sometimes the PM will also have access to code quality and automated test coverage metrics. These metrics ensure developers are following the minimum acceptable criteria set out in the guidelines specific to each projects.
Build, Analyze, Improve, Repeat
OOZOU follows Agile principles where possible. The last principle on the list is the following
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
This is arguably the most valuable principle when it comes to being effective. Even a team with numerous flaws can improve very quickly if they continuously look for improvements in their workflows.
Every team at OOZOU meets at regular intervals to retrospectively analyze their efficiency. Typically. During the retrospective meeting, all members of the team will be invited to share positive and negative aspects of the current workflow. The clients can also be involved if they would like to be - we encourage this when possible.
After the feedback has been gathered, the team can easily see where they are being effective and which areas need work.
Various aspects of the development flow might need improvement. e.g.
Task status tracking
The PM will take charge and coordinate these improvements leading to a more cohesive and effective team.
As you should be able to see the PM is an integral member of an effective team. We believe that including PMs is key to our success, and our clients' success. Project managers help guide both the clients and the development team. They hold a lot of responsibility and are ultimately responsible for ensuring the project stays on track.
Need help to take control of your project?
Are you looking to start a new venture or maybe you need a skilled development team to take over an existing project? OOZOU has been building bespoke products for close to 10 years and employs some of the most talented staff in the industry. If you're interested in hearing more, reach out and speak to one of our PMs.