3 Pillars of Project Management for Software Development
Jakob decided to go river rafting and went to a travel agency. The first question he asked: “How much is the river rafting tour?” When Jakob heard the price of the tour including rafting instructor services and boat rental, he wondered: “What if I save a few bucks, uh… I’ll raft without the instructor. Why should I fail? It’s not so complicated”.
Now, just imagine that Jakob is a software development company customer and needs to develop a product. But he doesn't know the project manager’s responsibilities and he refuses the project manager's (PM) assistance to save money. Do you think Jakob’s project will run successfully? And what is the true role of a project manager? Read our review carefully and you’ll find out why every project needs a project manager for software development.
1st Pillar of Project Management: Team
Sometimes, when it comes to custom software development, a client asks to interact with developers directly thinking that it won’t harm the whole process. OK, let’s remove the project managers’ role from the project team. See what we get.
If it’s a small project, and only one engineer participates in software development, the customer will fix any issue, in theory. Although if a project is complex, there can be more than 5 team members — a business analyst, a UI/UX designer, frontend and backend developers, and QA engineers. The client has to interact with everyone, allocate tasks, and manage the development process. Even more, a business owner needs to dive deep into the stack and technical details of the project, to figure out where is frontend part, and where the backend is. It takes a whole working day while the customer will be figuring out why React is better than Angular to implement the required features.
Sometimes a client understands the role of the project manager in software development only when a project has already begun. For example, we are working over a CRM system for a bank, and our development team consists of two backend developers and a frontend engineer. At the very beginning, the customer wanted to manage the project without a project manager but we convinced him to try project management services for a month. Since then, the PM spent 6 hours every day handling “tiny” tasks that the customer trusted him to do: analyzed requirements, held team meetings to determine priorities, test the product components. Finally, the customer agreed that the project manager's responsibilities are crucial for a software development project. Now we continue to implement the CRM system for this client and our PM became a regular team member.
Project Manager Duties to Remember
A PM has to talk to customers when they need it with respect to their timezone. Besides, the role of a project manager is to choose and explain to the customer which software development methodology would be better for the project — Waterfall or Scrum.
In Waterfall, a project manager defines the subsequent project iterations and evaluates the hours required for each of them. In this case, you never go back to the finished stages. A final product becomes available only at the end of the whole software development cycle. Using the Waterfall principle, we built apps for SDEK: we developed mobile features step by step, first for Android and then for iOS.
In Scrum, there are project sprints, short periods during which some tasks have to be completed and be ready for review. When a sprint ends, a PM can show to a customer a version of the product. We often use Scrum in our mobile projects. One of our projects for Creative Construction related to a mobile app for foodies and together with the customer we chose the Scrum approach to create an MVP. Every sprint took two weeks, where our PM easily set requirements for the tasks and planned the work for the next period.
Also, PMs are responsible for documenting the process through special programs such as Confluence, managing tasks using task trackers like Redmine, Asana, Jira. A project manager is quite important for the development team and at the same time for the customer because he is a single point of contact. He knows how to manage software development without losses, operates with a finger on the pulse of the project, and clarifies the priorities for both sides.
2nd Pillar of Project Management: Project Scope
Customers often ask, “Why do we need a project manager to scope the project?” Here is a simple example. Let’s assume that there are 125 working hours where 100 hours are for development and 25 — for management. If there is no PM, both tasks become the developers' headache. And when questions arise, the developer delays the tasks for code writing, instead, he has to call the product owner and ask for details. So what do you get at the finish line? The project took 125 hours. If at the beginning there would be a project manager, and if every person did the tasks they aim to, the project would take 100 hours including 25 hours for project management duties that were made simultaneously with software development.
When we made the multifunctional app Unleesh for different courses, we finished with testing, and the customer decided to redesign the app and add some new features. Our PM just breezed through this: he stayed in touch with the client 24/7, obtained details, and when the time was running out, he spread the workload in a way that we picked up the pace and built the iOS and Android apps simultaneously. We ended up releasing the web app only three months later.
Project Manager Duties to Remember
A PM plans the work and controls every change that appears during a software development project. Only a good project manager provides your business with a non-stop development process by managing all the issues while developers write the code.
3rd Pillar of Project Management: Quality
Last but not the least, the role of a project manager in a software development project is to keep an eye on product quality. A PM has to manage all the processes to guarantee that QA engineers will test builds — ready code parts — as soon as possible. It can help to catch all bugs on time, not several hours before the release. Also, the project manager checks whether a software product is made in accordance with technical requirements and initiates code reviews to inspect the code for bugs. If it’s necessary, a PM can ask UX designers to verify the design which means testing that menus, controls, widgets, and other elements coincide with the design concept.
Project Manager Duties to Remember
Software development project management is not as easy as it seems. To control product quality a project manager does his best: regularly reviews the technical specification, offers features that improve the result, manages a project team, and if someone faces challenges, reshuffle the priorities.
What exactly are you gaining when you pay for project manager hours?
Do you remember our story about Jacob and his rafting plans? Jacob thought twice, hired a rafting instructor, got past the thresholds, kept all his friends safe, got to the destination on time, and realized that the trip was worth the money.