The Integrated Model Using Agile Practices to CBR

Abstract

Agile development methodology works as a bridge, creating a composite control that changes the way of software development tasks. In this study, we have introduced a framework, integrated with artificial intelligence (AI) techniques, agile software development and its practice. The skilled developer is useful for implementing the method according to the reaction of the evaluation framework. The idea of agile and CBR procedure used to improve the current model. This model provides a comprehensive guide to the use of Agile development practices to be integrated with CBR for software development. Agile development methods used by CBR and RBR provide a more efficient and accurate working scenario. Case based reasoning is just the domain limited number of cases, while rules based reasoning is the technique of the generic and specific rules of the issue. Experts give feedback about the framework and they are satisfied with the functioning of the framework. The framework and its results were evaluated by the domain experts and case studies.

Share and Cite:

Khalid, F. and Ahmed, I. (2017) The Integrated Model Using Agile Practices to CBR. Journal of Software Engineering and Applications, 10, 422-431. doi: 10.4236/jsea.2017.105024.

1. Introduction

In the last two decades, a number of development tools have been introduced for software development as well as the emergence of the field. However, many of them were too prescriptive documentation required a lot of flexibility [1] . There is a growing need to develop methods for rapid, lightweight, and flexible application. Software grows on fast delivery. The concept of agility meets the requirements, highlighting frequent iterations for development, small emissions, considering the need for changes to the requirements, and direct communication with customers to participate in the development process. A group is full of ways to follow the principles of agility. Many developers considered such methodologies to be the best thing that ever happened to software development in recent years. Ingenious strategy (agile practices) had been considered to be successful in many cases. Previous studies have shown that organizations have achieved benefits using Scrum [2] . Security gained popularity in the last decade of agile software development [3] . Spiral includes traditional approaches, etc. Planning of software for these models heavyweight, hard coding for reuse, complex consists of the design of the interface documentation. On this basis, the development of methods is often called the heavyweight of the traditional approaches. Agile software development methodology is characterized by the following attributes: extensive, easier and more acceptable means for small versions of the software and rapid growth cycles. Easy and effective communication between client and developer is appreciated. Finally, the device will empower and respond to rapid changes within time [4] . The methodologies originally embraced The Agile Alliance were Adaptive Software Development (ASD), Crystal, Dynamic Systems Development Method (DSDM), Extreme Programming (XP), Feature Driven Development (FDD), and congestion. The CBR (the Protocols) is used to assess the cases referring to the development process. It consists of four major steps (CBR cycle) [5] :

1) Recover the most similar case or group of cases.

2) If there is a perfect match, in this case, the information and knowledge can be reused. Reuse solution to solve the problem is in question.

3) If reviewing, it is a perfect match to cope with cases similar to the case of the most appropriate or by group.

4) If you stop and troubleshoot experience or recoveries in the future, and then to maintain or store, you will have learned from the case of the newly-up- dated database, saving the case.

Amnesty Meziane techniques, used in large-scale breakthrough in Southeast assessment of the need for more research, are needed to understand the value of different approaches that have been recommended. Many studies have shown it is very useful in software development planning and the use of specific CBR. Scrum is a good example of the agility due to its simplicity and versatility [6] .

2. Literature Review

Research articles have been written on Software Development processes and on Agile Software Development process; a few of them are discussed below. Scrum and XP have been adopted in software development industry since many years but a few limitations are still there. Flexible selection of a suitable method for the development of a project can be a difficult decision. If the developers take such a decision, based on intuition alone can lead to serious difficulties in the wrong factors. Research in this area of agile methods for the adoption of this subject surveys to determine the factors driving has been carried [7] . Emphasizing the key project management, Scrum, but still a software engineer does not fully explain the role. Our research aim is to provide a model to support such problems. Scrum focuses on professional capacity and in general all the time committed professionals are rarely found. Agile methods are iterative and evolutionary approach subset [8] and are based on accompanying the development process, iterative improvements and product iterations. Iteration is independent, mini-projects and activities that include requirements analysis, design, implementation and testing. Customer determine its needs for the next adaptive based on the observation of product development, rather than speculation in the project start version. Project success is based on budget, time and all intended aspects according to Standish Group [9] . Agile development method guarantees that proficient and rapid management of new requirements, the whole business hazards and all changes can be adjusted. Agile methods certify that new changes and developments are documented properly, authorized, planned, highlighted, recorded, assessed, verified, employed and validated in a disciplined way. Agile Methods include software improvement procedures that have come to be famous throughout previous few years [10] . Developers perform a vital part to deliver software quicker, with accordance of high excellence, and gratify the needs and high prospects of consumer through its elastic doctrines of the pofabrication to software expansion. Agile is unimportant People-based, various popular agile tactics are available but in portion many similar ideas as well as numerous methods are similar but differ in execution viewpoint. A few abridged descriptions for methods have been given below:

