A Project Manager is a person who takes care of different project management aspects. At Railwaymen, the PM is responsible for everything related to project management.
Ineffective project management gives a high risk of delays and budget's overrun. Furthermore, about 67% of projects fail in organizations that undervalue project management. The most important aspects of every app development project are time, budget, goal, and scope.
Table of Contents:
2. Do we still need Project Managers? What is their role in software development?
3. What are the main duties of the software Project Manager at Railwaymen?
4. How software project management helps us optimize the costs and risk of app development?
5. Project Manager's tips for managing a software development project.
6. Why is effective project management important? Conclusion.
Introduction
Running software development projects might seem to be challenging. But with the right project management methods, things are going well. How do I know that? My name is Agata, and I am a Project Manager working in a software house. I took my first steps as a Project Manager ten years ago. Since 2013, I have been working as a Project Manager for the IT industry, and since 2015 I am a Project Manager at Railwaymen software house. It gives me a broad perspective on what the role of a PM is.
Today I want to explain how (thanks to efficient project management) we reduce the costs and the risk of failure during the app development process.
At Railwaymen, we represent an Agile approach to software project management which core principle is continuous improvement. What does it mean in practice? Shortly, it is an approach that:
- Enables us effectively manage the development processes for our clients,
- Provides transparency both for investors and developers (owing to short daily meetings called standups, each team member knows what the others are currently working on),
- Provides constant inspection (thanks to daily standups, planning meetings and retrospective meetings with the team, and ongoing contact with the client),
- Assumes iterative work, which gives us a possibility to adapt to the changes quickly, and without incurring high costs by the client,
- Is highly elastic and thus significantly reduces the risk of failure.
Over the years, we have noticed that our clients appreciate this approach very much. You can read more about Agile here.
Agile approach in project management
Do we still need Project Managers? What is their role in software development?
If you have any idea on what scrum - one of the most popular agile frameworks is, you probably think at this moment: "Wait, wait, there is no role of a Project Manager in the scrum!".
And you know what?
As a certified Professional Scrum Master, I must admit that you are partly right.
However, to be more specific, there are two large Agile organizations: Scrum Alliance and PMI. The first one says the Project Manager is not needed, but the second one is necessary. Nevertheless, even Scrum Alliance has the following roles: Product Owner and Scrum Master. Their responsibilities coincide with many of the Project Managers. The rest of the duties take over the development team.
So, do we still need Project Managers?
Yes.
We need somebody who will take care of different project management aspects. It could be either one person or a team. At Railwaymen, there is a Project Manager who is responsible for everything related to project management. And we see it works!
Why does your project need a software Project Manager?
What are the main duties of the software Project Manager at Railwaymen?
It depends on the project and the client’s needs. In general, it is managing all external and internal factors, which impact the project. To be more specific, it includes:
- Managing business communication to the stakeholders - ongoing reporting about the project status gives the customer a clear picture of the situation.
- Managing the project's finances, risk, change, and timeline - iterative work makes it easier because it gives us a high level of flexibility (further, I will discuss it in more detail).
- Negotiating with the client and advising them regarding timeline, budget, recommended scope of the tasks for iteration, etc.
- Building the team with all the required skills and motivating them to focus on the project's goal - is essential to meet all client's requirements.
- Preparing project plans and making changes if necessary.
- Creating a project and its backlog in Jira (creating backlog is sometimes on the client's ends) - Jira is a tool we use for project management. Every project is different, so it requires some custom configuration. We help our clients to understand our workflow and organize the backlog.
- Attaining daily meetings, planning, and retrospective meetings. It helps to identify any issues that the team has faced, inform the right person at the right time to resolve the issues, share the update among team members and make sure that the work planned for the next sprint corresponds to the client's priorities.
We are constantly facing the problem that the client does not understand the software project manager's role. They often say it is an unnecessary expense. Nevertheless, the list of their responsibilities is long, and their role is essential to the project's success.
How software project management helps us optimize the costs and risk of app development?
Considering software development, it is clear that finding a good app development team is crucial. Another aspect that requires consideration is the value of a good PM. The truth is that often, the clients are not very eager to pay for them.
The fact is that according to the Wellington report only 34% of projects are completed on time and within a budget, and the main reason for it is ineffective project management. According to PMI's Pulse of the Professions 2020, organizations that undervalue project management report an average of 67% more of their projects fails.
Are you sure you can afford it? Have you ever thought that having a PM on the team helps you optimize the costs and risk of app development so, all in all, you can save both time and money?
Let me cover this in more detail.
Nowadays the business environment is changing very fast thus customers' requirements are changing. No one can predict the future, but it is more than likely that your needs will change throughout the software development process. The agile approach our company represents allows our project managers to react very quickly to every single change.
Consequences of ineffective project management in software development
A few examples below show how a Project Manager can contribute to cost and risk optimization. Let's start from the very beginning.
01 Project Goal
There is a goal behind every software idea, which is crucial to be determined before you start the development process. According to PMI's the lack of clear goals is the most common reason for project failure (37%). The goal should be SMART (Specific, Measurable, Attainable, Relevant, and Time-Bound). You also have to describe the target group of your software as it will impact the project scope as well. These two are your drivers throughout the whole software development process. Once you start thinking about your product, it can be easy to get carried away by the imagination. So finally, there is a risk that you may not meet the budget, the timeline, the target group’s needs, or the project goal. If you cooperate with a project manager, they will help you manage this.
Here at Railwaymen, we have a special process for this - it is called the Discovery Phase. It is a workshop, allowing clients to define the project goal, scope, budget, target group, and timeline. The outcome of this is a document that can be helpful for you also to get the funds for the project.
You can read more about the Discovery Phase here:
Agile Discovery Phase: A Must-Have for your business.
What is the Discovery Phase program?
02 Project Communication
If you are not technical enough, it may not be easy to communicate directly with developers. They use specific tech jargon, so there is a risk of misunderstanding. It may threaten the proper implementation of the project. The PM helps to translate the client’s business needs to technical requirements. Also, the team is not distracted by additional responsibilities and can focus on the development process. It has a positive impact on the team’s velocity.
03 Project Backlog and Project Management
Starting the project needs to map out many details and issues. You may feel confused and not sure how to properly define the project backlog. As a result, developers may not know what to do, and you may not be able to control the software development process and react immediately if needed.
The project manager can give you support.
They will set up a tool for project management - in our case, it is Jira - and instruct you how to use it. As a result, you can create a valuable and transparent backlog and use different metrics to track the project progress. What is more, the project manager may do it for you, and you just will be reported about the project status on a daily or weekly basis. In this case, you can focus on your business and be sure that everything is still under control, and if any issue comes up, the project manager will identify and address it properly.
04 Project Time and Budget
According to Project Management Institute, with formal software project management, 58% more projects are completed on time, and 43% more are completed within budget.
Experienced software project managers can identify the possible factors that may impact the budget or time and discuss with you the possible solutions to prevent this. The sooner they are identified, the less risk that they will affect the project, budget, or time.
Project management in software development
05 Project Changes and Risks
Software development is about working in a highly uncertain and changing environment. It requires coping with changes and constant adaptation. An iterative manner of work and agile practices like daily standups, planning meetings, or retrospective meetings foster continuous feedback and refinement.
Successful software project management is about identifying the possible risks in advance. The Project Manager will make sure to address risk or required changes as soon as they arise. It reduces the danger that a small issue evaluates to a big, time and budget-consuming problem. If the changes entail increasing the project budget or changing its time frame, you will be informed about it by the project manager. This is quite a big responsibility which can be taken off your shoulders.
06 The Software Development Team
There are at least two areas concerning the software development team in which the PM will be a benefit for you. The first one is associated with motivating the team, the second one with interruptions in the software development team.
The low level of motivation possibly affects all aspects of project results: time, budget, scope, quality, and finally - the goal. Good team spirit is important to provide the proper communication within the team and increase openness and enthusiasm. Nevertheless, you need to remember that each team consists of a wide variety of personalities, and each team member may be motivated by different factors. The Project Manager works closely with the team and knows them quite well. Hence, they should also understand the individual motives of the project team members. The PM attends every team meeting so that they can react quickly in case any issue arises within the team. They can help to solve the conflict if any appears. Without the PM on board, taking care of these aspects may be tough for you.
The second issue, which will decrease the team performance and hence, impact the time and the budget of the project, is connected to interruptions. There are different categories of interruptions, but all of them slow down the development process. The project manager can take on the shoulders at least some of them. According to a University of California Irvine study, "it takes an average of 23 minutes and 15 seconds to get back to the task.” Even three interruptions daily is a loss of over an hour of work of one developer.
What kind of interruptions can the project manager manage? There are some examples listed below:
- Ongoing contact with the client: responding to emails, reporting about the project status, or discussing business issues.
- Ensuring that the time developers are waiting for information is as short as possible.
- Maintaining the backlog.
- Removing all impediments or blockers where possible.
The above list indicates only the most important areas in which cooperation with the PM may help in the optimization of the project implementation cost. I hope this clearly shows that the benefits of having a project manager far outweigh the costs you have to pay for them.
Why does your software development project need a PM?
Project Manager's tips for managing a software development project:
When you decide you want to develop your product, you start looking for the right software development team. In this case, you most often focus on verifying references and obtaining a quote. Below you will find a few tips allowing you better prepare for this process and make the collaboration with the development team more efficient.
-
Identify key stakeholders and capture their requirements
You should identify the key people who will be affected by the project. It is not only about the project's sponsors but also the end-users - people who will use your platform. Your product has to meet their needs, so it is highly important to consider their inputs too.
-
Set the project goal and scope of the platform
From the very beginning, you should define the business goal of your project and what problems you want to solve with it. The business analysis allows you to identify the scope of the software development and the target group. If you want to get an estimate of your project, it's a good idea to have the analysis done beforehand. Otherwise, the estimate will certainly be far from accurate. We are aware that this is a complicated process, required not only business knowledge but also technological knowledge.
Here, at Railwaymen, we encourage our clients to take advantage of tailor-made workshops and do such analysis together (it is called Discovery Phase). Its outcome is not only to define the goal of the project and its scope but also to prepare a high-level flow, identify areas of potential risk and develop an initial project estimate. That is a very good basis for starting the development process.
-
Identify KPIs
Having the project scope, you can identify KPIs. These are key indicators of the project progress that will allow you to measure the degree of achievement of the project goal. KPIs will also help you to make better decisions regarding the developed product.
-
Define the milestones
Milestones in the project are certain points that show an important achievement or the completion of a major phase. They act as signposts through the course of the software development process, helping ensure you stay on track.
-
Define the time and the budget
If you define the time of the project and its budget initially, it will be easier for the development team to estimate the project and help define the final scope of the MVP. A very rare but extremely desirable approach is when starting talk business with the software house to determine that:
-
- The budget for this project is X,
- The time is Y,
- The goal of the project is Z,
- The app is for this and this group of people,
- The app should solve this and this problem,
- The following features are the most important for me.
-
Participate actively
Providing your feedback and all information required by the software development team quickly helps to keep the development process productive and reduce many dangers:
-
- risk the team will go overtime or over budget,
- risk the team will develop different feature than you need,
- risk the project's goal will not be met
Active and regular participation in the meetings with the development team gives you the possibility to react quickly. For example, if you notice that, for example, a given functionality has been misunderstood by the team and developed improperly. As a result, you will avoid the accumulation of technical debt, which affects both the project's time and budget.
Meet Joanna. She is our Business Efficiency Specialist. So if you have any questions about the app development, just contact her: joanna.brzezinska@railwaymen.org
Trust me, she knows the answers to all your queries :)
Why is effective project management important? Conclusion:
As you can see, there are many threats on the project implementation path that may adversely affect the most critical aspects of the project: time, budget, goal, and scope. The arguments listed above seem to confirm that effective project management may mitigate or even eliminate the risk of project failure. Realizing this is a significant step in optimizing project costs and time. Therefore, if you are looking for a software house, experience in the area of project management should be as important for you as a good quality software development team.
As you might notice, the initial stage of software development is crucial for the project's success.
We have a free ebook about Discovery Phase that will help you check whether your app idea has potential. Download it below!