Project Definitions
What is project management?
Project management is both a form of art and a science. It is the process of utilising specific skills and knowledge to regulate and accomplish the relevant tasks required to complete a project. Four crucial components that can affect the management of a project is the scope, duration, budget, and quality. Creating an appropriate schedule is crucial to a project’s duration and quality. Any problems that arise should be dealt with appropriately, and action should be taken to prevent any potential risks.
All projects must have a start and end date and a clear scope of the project’s requirements. The project scope is a project specification that contains components such as objectives, constraints, budgets, and deadlines.
Examples of IT projects include the development of software applications and the installation of IT systems and networks.
What is the project management life cycle?
The project management life cycle applies the different life cycle stages for any project to be successful. The life cycle assists in decomposing projects to make a project easier to manage. The five stages of the life cycle are the initiation, proposal, execution, administration, and closure of a project. The order in which these stages are implemented will differ between methodologies.
The initiation stage is where the project manager attends a meeting with the client to determine if the project is realistic. A feasibility study is carried out to determine if the project will be successful. The project manager will also discuss the project’s requirements and desired goals with the client. The client will justify their reasons for requesting the project. The project manager identifies the stakeholders (such as the client and end-users) and the resources and equipment required to carry out the project.
The proposal stage is where the project manager produces a project roadmap to be implemented. A work breakdown structure (WBS) is produced, and the project’s goals are determined. A contingency plan is produced to identify the potential risks that may occur during the project. A second meeting is held with the client to discuss the agreed project goals and objectives. A schedule is created, and a suitable methodology is chosen for the project.
The execution stage is where the project manager arranges with the client to discuss the project roadmap and scope. This is also an opportunity for the client to ask questions about the project.
The administration stage is where the project manager administers the project to stay on track. This includes resource management, performing tracking, status meetings, and the adjustment of the schedule and scope.
The closure stage is where the client is satisfied with the outcomes and quality of the project. The project manager arranges a meetingwith the team to review the outcomes and lessons learnt from the project.
Agile is a software development methodology that is heavily based on a client’s feedback to improve the design of a software application. The agile development manifesto consists of four criticalvalues that make up agile development. An example of where this methodology has been applied is a case study of an American finance organisation improving the quality and delivery of its services.
Project Management
Stage 1 is the initiation of a project. This is where the scope of the project is identified. Then, a feasibility study will take place, and the cost and duration will also be estimated.
Stage 2 is the planning of a project. This is where appropriate resources are identified and selected. Then a design of the layout interface is produced. Regular meetings with clients ensure all requirements are met.
Stage 3 is the development of a project. This is the heaviest stage of agile development,whereprogram code is written to develop the software application based on the designs produced in stage 2.
Stage 4 is the execution of a project. This is where quality checks of the software application take place. If errors or bugs are found, action is taken to debug the software application.
Stage 5 is the maintenance of a project. This is wherethe software application is released to the client. The software development team sorts out any updates and bug fixes at this stage.
Stage 6 is the retirement of a project. The software application becomes obsolete or replaced by a modern version.
Benefits of this methodology include higher client satisfaction, flexibility to changes in the software, frequent communication with the client, and developers are focused on accommodating the design if the client requests any changes.
Limitations of this methodology include possibly unclear requirements, risks that may not have been detected in the initiation stage, and the amount of documentation required is less than other methodologies.
- Agile models are focused on sprint cycle format and the team is trying and finishing the tasks in small timeline like 1-2 weeks. The sprint cycles are providing chances to review completed work and client review meeting is also conducted to check for the quality (Khan et al. 2020).
- The team when working with the agile model, the project management adapts the plan through short sprint cycles (Nalendra 2021). When the team is working with this model, existing products are completed in earlier sprint cycles as well as changed directions at right angles if needed.
- Agile development methodology is delivering minimum viable product before completion of the sprints. The project manager is trying to meet with the tight deadlines (Kumar, Maheshwary and Malche 2019). Agile projects are having lack of defined completion time, and by means of using the idea of MVP, the projects are flexible to high prospects on the timeline and project delivery.
- As the project requirements and software specifications are implemented easily, therefore the project is having lack of concluding product idea. The clients are continued to change their mind at development processes, therefore it is difficult to do a long term planning for the project manager.
- The agile model is involved delegation as well as independent works by the project teams. This model has lack of trained team members those are involved in sprint planning (Bhavsar, Shah and Gopalan 2020).
- Documents required for agile model is less and therefore there are unclear requirements of the project to the project team members.
RAD is a software development methodology heavily based on prototype designs and iterations to improve the software application. This methodology is appropriate when a project has a short time frame, such as three months. An example of where this methodology has been applied is a case study of a consulting company requiring an improved version of its software.
Stage 1 is the initiation of a project. This stage of a project is similar regardless of the methodology used. This is where the scope of the project is identified. A feasibility study will take place, and the cost and duration will also be estimated.
Stage 2 is the designing of a project. This is where the developers discuss the design of the software application with the client. Then a design of the layout interface is produced. Regular meetings with clients ensure all requirements are met.
Stage 3 is the development of a project. This is where program code is written to develop the software application based on the designs produced in stage 2.
Stage 4 is the testing of a project. Again, this project stage is similar regardless of the methodology used. This is where quality checks of the software application take place. If errors or bugs are found, action is taken to debug the software application.
Stage 5 is the execution of a project. This is where the software application is released to the client. The software development team sorts out any updates and bug fixes at this stage. If user training is required, the development team will produce a user training manual for the client.
What is project management?
Benefits of this methodology include prompt client feedback, faster development times, and reduced integration issues.
Limitations of this methodology include requiring developers to work fast, automated code to speed up the development process, and the finished result may have bugs that were not resolved during the development stage.
- RAD model is encouraging client feedback as the clients are involved from starting of the project lifecycle. The client can oversee working prototype and they should also provide feedback.
- One of the strength of RAD model is faster development time. As this model is using use CASE tools for automation of the processes of RAD software lifecycle, therefore there is quicker delivery of the project (Dimeska and Savoska 2018).
- From the starting of the project planning, integration is done where the prototypes help to identify potential integration risks. Therefore, it is easier for the users to change if required and the team can incorporate them with the code, and it is supple for possible changes.
- RAD model is dependent on strong team as well as performance of the individuals to identify the business requirements. There is required to have developer to work faster in the development phase of the project.
- One of the weaknesses of RAD model is lack of scalability in final product, and it is achieved if it is designed as full application from starting rather than prototyping (Singh and Kaur 2019).
- The finished results of RAD model are having bugs, which are not resolved at the development stage.
Waterfall is a software development methodology used to develop complex applications such as healthcare systems for the NHS. An example of where this methodology has been applied is a reputable bank improving the quality of its customer banking application. This methodology requires heavy documentation and has limited flexibility as changes to one stage of a project will mean a complete startover of that stage. Therefore, it is essential that each stage has to be completed before it is possible to move on.
Stage 1 is the initiation of a project. This is where the business analyst identifies the scope of the project. Next, adiscussion with the client will occur, and the requirements will be documented.
Stage 2 is the design of a project. This is where appropriate resources are identified and selected. Then a system design is produced. Finally, developers would work with architects to produce functional designs.
Stage 3 is the development of a project. This is where program code is written to develop the software application based on the designs produced in stage 2. Other tasks such as static analysis and code review take place as well.
Stage 4 is the testing of a project. A security testing team undergoes quality checks of the software application. If errors or bugs are found, action is taken to debug the software application. Regression testing is also carried out on the system to ensure its functionality.
Stage 5 is the release of a project. This is where the software application is released to the client. Then, tasks such as installing the application on the correct servers are carried out. At this stage, any updates and bug fixes are sorted by the software development team.
Stage 6 is the maintenance of a project. This is where the software application is released to the client. At this stage, any updates and bug fixes are sorted by the software development and testing team.
Benefits of this methodology include phases that do not overlap, frequent review of the project, and predefined precise requirements.
Limitations of this methodology include unsuitability for projects with unclear or changing requirements. In addition, risks that may not have been detected earlier can throw the entire project off, and the amount of documentation required is exceptionally high.
- Waterfall model is focused on clear and defined steps of the project plan and the structure is simple, therefore the clients are getting precise requirements of the project.
- Waterfall model is committed to end goal and deliverables at starting, and the team can avoid different from the commitment (Khan 2020).
- This model is transforming well information to the project client as each of the project steps is having efficient information transferring.
- Waterfall model is focused on set of steps that can keep the project teams moving forward. The methodology at its traditional form leaves no such changes for an unexpected changes or project revisions.
- As the internal process, the waterfall methodology is to be focused on end users and the client is involved at each phase of the project (Olorunshola and Ogwueleka 2022). The purpose is to help the internal teams to move through the project phases.
Requirements analysisremain very similar regardless of the methodology utilised for a project. This is where the scope of the project is identified. Then, a feasibility study will take place, and the cost and duration will also be estimated. The requirements analysis stage of Agile and RAD usually do not last long in contrast to Waterfall. This is because Waterfall is a very traditional methodology only used for government or military projects. RAD does not place as long on the requirements analysis as the purpose of the methodology is to deliver the project in as little time as possible.
What is the project management life cycle?
Designing the project deliverables remain very similar regardless of the methodology utilised for a project. This is where appropriate resources are identified and selected. Then a system design is produced. Finally, developers would work with architects to produce functional designs. In Agile and RAD, it is possible to go back to the design stage if the requirements change. This gives more flexibility in contrast to Waterfall, where if requirements were to change, it would throw an entire project off, and the project would have to go back to square one.
Development is the heaviest stage of a project, where program code is written to develop the software application based on the designs produced. Other duties such as static analysis and code review take place as well. The development stages of each methodology vary, with Waterfall having the lengthiest development stage and RAD having the shortest development stage. Another factor is the software produced and how complex the code is.
The testing stage means that quality checks of the software application are carried out. If bugs are found, action is taken to debug the software application. This stage is very similar for each methodology, but the type of software application will decide if general testing or extreme testing is required. Waterfall is used for significantly important projects where extreme testing would be required. RAD would require less testing as the goal is to get it to the client even if some bugs remain at handover.
Agile |
RAD |
Waterfall |
Agile model has critical risk for development of the software. |
RAD model has low risk for the software development. |
Waterfall model has high risk for the software development. |
There is a less team member, but they can coordinate with others frequently (Bhavsar, Shah and Gopalan 2020). |
There is increase or decrease of the team size for RAD model as development progresses. |
This model needs large team to start the software development. |
Changes are done after starting of the development processes. |
Changes are possible to do in any project phases (Nalendra 2021). |
Changes are to be done in earlier phase for the software development. |
This approach needs side-by-side development of the units through the parallel sprints and faster delivery of the software. |
RAD model provides earlier software delivery and it seeks feedback to update software when required. |
At the end of the software development lifecycle phase, waterfall model is to be delivered (Bhavsar, Shah and Gopalan 2020). |
Agile model is collection of various projects such as web, desktop, and other types of projects. |
The ideal project type is web based and mobile applications based. |
The ideal project type is on-premise and desktop applications based. |
Agile team is established finished work to customers after each of the iteration phase. |
RAD model works with change in the requirements of the client. |
This model is not compatible with changes in the requirements of the client. |
Agile model is not recommended to develop prototypes while emphasized on development of incremental feature at end of the iteration. |
RAD model is designing prototypes that are refined in the production excellence code (Singh and Kaur 2019). |
Waterfall model is designing prototypes where it is built and tested as per the customer’s requirements. |
Agile model is required testing either it is software testing or general testing (Khan et al. 2020). |
RAD would need less testing as the objective is to obtain it to the customer even if some viruses stay at give up |
Waterfall is used for considerably significant projects anywhere extreme testing would be necessary |
The user requirements of the finance company were to improve the quality and delivery of their financial services program.
Projects roles identified during the project were project manager, development and testing team, and business analyst. First, the project manager thoroughly reviewed the project scope and decided on precise business requirements with the client at the finance company. Next, the business analyst works with the development team to improve the timeline and success rate for the production. Finally, the development and testing team completed all the necessary activities to meet the client’s requirements.
Quality assurance was met by creating workflows and tools to assist in operational maintenance, improving work pace with an agile approach, and reducing the workload for the IT technical support team.
The operational test environment for the deployed project took place on JIRA, a project management software. This allowed the quality assurance team to check for issues with the flow of the project.
The live environment for the deployed project also took place on JIRA. As a result, the project allowed the company to develop faster production rates and better client satisfaction. For example, the rejection rate for work submitted to the QA team dropped from 30% to 5% within six months.
The strength of the project structure of agile development methodology is efficient engagement of the stakeholders when completing of the project (Khan et al. 2020). By collaboration with various stakeholders at each project phase, there is building of dynamic system of trust as well as confidence of the team members and strong relationships among each other.
Characteristics Of Project Management Methodologies
The weakness of this model project structure is that the project team members are difficult to measure the progress since the agile methods are delivering in the increments (Singh and Kaur 2019). It is difficult to implement as the stakeholders are resisting changes.
The user requirements of the consulting company were to develop a program for a client that would allow the client to manage their business for purposes such as invoices.
The project’s roles identified were project manager, development, and testing team. First, the project manager thoroughly reviewed the project scope and decided on precise business requirements with the client for the consulting company. The project manager also worked with the development team to improve the timeline and success rate for the production.Finally, the development and testing team completed all the necessary activities to meet the client’s requirements.
Quality assurance was met by using Ruby on Rails, a server-side web software, to speed up the development process and keep costs low.
The operational test environment for the deployed project took place in the client’s chosen environment. This allowed the quality assurance team to check for the project’s development issues.
The live environment for the deployed project also took place in the client’s chosen environment. The project allowed the company to develop a software application to meet its client’s requirements. A result of this software application is that the company grew and profits increased.
The strength of RAD methodology is that the project structure of this model is task-oriented that allows the project manager to optimize the efficiency of the project team by assigning of the tasks based on specialists plus experience of the project team members.
The weakness is that this model is required high skilled developers or designers for the software development. It is highly dependent on modelling skills of the team members; therefore automated code generation is high (Bhavsar, Shah and Gopalan 2020).
The user requirements of the bank were to develop a banking app for their customer base.
The project’s roles identified were project manager, development, and testing team. The project manager thoroughly reviewed the project scope and decided on precise business requirements with the client for the consulting company. The project manager also worked with the development team to improve the timeline and success rate for the development of the banking app. The development and testing team completed all the necessary activities to meet the client’s requirements.
Quality assurance was met by ensuring the banking app met the client’s requirements and was fully functional.
The operational test environment for the deployed project took place in the client’s chosen environment. This allowed the quality assurance team to check for the app’s performance issues.
The live environment for the deployed project also took place in the client’s chosen environment. The project allowed the bank to release its banking app for its customer base.The bank’s customers were then able to manage their finances from their mobile phones at any time of the day once the app was deployed.
The strength of the project structure of waterfall methodology is that all the project team members are focused on requirements of the client (Bhavsar, Shah and Gopalan 2020). They are working well for the small projects with fixed requirements.
The weakness is that the project team members are not desirable to work for the complex project, therefore there is change in the requirements on frequent basis.
Bhavsar, K., Shah, V. and Gopalan, S., 2020. Scrumbanfall: an agile integration of scrum and kanban with waterfall in software engineering. International Journal of Innovative Technology and Exploring Engineering (IJITEE), 9(4), pp.2075-2084.
Dimeska, K. and Savoska, S., 2018, October. Model of software development using RAD methods and standard ISO/IEC 12207. In Proceedings/8 th International conference on applied internet and information technologies (Vol. 8, No. 1, pp. 48-51). “St Kliment Ohridski” University-Bitola, Faculty of Information and Communication Technologies-Bitola, Republic of Macedonia.
Khan, F.Q., Rasheed, S., Alsheshtawi, M., Ahmed, T.M. and Jan, S., 2020. A comparative analysis of RAD and agile technique for management of computing graduation projects. Comput. Mater. Contin, 64(2), pp.777-796.
Khan, N.A., 2020, November. Research on Various Software Development Lifecycle Models. In Proceedings of the Future Technologies Conference (pp. 357-364). Springer, Cham.
Kumar, R., Maheshwary, P. and Malche, T., 2019. Inside agile family software development methodologies. International Journal of Computer Sciences and Engineering, 7(6), pp.650-660.
Nalendra, A.K., 2021, March. Rapid Application Development (RAD) model method for creating an agricultural irrigation system based on internet of things. In IOP Conference Series: Materials Science and Engineering (Vol. 1098, No. 2, p. 022103). IOP Publishing.
Olorunshola, O.E. and Ogwueleka, F.N., 2022. Review of System Development Life Cycle (SDLC) Models for Effective Application Delivery. In Information and Communication Technology for Competitive Strategies (ICTCS 2020) (pp. 281-289). Springer, Singapore.
Singh, A. and Kaur, P.J., 2019. Analysis of software development life cycle models. In Proceeding of the Second International Conference on Microelectronics, Computing & Communication Systems (MCCS 2017) (pp. 689-699). Springer, Singapore.