o Extreme Programming (XP)

o Crystal

o Lean Software Development

o Scrum

o Feature-Driven Development (FDD)

o Dynamic Systems Development Method (DSDM)

o Agile Modeling

o Agile Unified Process(AUP)

o Lean

o Kanban

o Custom Hybrid

o Scrumban

o Scrum/XP hybrid

Case Based Reasoning in Knowledge Management

A portion of the case-based reasoning system of knowledge-based systems is designed to mimic human problem solving is an artificial intelligence-based system. Therefore, in principle, it reuses the old experiments to understand and solve new problems. We have the following main points of the selected rule-based system or machine learning systems and other knowledge-based systems, such as over CBR. Rule-based system of working with domain experts based on a set of rules that need to be accessed by the engineer.

3. Proposed Model

Integrate model is presented in Figure 1. This model consists of two layers.

Figure 1. CBRSBX-framework.

Scrum layer, scrum based XP layer and CBR layer with RBR.

Firstly, scrum based xp layer have artifacts are involved to every activity of scrum. The basic starting Scrum process is one of the most basically used iterative and Agile view i.e.; Vision, Product backlog. Most Scrum machine is stored in the product backlog.

Likewise, while sketching this idea one should save namely the focus on business strategy, cost benefit, degree of reusability and provide accurate look and benefit out both the end customer and the team. Vision has directly connection to the case database. Customers requirements gathered and the task of product backlog are divided into small tasks and tasks are given to the team, architectural design is made by the designer. This design sends to the developers. Pair programming help the developer to save change because one person is doing developing, while the other is built up cases for test purpose to control the quality of product and the error are find out and eradicate as early as possible.

Than system deliver to end users. It comprises the training of the user comprising a user letter, post-testing to ensure conversion needed to control the quality and assessment, monitor and refactoring has been checked. The development cycle is closed, if all requirements fulfilled and the product is equipped for producing. This model would include reuse factor. For this purpose, we chose Artificial Intelligence (AI) techniques: Case-Based Reasoning (CBR). CBR equipped with Scrum. Vision in the form of Unified Modeling Language (UML) use case diagram is CBR placed on the case. Similarly, in order results and solutions product will be saved in CBR in the future may be reused if the same concept, and the time came for Development.

In case base reasoning a first step, more like the case or groups cases recover. In the second step, information, knowledge, and the solution provided to solve the issue at hand at this time the rules are applied that already stored in the rule base, reuses if a perfect combination. The third step is the review and approval of the most similar case or group of cases as the appropriate return if a perfect match. It has not been found. In the fourth and final stage, cases are retained or saved for the new experience or box for future recoveries and problem solving, and make a fuzzy combination. On the basis of combination decision is made for the confirmed solution and the case base is updated by saving recently learned or built a new case. With the help of rule base, the case base provides more authentic result with in short time.

4. Evaluation of Framework

This framework has been implemented for software development. Questionnaire feedback was used for the evaluation of software development with implementation of CBR-SBX Framework. Feedback was taken from:

Ø Product owner

Ø Team member

Ø Scrum master

Ø Stakeholder

Ø Quality control manager

Evaluation factors were:

Ø Use of tools

Ø Ease of use

Ø Flexibility

Ø Efficient

Ø Clear Representation of information

Ø Knowledge management

We have dealt with cases in which we examine the efficiency and effectiveness of the proposed study framework, through an expert opinion based on these factors in evaluating the results. We have taken the experts reviews about the CBR-SBX framework and about waterfall process and compared both results. It was evaluated that CBR-SBX framework was batter then waterfall. Two methods were used for the evaluation of proposed framework to show its effectiveness and its impact in the organization using CBR-SBXF.

4.1. Case Study

We have implemented our framework in an industry to develop CBR-SBX system. By following all phases of proposed CBR-SBX framework, the system was developed. It was evaluated that when SBX was used instead of traditional software development methodology, the system was developed in small iterations with constant feedback from stakeholders, and changes have been made at each iteration according to the demand of stakeholders. There is less chance of system failure because the system has been developed in small iterations and stakeholders involved during the development of the system. If they want to change, at any stage, it was included with proper validation criteria.

