You likely now know that the most common project management styles used in software development are Scrum or Kanban. But, software development isn't merely about being Agile. Though similar, both methodologies have key differences that require special attention as well as overlap in processes (recently I heard about "Scrumban," which was how a client described their delivery model). With any management principles, there are different interpretations of the "rules." The key to the successful implementation of any methodology is the practical work of a project manager.
Even the simplest of projects can quickly become a failure. Project Managers should intend to use their experience, interpersonal skills, and individual management styles to help the project succeed. While the development team builds the software product, the Scrum Master is working to ensure that all development work is organized and Agile. A traditional Project Manager who can help drive the team, the project, work with stakeholders, and resolve any blockers is crucial to help meet critical milestones. This work can extend into the organization, beyond the day-to-day development work and help resource the project efficiently. Here is where I see a useful overlap with traditional Project Management Principles and Agile Project Management.
It is important to remember that there is a distinct difference between a Project Manager and Scrum Master. Some may think the roles and objectives are the same, and the titles are interchangeable, but they are, in fact, very different. The Project Manager is focused on the overall success of the project, meeting milestones, watching the budget, and resolving blockers. Alternatively, the Scrum Master is focused on the success of the Scrum team and performing the Scrum ceremonies. However, it is essential to note that these two roles do work together. Having a strong camaraderie contributes to the success of the project.
I believe that the role of a non-Agile Project Manager in a software project to be underestimated. A 2017 Report from the Project Management Institute found that 14% of IT projects fail. Some of the most common reasons for this are inaccurate requirements, little to no involvement from project sponsors or stakeholders, unforeseen risks occurring, and changing project objectives. All of these are areas of focus that are often managed by a competent project manager. You may have the best product, the best development team, and an endless budget, but it does not guarantee success without the skillful application of project management principles.
What makes a good Project Manager?
Having a qualified Project Manager is crucial to the successful management of a project. They are knowledgable, but they also have the experience to understand contingency planning and help fix problems. There are various certifications available, but the most recognized Project Management certifications are PRINCE2 in the UK and PMP (Project Management Professional) through the Project Management Institute, which has global availability. Before a new Project Manager takes on any projects, I would highly recommend studying either methodology or perhaps have a certification in their discipline. It helps help to ensure the best outcome for a project and also helps extend the successful management of not only software projects but projects of any type.
Having a basic understanding of software and Agile principles is also essential for any stakeholder involved with a software team. When working with a development team, there is often technical language thrown about and discussed. If the Project Manager doesn't have a basic understanding of this, then how are they meant to manage their team and the project successfully? I would recommend a Project Manager involved in a software project to take a certification course on Agile or Scrum basics, and possibly become a qualified Scrum Master. This knowledge base benefits not only the project but also your team through efficient communication with technical and non-technical stakeholders. At Unosquare, we are an agency that provides digital transformation services to our clients. Some of those clients have Product Owners that are non-technical Project Managers. Having an understanding of both methodologies can put you in the position of being a capable translator of project requirements.
Before starting anything, the Project Manager should sit down with their stakeholders and the team to define success criteria and the project scope. The project's success criteria should clearly be outlined in your project documentation and should be signed off by the Project Sponsor, Stakeholders, and you as the Project Manager.
The gauge of success can vary between stakeholders, projects, and industries; therefore, it is important to define at project initiation. For example, one company may consider success upon the release of the software application into an app store. In contrast, another software company may define success as a threshold of app downloads. For the sake of delivery and teamwork, all stakeholders should be aware of the success criteria and work to avoid scope and feature creep.
Then, on project closure, you can compare the outcome of the project and the success criteria to evaluate if the project was indeed a success. A great tip is to use metrics as they are an easy and efficient way to measure success, such as a return on investment or a customer/employee satisfaction score.
A key success factor is to know your project and adapt. Not all projects are the same, and a successful Project Manager knows that you cannot use the same management style for every project, and you need to be flexible. Firstly, you need to know your stakeholders, the customers, and the project objectives. Once you've gathered this information, you can then adapt specific processes to ensure your timelines are maintained. With a certified Project Manager involved, they should have a repository of tools to plan and respond appropriately to change.
Another critical success factor for a project is effective risk management. The Project Manager should be the person to call when the team is looking to resolve any non-software development blockers/issues. It is essential at the beginning of the project to identify risks that may arise and plan for contingencies. When issues do arise (and yes, they will happen in every project), you can proactively mitigate rather than reactively respond. Some issues may be minor and easy to fix, others could derail the project, and a good Project Manager had already identified these during the project initiation.
Learning from your mistakes is something a successful manager absolutely must do to ensure the next project will not have the same problem. If you keep yourself in a rut and continue doing the same thing (even though it has been proven to be unsuccessful), it leads to more unsuccessful deliveries. Processes are critical, but they aren't always the right answer. Apply your learnings to subsequent projects, and make sure that you are considering the team members themselves. You should learn what styles of communication and organization work for the team, and plan accordingly.
All Project Managers should be continuously learning and building upon their Project Management knowledge, just like any other subject or field. A Doctor can't provide new life-saving treatments if they stick to the same practice. Whatever career or subjects that you are interested in look for new opportunities to expand your knowledge base. Networking with your colleagues in the Project Management profession can open up your understanding of new approaches to standardized processes.
The management style of a Project Manager is of vital importance to success. For me, that means understanding your team, being approachable, and expressing optimism. This approach has proven to encourage collaboration and trust among management and the entirety of the team.
It's also important to know what motivates your team. In Daniel Pink's book, "Drive," he talks about Type-X vs. Type-I: where Type-X individuals are extrinsically motivated, and Type-I individuals are intrinsically motivated. Is it money, goal setting, recognition, purpose, mastery, or maybe just autonomy? I have applied this guidance, and it has helped me define the motivation of an individual project contributor and provide what they need to drive the project toward successful completion.
These are just the key factors that I believe to be what distinguishes a Project Manager from a successful Project Manager. The key point to stress here is to know your team, know your project, know your methodologies, and know your management style. If you have all these key areas together, it will lead to a higher chance of success.