Adaptive Software Development Methodology And Scrum: Comparison And Recommendation

Adaptive Software Development Methodology

This report is a response to the request made by Odd Jobs Limited manger Colin Grey to shade more light on the knowledge development of information systems using adaptive software development methodologies. The report discusses the adaptive software development methodology indicating its advantages and disadvantages. The report further expounds on two adaptive methodologies Scrum and Extreme Programming, stating the circumstances under which they can be used, their advantages and disadvantages. At the end of the report, there is a recommendation on which adaptive methodology is best for the implementation of the new information system for Odd Jobs Limited.

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

Adaptive software development methodology as the name suggests, adapts to the requirements as development progresses and as the requirement specification widens according to Satzinger, Jackson and Burd (2011). It is incremental in nature; the development starts with small breakdowns of the whole system and accommodates new user requirements as the development process progresses Dingsøyr, Nerur, Balijepally and Moe (2012). For instance, in the new information system, the system is not supposed to cover customer relationship management and salaries but they will be accommodated later in the development process.  

Collaboration. There is a high level of involvement of the users and the clients who will be using the system. The users and clients are engaged during the requirement specification and in the subsequent releases of the system. This ensures that all user and client requirements are captured.

There is early and frequent release of the system. This ensures that all the requirement specification is implemented as stated by the users and the client. The engagement of the users in the releases enables the users to identify the user stories that were not implemented and those that need rectification in the next release.

Compatibility. Adaptive software development methodology is very accommodating, Paetsch, Eberlein and Maurer (2003). It incorporates new requirement specifications as they pop up for instance the customer relationship module that will have to be implemented in future.

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

Adaptive software development methodology is simple. The development of the software or system starts with the immediate requirement specification available as it evolves to a more complex software with more functionalities.

Generation of quality systems. With collaboration of all the stakeholders, the early and frequent releases, simplicity of the methodology and its compatible nature, makes adaptive software development methodology produce systems of high quality.

Adaptive software development methodology requires highly skilled experts to implement the project. These experts cost a lot of money which may not be available.

When developing a system using adaptive methodology, the scope of the project is always evolving and the development team cannot identify when the project is supposed to end. The project development and implementation may take a lifetime.

The development process is user involving, the users at times are not available and other user requirements can be left out. It also consumes a lot of user and client time as they are involved during the system releases and reviews and  left out during system development and implementation

In as much as it accommodates the requirements specified, it is very expensive or costly to implement.

Advantages of Adaptive Software Development Methodology

Scrum is an incremental adaptive software development methodology that divides the whole project development into sprints, according to Abrahamsson, Salo, Ronkainen and Warsta (2017), which are often referred to as iterations. Before each of the sprints there has to be sprint planning where the objectives to be achieved in the sprint are set. In Odd Jobs Limited project the sprints will be the system to capture customer details, the system to capture vehicle details, the system to track movement of the vehicles and the system to generate monthly reports on the jobs.

After each sprint there is a review of the sprint where the development team establishes whether they have achieved the objectives set for the sprint and present work that is complete to the stakeholders. There is also a retrospective of the sprint held to determine: What was a success in the development of the sprint? And what needs to be improved? At this point is when the sprint is released

The stakeholders involved in the development of a software using scrum are Odd Jobs Limited who are the owners of the project, the development team which responsible for the coding of the software and the Scrum Master who is an intermediary between Odd Jobs Limited and the development team and is a coach of the development team.

When the development team consists of experts specialized in different areas of expertise.

When the development team is physically located at one place because of the scrum meeting and interactions.

When the software being developed does not depend on other external modules to be delivered by an external team or developer.

Advantages of scrum

Adaptability. Scrum is an adaptive software development methodology therefore it will accommodate the evolving requirements of the new information system for Odd Jobs Limited.

The daily scrum meeting, as Cervone (2011) states, enables spotting and dealing of problems early enough, to prevent errors from propagating to the next phase of development.

Scrum is tool-independent. It therefore, can be implemented using any programming tool or language during the development of the software.

