Software development project management – best practices, tools and methods. Interview with PM Magda Gumieniak
How to manage software development
IT project management is a challenging process requiring loads of knowledge and outstanding interpersonal skills. Nowadays everyone recognizes the relationship between effective project management and success of the project. However, in software development projects there are still great difficulties that need to be overcome by PM specialists worldwide. Still, many project managers find themselves intimidated by advanced technological aspects of this particular field, resulting in underperformance. Many have a potential in project management, but in such a multidisciplinary environment, it is hard to grasp what you should work on to get ahead of your competitors, deliver effectively on time while remaining tremendously flexible and in a coherent, trusting, fulfilled team.
Magda Gumieniak, excellent Project Manager with extensive experience in IT project management and PropTech, currently occupying the PM position at Fream, agreed to share with us her thoughts on software development project management. We will discuss whether a perfectly managed IT project exists. Next, Magda will share with you her recipe for a successful IT project manager. Then we will touch upon trust-enhancing team practices. Last questions aim to give us some idea which tools and methods can ensure effective project management. Enjoy and learn from the best specialists!
1.How would you describe a perfectly managed IT project?
Hard question for the first one. I would dare to say that such a project probably doesn’t even exist ;). There is always room for improvement, and I am the person who desires to strive for excellence, hence my claim that there is no project I am aware of that reached perfection in its management process. Let’s move to the definitions though. I would say that the perfectly managed project should be well specified and managed with the milestones delivered on time, within the declared budget or way of cooperation with definition of done, including the high quality, with the team that develops and blooms during the project by gaining new skills.
2. What is needed to become a successful project manager?
There are two perspectives to be considered when answering that question. The team and the customer.
First of all, you won’t go anywhere without your team. Never forget that. That’s why you need to listen to them, try to empower people to find the solution. And find the time for them, always. They hardly ever ask you about the things that don’t matter. Which means that finding time for them is critical to move the project forward.
Secondly, it is important to get into the customer’s shoes. At Fream we try to build a relationship with our customers by really listening and understanding their needs. And I mean it. We often try to adjust the offer to the customer’s time and budget limitations, and I believe that is how a project manager should maintain the whole process, because that lays the foundations for a long-term trust.
Third thing would be definitely being IT savvy and fast-learner, to have a common language with your developers and understand their challenges. It is also important to be a sort of translator and mediator between the dev team and the customer. I believe that studying IT related faculty or working as a developer or a QA expert before becoming a project manager can help a lot here. In my case, even though I am not a programmer, I’ve finished Computer Science, and I really am into understanding what we are creating together. I try to ask questions or do some reading to know what the team is talking about. This helps me to make the right decisions instead of calling the customer with all small issues to be solved.
Mix it all together… And the final element which needs to be added to the recipe to become the perfect IT project manager is to have an ability to work under stressful environment, react to the actions that are happening around you, adapting your environment to it and applying the knowledge in your team to solve problems, make decisions together and overcome obstacles that are faced during the process.
3. How to ensure your team’s trust and coherence?
First and foremost, position your team as the experts they are and if you have a possibility and a chance, remember to engage all of them at every stage of the project in the process of product definement.
To ensure that happens, you should start even at the stage of research. It usually is a tedious task to prepare a project specification, so why don’t you engage them to help you out? Then try to divide it into fields of expertise and distribute the research tasks to your colleagues. This not only lets you motivate and capture the attention of the whole team, but also makes them partial product owners, together with you. Additionally, they motivate each other and listen to the result with more interest than they would if you would be the sole person presenting the business requirements :).
If the research is not enough to understand the product or project properly, it is a good idea to set up a workshop and prepare a brainstorming session. There are several ways to do it, I try to gather possibly all the team members in one room, even during pandemic times. It is healthy to socialize a bit more than we are now used to and change of environment enhances creativity and brings out unexpected ideas you wouldn’t have come up with otherwise. Obviously make sure that all comes with the respect to the people that don’t feel safe with joining the meeting and to the restrictions and social distancing.
When you are done with specification and you kick the project off, during its development process it is important to be aware of the situations that causethe team’s demotivation and disagreements. Sooner or later, during the development process with a group of individuals, such issues happen and you need to be prepared for them. There is no universal answer on what to do – I would recommend again a proactive approach which ensures you devote a proper amount of time to the team members to enhance the environment of inclusivity and understanding. What is more, you should remember about the fact that everyone requires different levels of attention and has his or her own swirl of emotions, opinions, agendas which you have to navigate properly.
Continuing the conflict management topic, I believe that discussion is always a key to solving problems. Talking openly about issues can make them tinier than we think they are. Moderating the discussion between the people that have different opinions may help a lot. Listening to their doubts or thinking together of a potential solution may also bring positive results. And most importantly, enabling the ones that usually stay silent. When people share the responsibility of resolving difficulties, it is usually easier for them to concentrate on finding solutions instead of escalating the conflict.
To sum up, make sure you have time for feedback and maintaining relations with your team. Having the courage to discuss together the solutions they propose, getting involved in the problem solving process and questioning the status quo.
4. What tools do you use in your work as a project manager? Is there a project management software you can recommend?
You need several tools to succeed as project manager – to plan the work, schedule it, track the progress and report it to your clients.
As for planning and scheduling the work, I would not go anywhere without my calendar and excel. Calendar makes me feel safe with my duties and meetings, not only at work but in private life too. And Excel. I think the vast majority of PMs are Excel fans ;). Excel is great not only for calculations, estimations, milestones or work break downs, but also, in the final phase, it becomes a great and commonly used tool to prepare the reports. All those things would be hard to control without that tool.
Another critical tool is the one that lets you and the team keep a structure in the work that needs to be done, maintain the pace and priorities and serve as a good reminder if your memory fails at some point. Usually project managers are supported with task and time management tools, such as JIRA, Trello, Asana or some internal tools within particular environments or technologies like Microsoft Azure DevOps Board. Every tool has obvious pros and cons, and depending on the project requirements or integrations you may set up, each can be suitable, based on the variety of features they offer. For example, JIRA is versatile and adaptable to – in my perspective – most IT projects, because of multiple plugins and a wide community requesting changes to it, whereas some tools like the Microsoft’s one may speed up the internal processes such as GitFlow when you have the proper integration of the development process and the business tasks. Each of these tools is obviously worth analyzing and choosing based on your project’s needs.
5. What project management methods do you employ in your work?
Basically, when you start working with the Projects, you idealistically think that all the theoretical principles should be implemented. But reality shows it differently.
Some basic rules of scrum and agile development are obviously a key adapted to the company’s environment. But as a matter of fact, I have never experienced pure scrum. Okay – maybe I have, during scrum training ;).
I believe every company has its own hybrid, you can find the differences between the projects. It depends on many elements – type of client you have – internal or external, type of project budgeting – fixed or T&M, and many more. In my opinion, the key element is project adaptability.
Thank you Magda for the insights into the software development project management world. I believe your recipe might serve as a guideline for junior project managers as well as for those more experienced. It shows as well what are the most important aspects worth paying attention to while hiring Project Manager. Many successfully managed projects to you?