Investigating Established And Alternative Systems Development Methodologies

System Development Methodologies Selected

The organization has decided to develop and implement a mobile application that would be synced with the existing system and database. It will allow the resources to access the application using their mobile devices. There are different system development methodologies that are available and can be used to carry out the development activities. The report describes two such methodologies and recommends the one that suits to the requirements in the best possible manner.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

SCRUM

One of the methodologies that can be used for the development of the system for the organization is SCRUM methodology. SCRUM is a sub-set of agile methodology for system development and it is an ad-hoc methodology that is adaptive in nature. It is a methodology that is currently being used by a majority of the business organizations as it provides agile, flexible, and scalable products as the outcome. There are sprints involved in the SCRUM system development in which a new capability is released at the gap of 2-4 weeks. The teams that are involved in a SCRUM project are in the range of team size as 5 to 9 members. There are three primary roles that are defined under this methodology as Product Owner, Scrum Master, and development team (Carvalho & Mello, 2011). There are certain events that are covered under this methodology as sprint, sprint planning, daily stand-up, sprint review, and retrospective. In this methodology, there will be a product backlog that will be prepared in which the requirements associated with the mobile application to be developed for the organization will be stored. The working set for every sprint will be taken from the product backlog and it will be referred as sprint backlog. The development team will take the requirements from the sprint backlog and will execute it in the sprint cycle for providing a working set of software at the end of the sprint. There will be a daily stand-up that will be carried out by the Scrum Master to discuss the sprint progress and plan the activities for the day. These sprints will continue until the product backlog will be empty. Scrum review will be done at the end of every sprint and retrospective will be done at the end of the final sprint (Mahnic, 2012).

Rapid Application Development (RAD) is another system development methodology that the organization can use for the development of its system. It is also a part of the agile family and offers fast project turnaround.

SCRUM

There are phases that are involved in the projects that are carried out using RAD methodology. The first phase is requirements planning phase in which the organization, development team, and the users will come together to discuss the goals of mobile application that is to be developed. The definition of the requirements on the basis of the information received will be done in the requirements planning phase. Testing is one of the crucial activities that are involved in RAD projects and there are multiple rounds of testing that are conducted (Yu, 2011). The second phase is user design in which there is a sub-lifecycle that is involved. This lifecycle of user design phase includes the stages as prototype, test, and refine. The clients and development team will work together in this phase. A prototype will be built by the development team which will be tested by the client and the end-users along with the development resources. The gaps will be refined and the cycle will go on unless the required prototype will be deisgned. The final prototype will then be taken to the third phase in which it will be constructed to a working model. Application development, coding, system & unit testing, and integration testing activities will be covered in the construction phase (Yang, Wang & Yu, 2012). The finishes product will then be implemented and launched in the last phase as the cutover phase.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Benefits

There will be several benefits that will be offered with the application of SCRUM methodology for system development.

  • The new features of the mobile application will be released at the end of every sprint. The product will therefore be released very early in the development cycle which will make it easier for the organization to estimate and understand the associated benefits and revenues (Adi, 2015).
  • Test processes will be carried out at every sprint rather than carrying out the testing activities after the development phase. This will ensure that the systems are free from defects and bugs and the user experience will be enhanced.
  • Increased transparency and monitoring across all the sprints will make sure that the potential risks are identified earlier and the risk management practices are also carried out in accordance with the risks that may have come up (Kautz, Johanson & Uldahl, 2014).
  • One of the most significant benefits that will be offered by using the SCRUM methodology will be enhanced flexibility and scalability. There may be changes required to be done in the mobile application.These changes will be made possible through the SCRUM methodology as the end products will be extremely scalable. The incorporation of the changes will be done with minimal rework.
  • The use of the SCRUM methodology will allow the changes to be made in the scope of the systems; however, the schedule and budget will not be disturbed. Cost control and schedule control will be implemented in the project (Lukasiewicz & Miler, 2012).
  • End-user satisfaction and engagement are placed at top priority in any of the SCRUM projects. The satisfaction level will increase as there will be feedback collected from the organization and the end-users at the end of every sprint.
  • The tasks associated with the development of the mobile application will be broken down in to smaller sets. It will then be easier for the development team along with the organization to manage and handle these tasks.
  • There is a task-oriented structure that is followed in the RAD projects and the application of this methodology will allow the Project Manager to allocate the roles and responsibilities as per the skill set of the employees. The productivity and efficiency levels will automatically improve as an outcome.
  • The overall timeframe that is involved in RAD projects is short. The client will be able to receive the working product in shorter time period (Dissanayake, 2014).
  • There will be regular communication that will be carried out and maintained between the development team and the end-users & client. End- user satisfaction and engagement are placed at top priority in any of the SCRUM projects. The satisfaction level will increase as there will be feedback collected from the organization and the end-users at the end of every sprint.
  • A prototype will be built by the development team which will be tested by the client and the end-users along with the development resources. The gaps will be refined and the cycle will go on unless the required prototype will be deisgned.