Generation of quality systems. With collaboration of all the stakeholders, the early and frequent releases, simplicity of the methodology and its compatible nature, makes scrum software development methodology produce systems of high quality.

The team of developers should be very skilled, with each of the team members specialized in different expertise. This makes it expensive to implement.

Scrum methodology does not have a definite scope Sharma, Sarkar and Gupta (2012), which keeps users and stakeholders demanding more and more functionality. This makes it time consuming.

Extreme programming as the name suggests, involves extreme coding Qureshi (2012, pp.358-363) in an iterative manner accommodating the user and client requirements specified in the requirement specification and those that are ever evolving. It involves coding in pairs, testing of the units, negotiations, meetings, testing of the whole system, making iteration plans and release plans for Odd Jobs Limited new information system.  

When the team of programmers is between two to twelve. The project will be a success with a small number of programmers.

When the risk of developing a new system is very high. Extreme programming is put in place to mitigate the risks.

Extreme programming implements extreme testing of the codes during development. There is unit testing and acceptance testing. In unit testing, the development team tests for errors in the module whereas in acceptance testing the team of developers find out whether the users of Odd Jobs Limited new information system are satisfied with the implementation of their requirements.

Adaptability. Extreme programming is an adaptive software development methodology therefore it will accommodate the evolving requirements of the new information system for Odd Jobs Limited.

Change adherence Turk, France and Rumpe (2014). In the development of Odd Jobs Limited mobile web application , the need to have standalone applications to manage vital information may arise, the development team is always willing to listen to the user stories and implement them.

There will be no design and documentation Turk, France and Rumpe (2014) of the requirements of the new mobile web application for Odd Jobs Limited.

Extreme programming requires a team of very skilled system developers, according to Fruhling and Vreede (2006), to implement the new mobile web application for Odd Jobs Limited

Odd Jobs Limited management should choose Extreme Programming adaptive software development methodology to implement the new mobile web application. This is because XP involves extreme programming and testing that ensures no errors propagate and produce high quality software. Scrum on the other hand, has so many restrictions it cannot be used when a team of developers are separated geographically. XP can be implemented with the team of developers being physically separated.

References

Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta, J., (2017). Agile software development methods: Review and analysis. arXiv preprint arXiv:1709.08439.

Cervone, H.F., (2011). Understanding agile project management methods using Scrum. OCLC Systems & Services: International digital library perspectives, 27(1), pp.18-22.

Dingsøyr, T., Nerur, S., Balijepally, V. and Moe, N.B., (2012). A decade of agile methodologies: Towards explaining agile software development. Systems and Software. [online]  Volume 85, Issue 6, June 2012, pp.1222-1238. Available from: https://www.sciencedirect.com/science/article/pii/S0164121212000532 [Accessed 24 September 2018].

Fruhling, A. and Vreede, G.J.D., (2006). Field experiences with eXtreme programming: developing an emergency response system. Journal of Management Information Systems, 22(4), pp.39-68.

Paetsch, F., Eberlein, A. and Maurer, F., (2003), June. Requirements engineering and agile software development. In Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003. WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on (pp. 308-313). IEEE.

Qureshi, M.R.J., (2012). Agile software development methodology for medium and large projects. IET software, 6(4), pp.358-363.

Satzinger, J.W., Jackson, R.B. and Burd, S.D., (2011). Systems analysis and design in a changing world [online]. 1st November 2011. Cengage Learning. Pp.244. Available from: https://books.google.co.ke/books?hl=en&lr=&id=eRQKAAAAQBAJ&oi=fnd&pg=PR3&dq=Satzinger,+J.W.,+Jackson,+R.B.+and+Burd,+S.D.,+2011&ots=ssBzwMrmqW&sig=V8oDy2zbDpXzTdySmbkB565nmsw&redir_esc=y#v=onepage&q&f=false [Accessed 24 September 2018]

Sharma, S., Sarkar, D. and Gupta, D., (2012). Agile processes and methodologies: A conceptual study. International journal on computer science and Engineering, 4(5), p.892.

Turk, D., France, R. and Rumpe, B., (2014). Limitations of agile software processes. arXiv preprint arXiv:1409.6600.