The approach of PM in software design makes us categorize it into two distinctive methods, namely Agile and Waterfall. Both these methods are predominantly used for project monitoring and control. However, the selection of either method will depend on various project-centric factors.
Waterfall Method
The Waterfall Method is a linear approach to software design that completes each part of the project in a sequential manner. Each stage has its own distinct goals and once these are met, the project moves on to the next level. The problem starts in the Waterfall Method when it is necessary to make any changes. As per the waterfall analogy, once the water has gone over the edge, you cannot get it back.
The only way to address the problem is to go back to the problem and look for a new solution. This linear approach is one of its strengths and enables each module of a project to be handled separately from one another and with different teams if necessary. This allows greater control over the project, and if each stage is delivered on time within the overall limits, the project itself will be completed on time.
Requirements for projects using the Waterfall Method need collection of all the business requirements which are then assessed by the project team and priorities set for the things that have to be present in the project. Then the business requirements have to be translated into a solution that takes care of the IT aspect. Technologies have to be finalized depending on the infrastructure that the client has or is willing to put in place. Online processes and workflows have to be defined and the entire solution has to be laid out before it can be transferred to the programmers for the codification.
Once the solution is in place, it has to be tested and implemented. Successful completion of this stage of the work now requires it to be passed on to the client in the form of training his staff for the use of the IT solution. This will lead to the end users evaluating the project and identifying any problems that they have with it. If there are gaps that need to be filled up, it may need the IT team to go back to the beginning again.
Agile Method
There are low overheads in the Agile Method as software engineers focus on areas of work that are smaller. Individuals and their interactions are given precedence over processes and tools. Customer collaboration is given supreme attention, and software that is working is given priority over any documentation. Changes are responded to immediately in place of following a plan of action. All this allows the agile method to be very adaptable whereas other methods are more known for their predictability. Permissions are replaced with a more lenient view of any mistakes made. The project is not based on defined methods and sets up methods as it goes along. 
In the Agile Method, communication between customers and the members of the project team is very vital and essential. The basic designs are kept simple and clean, and feedback starts immediately – as does software testing. This enables the project to be implemented early as changes are made immediately to any part of the project that requires it.
Waterfall Method or Agile Method?
Deciding on the method to be used for implementing an IT solution will depend on the size of the project and the technology being used. For C++ projects, the Agile Method is more suitable because the programming language is object orientated and therefore each object can be separately programmed and tested as a separate module. The Agile Method also allows the product to be launched after each stage and, thus, allows extensive testing of each stage. This eliminates bugs in later stages also as these would have been caught in the testing of the earlier stage and eliminated, and the solutions to remove them can be used in all new modules being designed.
In the Waterfall Method, the testing is only done when the completed product is ready and any changes that need to be made as a result means literally rewriting the program. The Waterfall Method can be used when interaction with the customers is limited and instructions for the processes are very clear.
Image Credit: Wikimedia Commons