Project management becomes a critical aspect of the delivery and role of a Project Manager evaluates over time. Software project delivery is more and more challenging, as organizations do not only want to quickly adapt to a rapidly changing environment and achieve their goals but also control project cost and timeline.
According to PMI Pulse of the Professions ® 2018 there is a prediction based on the interviews and research that the role of project manager will expand and include also being: strategic advisor, innovator, communicator, big thinker and versatile manager.
Understanding Project Management in Software Development - part 2
This article is part 2 in a series about project management methodologies, roles in a project team, and efficient models do deliver software projects. The key result is to maximize the success of software delivery thanks to proper leadership and communication techniques facilitated by Project Managers in project teams.
1. Project Manager is like a conductor for an orchestra - ensures that the team works in harmony to deliver the great outcome. Conductor, who has a team of talented musicians, sets the same rhythm for a project team and makes them communicate effectively so that the audience gets a fantastic experience during the concert. Each musician is an expert in their field, has the required music instrument as well as notes. However, in a group of many experts, such as an orchestra, there is a leader who looks after communication and achieving desired results.
2. Project Manager is also like a football coach - leads a team of experts who play together to achieve the goal. Players are like software engineers, and in football, they craft the game. However, the team wouldn’t exist without training, strategy, plans, managing risks and issues. This is why it needs a coach and supporting crew.
Project Manager is leading the work of the software project team, that usually includes roles such as developers, testers, business analysts, product designer.
Project Manager is ...
As a football coach - acts immediately if any risk or issue occurs during the delivery.
As a conductor for an orchestra - help the team to work together.
Ernest Shackleton started his expedition in 1914 with a crew of 27 people. His goal was to get to Antarctica and cross it from sea to sea. but the expedition never reached that goal. Due to difficult conditions, Endurance got destroyed and the crew was trying to rescue and get back home safely. This is a story of a project, which did not achieve its goal due to unexpected situations, however, the whole crew got back home safely thanks to great leadership. Story of Sir Shackleton may be a true inspiration for project leaders, who live in a changing world and need to adapt quickly to new situations. He proved that being committed and able to adapt quickly to new situations makes a great leader. He stayed close to his crew, listened carefully to what they said and transformed that into a plan of actions which helped them survive.
Let's focus on PM's responsibilities in the software project development lifecycle. They are aligned within three main phases of the delivery:
At the very beginning of a project, Project Manager supports Business Analyst in defining project goal and scope, while during project execution will ensure that scope is aligned to the Client’s goal at every stage of the project.
Furthermore, Project Manager allocates the project team and provides initial documentation for the project e.g. Project Charter.
Project plan (including dependencies) is created and managed by the PM, so clients will be able to verify delivery progress at every stage.
Develop a communication plan for the project to ensure that the Client will receive all the necessary updates about project progress.
Supports sprint planning sessions and ensures that tasks are correctly estimated.
Project initiation and planning is a crucial step in the delivery lifecycle. Looking at the PwC survey results (Insights and Trends: Current Portfolio, Program, and Project Management Practices. The third global survey on the current state of project management, PwC, 2012) it’s highlighted that “poor estimates” are the most important factor that contributes to poor performance. Also in the top-rated factors are poorly defined goals/objectives and changes in scope.
Project Manager acts as a point of contact for the Client as well as a leader for the delivery team. This requires great communication skills and stakeholder management knowledge to ensure that communication in a project will be transparent, smooth and effective.
Execution of the project follows the project methodology agreed with the Client. This means that Project Manager acts as a mentor and coach for the team as well as supports delivery ceremonies, such as daily stand-ups, retrospectives, refinements in scrum methodology.
Scrum methodology introduces a sprint ceremony called a retrospective, which is a meeting scheduled at the end of each sprint. The whole project team is invited and Project Manager facilitates this meeting. The aim of the retrospective is to continuously improve project execution by identifying what went well and what didn’t. This is an important part of knowledge management and building a learning environment when each sprint team is improving its performance.
A crucial aspect of project management and PM role is to ensure that the project won’t be blocked due to unexpected situations and if that happens, then PM will manage it. This requires a risk management plan and skills to adapt quickly to new situations.
According to “2018 Project Controls Survey Report” conducted by Logikal Project Intelligence less than 2% of respondents believe that project control is “not important at all”, while as we can see on the chart below - those you perceive project control as very important or critical have a higher success rate in their projects.
The article “Why Your IT Project May Be Riskier Than You Think” published at Harvard Business Review highlights the problems with overrunning project constraints:
It’s a crucial part of the Project Manager role to control and monitor project progress and when any deviations from the plan happen the PM should act on it.
There are different tools and techniques that the Project Manager can use to increase control over the project:
Burndown Charts, Cumulative Flow Diagram that controls scope delivery over a time; Backlog Readiness to keep track of backlog status; testing reports including the amount of raised bugs with their severity and many others that each PM may define for their projects.
2. Evaluating organisational structure and elements.
As part of scope management, Project Manager may use Change Request Log and with Business Analyst support track new requirements in a project.
3. Scope management.
It is about monitoring changes in backlog and backlog readiness. The project manager is ensuring that all the artefacts in the backlog are aligned to business goals and will deliver value to end-users. This requires customer collaboration with project teams.
PM is responsible for monitoring project budget and in case of first sights of under or overspent inform project stakeholders. With the usage of project management tools and metrics, this process can be automated and the PM may control the budget on a daily basis, which will prevent unexpected and late informed issues. Staying within a budget influences a lot customer satisfaction.
5. Roadmap and milestones.
The task is to update and control project roadmap and milestones. Project Managers should discuss project timelines with the team members, product owner and stakeholders, to ensure that everyone is on the same page. Moreover, dependencies that impact delivery should be tracked on the plan.
6. Control checklists.
In agile project management techniques there are some examples of checklists, such as Definition of Done and Definition of Ready. Still, PMs can also introduce other checklists such as production release checklist or testing checklist.
It is important to note that one need not stick to a single methodology. We can accelerate project development when one includes the best practices of an opposing or complementary methodology. The key to all this is the familiarity of the client’s style of work, culture, and then analyze the characteristics, strengths, and weaknesses of each methodology to adapt it wisely.
An important part of each software project is to learn and improve the process of delivering future projects at the highest quality. After each project agile Project Manager conducts Lessons Learned sessions to summarize what went well and what didn’t. It’s important to learn from each other in a team and knowledge management is a crucial part of improving project management.
Such an approach reduces the satisfaction gap which comes from the difference between customer expectations and customer perception of our delivery service. Storing that knowledge in a company's wiki helps to recall best practices and lessons learned from all previously delivered projects. That will lead to rapid application development in future.
Let's summarize the five skills which lay the foundation of an attitude of every Project Manager in the software industry.
Sound judgment - Project Managers should be able to use their skills and knowledge accordingly to the project and apply that to deliver business value.
Decision making - each day the PM needs to make decisions and communicate them. Hence Project Managers need to collect all the information and be able to make the right moves.
Problem-solving - each problem has a root cause, so Project Managers should work with team members together with a client's representative to identify those root causes and solve problems. Ability to improve the way delivery teams work and learn from mistakes is an added value for every software project.
Communication - many studies show that communication is a crucial factor for project success. The graph below presents how poor communication affects the project’s cost and schedule. To prevent the impact of poor communication, each Project Manager should communicate clearly and effectively.
Time management - delay in project delivery may have a massive impact on cost and Client’s commitments; hence Project Managers spend a significant amount of their time on controlling and managing schedules. PMs should also support their team members, for example, during the meetings. Even small delays when put together may have a significant impact on time-to-market of the business behind a software project.