There are a few drawbacks that are associated with the SCRUM as well as RAD methodology. These drawbacks will be required to be considered before making a decision on the selection of the methodology for the project.

  • There is no definite end-date that will be set up for the project as it is an adaptive and ad-hoc methodology. The number of sprints and their occurrence will determine the end-date and the introduction of changes in the scope may bring up the situation of a scope creep (Rajasekaran, 2015).
  • It will be necessary to have the resources in the project team that may be self-motivated and disciplined. Otherwise, the productivity levels will drop and the chances of project delays and failure may go up.
  • There are resources that leave the organization during the project lifecycle. In the SCRUM projects, there is a lot of dependency and reliance on every team member and in the case of an employee leaving the organization in between, the nature of impact on the project may be too high.
  • It will be difficult to quantify and measure the project quality unless there is a round of regression testing carried out at the end of each sprint in the project.
  • The success and failure of the project will depend upon the skills and productivity levels of the project team members. It will be necessary to have the resources in the project team that may be self-motivated and disciplined. Otherwise, the productivity levels will drop and the chances of project delays and failure may go up (Viswanathan, 2008).
  • Extremely high dependence and reliance on the modelling skills of the resources
  • There will be several technical tools that will be used in the project for the purpose of development, design, and testing. These technical tools will have technical risks associated with them. The methodology will not be able to function correctly in the case of enhanced technical risks.

The two methodologies, SCRUM and RAD have various differences between each other. These differences have been illustrated in the table below. The point of difference has been included to explain and compare the two methodologies.

Point of Difference

SCRUM Methodology

RAD Methodology

Development and Delivery Time

Shorter delivery cycles and the development time will also be short

Shortest delivery and development cycles

Clarity among the team members

Best

Good

Daily stand-up meetings

Carried out under this methodology

Not carried out as per the guidelines

Shared Workplace

Yes

No

Involvement of testing processes

High

Higher

Work Prioritization

Yes

No

Level of adaptability and scalability

Very High

Good

Level of Reliability

Very High

 Moderately High

Quality Factors

Yes

No

The two methodologies that have been discussed for the project are SCRUM methodology and RAD methodology. Out of these two, the methodology that is recommended for the project is SCRUM methodology for system development. The decision has been taken as the team members under SCRUM will have enhanced clarity levels as compared to RAD. Work prioritization, reliability levels, scalability, and adaptability are also the features that are offered better under SCRUM methodology. The new features of the mobile application will be released at the end of every sprint. The product will therefore be released very early in the development cycle which will make it easier for the organization to estimate and understand the associated benefits and revenues. Enhanced transparency and monitoring across all the sprints will make sure that the potential risks are identified earlier and the risk management practices are also carried out in accordance with the risks that may have come up. The use of the SCRUM methodology will allow the changes to be made in the scope of the systems; however, the schedule and budget will not be disturbed. Cost control and schedule control will be implemented in the project. The changes will be made possible through the SCRUM methodology as the end products will be extremely scalable. The incorporation of the changes will be done with minimal rework. Test processes will be carried out at every sprint rather than carrying out the testing activities after the development phase. This will ensure that the systems are free from defects and bugs and the user experience will be enhanced.

SCRUM is a sub-set of agile methodology for system development and it is an ad-hoc methodology that is adaptive in nature. It is a methodology that is currently being used by a majority of the business organizations as it provides agile, flexible, and scalable products as the outcome. Rapid Application Development (RAD) is a part of the agile family and offers fast project turnaround. It comprises of the phases as requirements planning, user design, construction, and cutover.

References

Adi, P. (2015). Scrum Method Implementation in a Software Development Project Management. International Journal Of Advanced Computer Science And Applications, 6(9). doi: 10.14569/ijacsa.2015.060927

Carvalho, B., & Mello, C. (2011). Scrum agile product development method – literature review, analysis and classification. Product Management & Development, 9(1), 39-49. doi: 10.4322/pmd.2011.005

Dissanayake, N. (2014). Essential Features a General AJAX Rich Internet Application Architecture Should Have in Order to Support Rapid Application Development. International Journal Of Future Computer And Communication, 3(5), 350-353. doi: 10.7763/ijfcc.2014.v3.325

Kautz, K., Johanson, T., & Uldahl, A. (2014). The Perceived Impact of the Agile Development and Project Management Method Scrum on Information Systems and Software Development Productivity. Australasian Journal Of Information Systems, 18(3). doi: 10.3127/ajis.v18i3.1095

Lukasiewicz, K., & Miler, J. (2012). Improving agility and discipline of software development with the Scrum and CMMI. IET Software, 6(5), 416. doi: 10.1049/iet-sen.2011.0193

Mahnic, V. (2012). A Capstone Course on Agile Software Development Using Scrum. IEEE Transactions On Education, 55(1), 99-106. doi: 10.1109/te.2011.2142311

Rajasekaran, V. (2015). Issues in Scrum Agile Development Principles and Practices in software development. Indian Journal Of Science And Technology, 8(35). doi: 10.17485/ijst/2015/v8i35/79037

Viswanathan, V. (2008). Rapid Web Application Development: A Ruby on Rails Tutorial. IEEE Software, 25(6), 98-106. doi: 10.1109/ms.2008.156

Yang, X., Wang, D., & Yu, D. (2012). Development and Application of Four Typical Rapid Prototyping Technologies. Applied Mechanics And Materials, 160, 165-169. doi: 10.4028/www.scientific.net/amm.160.165

Yu, D. (2011). Towards the Rapid Application Development Based on Predefined Frameworks. Journal Of Software, 6(9). doi: 10.4304/jsw.6.9.1795-1804