IS PROJECT MANAGEMENT IMPORTANT IN SOFTWARE DEVELOPMENT?
No matter if you build software, a pyramid or the Great Wall of China – when you want to create something big, you need good project management. Without this, you will probably not be able to achieve your goals. Why?
Your resources (like your technical workers skills and experience) are very important. However, you need to know how to use them efficiently. Programmers may not understand your client’s needs. They focus on their tasks and concrete objectives. That’s why there should be someone between these two different worlds. Someone who will know how to “translate” clients’ wishes into language programmers will understand, someone with some experience in understanding customers.
Have you always been wondering how people meet deadlines? Would you like to increase your development team’s productivity? Hire a software project manager and you will sleep quietly for the rest of your life.
SHORT HISTORY OF PROJECT MANAGEMENT
You may be surprised that this field had its beginnings way back in 1896, when Polish economist Karol Adamiecki first created “harmonogram” – work harmonization – introduced as a graphical chart. Some years later Henry Gantt presented his enhanced version of a scheduling diagram – known nowadays as a Gantt chart. This method is consistently popular and used to track project schedules. Did you know that a Gantt chart was also used for designing ships for World War I?
In 1957, the Critical Path Method (CPM) was invented. It is a popular technique, which estimates the time needed to accomplish each activity. The Critical Path Method helps to plan and control routine processes because it determines critical and non-critical tasks. For example, it shows you which activities can be delayed and for how long, without affecting the overall project. CPM is mainly used to evaluate the minimum time that is required to finish the project.
In 1969, the Project Management Institute was established in order to promote the project management profession.
Have you ever heard of the Waterfall Method? We’ve already written more broadly about this approach to software development here. It became popular in 1970. Basically, according to the waterfall model, software development is a very long, difficult process. In some cases it took years to get software ready to launch and a documentation had hundreds of pages. It meant that programmers must stick to rules that were set in advance, even if a market changes. From the management point of view, each phase must be finished before you start the next stage and you can’t go back, even if there is such a need.
The next major movement and change of perspective on software development management was a year 1986, when Scrum was presented by Hirotaka Takeuchi and Ikujiro Nonaka in the Harvard Business Review titled “The New Product Development Game.” Scrum is an agile project management framework. Its main objective is to respond rapidly, efficiently, and effectively to change. I guess you’re wondering what “agile” means. Keep reading.
In 2001, a group of 17 IT specialists drafted the Agile Manifesto. According to this, the process of software development is divided into small parts, called “sprints”. At the end of every phase, everything is tested and consulted upon with a client’s representative. It is the perfect moment for a client’s feedback concerning possible changes and improvements. In the agile approach, programmers focus on building an excellent working software, not just a product adjusted to specifications. We have already written more about the history of agile development.
Another important moment was in 2008, when SaaS-based apps became very common in project management. Basically, this model enables you to manage projects virtually, in a cloud environment, without a need for meeting in person. It means you can access important information from any location or device. SaaS-based apps deliver a comprehensive toolbox for managing projects from the beginning to the end, for example: it tracks bugs and budget, monitors changes, enables communication by live chat and online conferences and manages tasks and resources.
WHY IT’S CRUCIAL TO HIRE A PROJECT MANAGER WHEN DEVELOPING SOFTWARE
So you’ve already gained some basic knowledge regarding project management development. Now, let’s explain why hiring a project manager is the important part of building successful software.
Your developers are undoubtedly clever and smart. However, they need someone who will be their… lighthouse that shows them a good direction. Thanks to a project manager, they will be able to divide up and approach their work in the best possible way. You need someone who will coordinate the work of many technical specialists like coders, UX and UI designers, testers and analysts. A project manager will facilitate the communication among them. It will definitely speed up the whole process.
PROJECT SCOPE AND RISK MANAGEMENT
“Could we add one more feature please??” – how many times did you hear this while being in the middle of software development? If you are “agile” – you will definitely be open to making changes. But it’s not that simple. Keep in mind that your resources, budget and deadline will change too. That’s why there should be someone who will constantly control everything.
When something unexpected happens he needs to find the right solutions and minimise any damages. Developers will not be responsible for these activities.
A project manager keeps an eye on deadlines. That’s why he can be very convincing while motivating the team. He will help them determine priorities, set goals and finish the project on time. Remember, that for many clients delivering the project on time is the main factor, on which they judge if the project was successful or not.
One of a project manager’s obligations is to ensure that the final outcome is of good quality. Moreover, he needs to prepare all the documentation related to project. They are responsible for compiling a final report, which is very important for the client, because it helps him understand what was done, step by step. Comprehensive documentation should include all necessary reports and project history. This will involve a description of all tasks, changes, and recommendations for the future. Project managers will always keep the clients up-to-date.
In our opinion, the presence of a project manager is essential when developing software. It will definitely facilitate every stage of a development – from the very beginning to the end. Do you think that the Colosseum, the Pantheon or the aqueducts of Ancient Rome could have been built without a great project manager? We don’t think so. Good project management will not only make your team’s and client’s life easier, but also will result in a successful project.
What about you? Do you have project managers in your teams? Share your opinion with us in the comments!