Software development process requires a methodology that will be followed in order to have well thought-out plans and software. Software development processes is big enough so that it needs to be done with a systematic process. There are many methodologies that have been developed to be used in the development of software. In case large software systems are to be developed, there will be a need to have a process and a plan that will be followed in the entire process. This paper will focus on two software development models that are used in the development of a large software systems (Cotugno, & Messina, 2014).
Managing the software development using Scrum
Using the scrum process, it will be incremental as new components will be added to the system. With the use of scrum, a small bit of the user interface, database and web-based system will be developed. The user interface will be used to access the desk-top versions of the system. The database will be used to store the student data. The web-based portal will be used to access the system. The three modules can be developed in piecemeal procedure where, for example, a web-portal will be added some features. After some time, there will be the addition of some other features. The addition of some of the features will be done in a span of two to four weeks.
In this approach, the users will start using the system as it is being upgraded. The system will make use of the system which has been put in place. There are basic components which have already been put in place.
Managing using plan-based approach
In this approach, a plan will be used to have the whole system in place after some time. The whole project will be delivered after a given time. The users will not be able to use the system until after the system has been completed. If there is a major upgrade that will be done, it will be done after there is an understanding of the system and what needs to be done in the entire process.
How to address the challenges in scrum
One of the challenges is the unwillingness of the team members to continue on the project. With the need to have changes and upgrades done regularly, it is important to have issues and procedures that will be useful in the entire process. It would be important to have a team that is ready to have the system no matter what will take place with the use of the team.
Another challenge is that there will be interruptions by the senior management because they will be asking about the status of the project from time to time. This problem will be solved by ensuring that the senior management are involved in the analysis stage. It will help to ensure that the users are able to have the necessary changes and the needed aspects of the project management (Pathak, Pateriya, & Pal, 2012).
Another challenge is that there are technical problems that are involved in the process of working on the project. There are no best practices that have been developed in order to have piecemeal development. One way in which this can be done is to have a discussion with the heads of the various departments in the university on a way forward that will enable the system to be developed and achieved in piecemeal procedures.
Addressing the challenges of plan-based approaches
One of the challenges is that the technology might change after the project has come to an end. Because of the need to have the whole system completed before it is used, one challenge is that the project might stall because of financial constraints. The challenge of the project stalling can be addressed by understanding the approach and the need to have a different approach in the whole process.
Evaluation of the two approaches
The two approaches of software development have their effectiveness. The two approaches will have to be done and assessed basing on different merits.
Planning the allocation of people to the project
In planning the allocation of people to project, plan-based approach is more effective than scrum. It is because in plan-based approach, the entire project is known and the planning of the people in the different aspects of the project will be achieved easily.
Maintaining team cohesion
In maintaining the team cohesion, it will be easier to be achieved with the use of plan-based approach than scrum. It is because people will work together for the entire project and will want to stay put to the end of the project than to work on smaller parts of the project (Taibi, D., Diebold, & Lampasona, 2013). Managing changes in project team membership
The management of changes will be done better with the use of scrum. The piecemeal development of the system will give a chance to the changes that the users will want to be incorporated to the system. The plan-based approach is not effective when integrating changes to the system.
Cotugno, F. R., & Messina, A. (2014). Adapting SCRUM to the Italian Army: Methods and (Open) Tools. In Open Source Software: Mobile Open Source Technologies (pp. 61-69). Springer Berlin Heidelberg.
Pathak, S., Pateriya, P., & Pal, P. (2012). A Case Study on Software Development Projects in Academic Knowledge Centers using SCRUM.International Journal of Computer Applications, 43(10), 20-24.
Taibi, D., Diebold, P., & Lampasona, C. (2013, October). Moonlighting Scrum: An Agile Method for Distributed Teams with Part-Time Developers Working during Non-Overlapping Hours. In ICSEA 2013, The Eighth International Conference on Software Engineering Advances (pp. 318-323).