In the research, it has been reported results by doing the review expert to use CBR-SBX framework in a program on a case study. Experts who gave reviewed about framework 18 - 20. With 5 - 8 members (product owner, stakeholders, scrum master, team members) while 3 - 5 were a project manager, team leader and control quality engineers. By the opinion of the experts in the issues numbered such as:

・ Does the Agile Practices improved by using CBR and the integrating XP with scrum?

・ Does the model provide ease of adoption?

・ Does the model reduce time?

・ Does the model reduce cost?

・ Does the model provide efficiency?

・ Does the model reduce the time of development by use of CBR?

・ Does the Model provide the feature of reusability?

・ Does the model manage requirement change management?

4.2. Questionnaire Feedback

We circulated a questionnaire to 18 industrial experts in organizations to take reviews. We took the opinions of experts about the proposed framework after implementation. For this purpose, questionnaire had been designed for evaluation of factors and disseminated to different concerned experts in organizations in which framework was implemented. We found satisfactory response about the developed framework. Responses are shown in Table 1. We also took reviews about existing methodologies shown in Table 2 then we compared both results revealed in Table 3.

The results have also been shown in the form of graph. Many experts agreed with proposed frame work CBR-SBXF. Some of experts are strongly agreed and

Table 1. Tabular representation of experts’ opinion about CBR-SBX framework.

Table 2. Expert review about water fall base system.

Table 3. Commutative result.

some are partially agreed as they said there is a need for improvement in the framework and some experts did not share any sort of experience. Overall results of proposed CBR-SBX framework assessment factors in the form of graph are shown in Figure 2 Results of existing methodologies shown in Figure 3 and their comparison shown in Figure 4.

Figure 2. SBX system expert’s reviews.

Figure 3. Water fall base system expert’s reviews.

5. Conclusion

The research presents a framework that helps to develop a web-based system

Figure 4. Comparison of waterfall and SBX system.

by applying Scrum based Extreme programming incorporated with case-based reasoning technique. Current systems are being developed using Waterfall approach which possesses some defects. For overcoming those flaws, agile process Scrum based Xp programming is used to develop a web-based system. When SBX process is applied to develop a web-based system, small iterations by means of stakeholders’ continual feedback and at every iteration changes are made through stakeholder request. As the web system requires instant and small changes, the web system is developed in small iterations. Opportunity for failure is lower because the system is developed in small iterations and stakeholders continually to be involved if they require any change in any of the stages; it is included and throughout the development, system is validated by customers to reduce the failure rate.. Built logics are saved in case base that help to make solution easier for a particular problem. In addition, the survey was conducted to trigger important information about the ways in industry and special software, procedures and methods, and compatibility to improve the efficiency of integrated software framework.

6. Future Work

We will compare our framework with other traditional software development methodologies. Comparison with other framework may have various results. We will also implement our framework in large projects in Government sector.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] Mahapatra, R., Mangalaraj, G. and Nerur, S. (2005) Challenges of Migrating to Agile Methodologies. Communications of the ACM, 48, 72-78.
https://doi.org/10.1145/1060710.1060712
[2] Pressman, R.S. (2010) Software Engineering. R. S. Pressman & Associates Inc., Coral Springs.
[3] Dingsoyra, T., Nerurc, S., Balijepallyd, V. and Moe, N.B. (2012) A Decade of Agile Methodologies: Towards Explaining Agile Software Development. Journal of Systems and Software, 85, 1213–1221.
https://doi.org/10.1016/j.jss.2012.02.033
[4] Pekka, A., et al. (2002) Agile Software Development Methods: Review and Analysis. VTT Publications 478, Espoo.
[5] Zaigham, M. and Qureshi, M.R.J. (2012) Novel Hybrid Model: Integrating Scrum and XP. International Journal of Information Technology and Computer Science, 4, 4-6.
[6] Sheuly, S. (2013) A Systematic Literature Review on Agile Project Management. Master’s Thesis, Lappeenranta University of Technology, Tampere.
[7] Williams, L. (2012) What Agile Teams Think of Agile Principles. Communications of the ACM, 55, 71-76.
https://doi.org/10.1145/2133806.2133823
[8] Larman, C. (2004) Agile and Iterative Development: A Manager's Guide. Addison-Wesley Professional, Boston.
[9] Dorette, J.J. (2011) Comparing Agile XP and Waterfall Software Development Processes in Two Start-Up Companies. Master’s Thesis, Chalmers University of Technology, Gothenburg.
[10] Kumar, A. and Goel, B. (2012) Factors Influencing Agile Practices: A Survey. International Journal of Engineering Research and Applications, 2, 1347-1352.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.