Software Maintainability Estimation in Agile Software Development

2018 ◽  
Vol 9 (4) ◽  
pp. 65-78 ◽  
Author(s):  
Parita Jain ◽  
Arun Sharma ◽  
Laxmi Ahuja

Agile methodologies have gained wide acceptance for developing high-quality products with a quick and flexible approach. However, until now, the quality of the agile process has not been validated quantitatively. Quality being important for the software system, there is a need for measurement. Estimating different quality factors will lead to a quality product. Also, agile software development does not provide any precise models to evaluate maintainability. Therefore, there is a need for an algorithmic approach that can serve as the basis for estimation of maintainability. The article proposes an adaptive neuro-fuzzy inference system (ANFIS) model for estimating agile maintainability. Maintainability is one of the prominent quality factors in the case of agile development. The proposed model has been verified and found to be effective for assessing the maintainability of agile software.

2022 ◽  
pp. 1002-1017
Author(s):  
Parita Jain ◽  
Arun Sharma ◽  
Laxmi Ahuja

Agile methodologies have gained wide acceptance for developing high-quality products with a quick and flexible approach. However, until now, the quality of the agile process has not been validated quantitatively. Quality being important for the software system, there is a need for measurement. Estimating different quality factors will lead to a quality product. Also, agile software development does not provide any precise models to evaluate maintainability. Therefore, there is a need for an algorithmic approach that can serve as the basis for estimation of maintainability. The article proposes an adaptive neuro-fuzzy inference system (ANFIS) model for estimating agile maintainability. Maintainability is one of the prominent quality factors in the case of agile development. The proposed model has been verified and found to be effective for assessing the maintainability of agile software.


2017 ◽  
Vol 27 (4) ◽  
pp. 777-783 ◽  
Author(s):  
Shubham Rawat ◽  
Nupur Goyal ◽  
Mangey Ram

AbstractThe frequent incremental release of software in agile development impacts the overall reliability of the product. In this paper, we propose a generic software reliability model for the agile process, taking permanent and transient faults into consideration. The proposed model is implemented using the NHPP (non-homogenous Poisson process) and the Musa model. The comparison of the two implementations yields an effective, empirical and reliable model for agile software development.


ACTA IMEKO ◽  
2019 ◽  
Vol 7 (4) ◽  
pp. 3
Author(s):  
Ionut Andrei Sandu ◽  
Alexandru Salceanu

<p class="Abstract"><span lang="EN-US">In an ideal Agile Development Team, defects should not exist. But in reality and especially in Automotive Agile Software Development, we need to have a mechanism for defects handling and tracking to closure. In this paper we describe the benefits and principles for measuring the defects handling metrics in automotive programs and organizations which adopted Agile SW Development. We are presenting the Iteration Containment Effectiveness, Program Increment Containment Effectiveness and Defect Debt Trend metrics. The acquired advantages are demonstrated by a detailed example of real application on how to measure the classical Phase Containment Effectiveness metric on Iteration (Sprint) and Program Increment (Scum of Scrums / Scaled Agile) Level. This paper is an extended version of the original contribution to the IMEKO TC 4 2017 symposium in Iasi, Romania.</span></p>


Author(s):  
Vinay Kukreja ◽  
Amitoj Singh

In the globalization of fast changing business and technology environment, it becomes very important to respond quickly to changing user requirements. Traditional methodologies are not appropriate for the projects where user requirements are not fixed. Agile methodologies have been developed to cope up with user changing requirements and emphasize more on working software and customer collaboration. Agile is an umbrella term and it is used for many software development methodologies which shares common characteristics. This chapter mainly focuses on the working methodology of agile development and the usage areas of industry where agile development is implemented. Agile software development is difficult in distributed environment as the team members are at distributed locations. This chapter discusses agile industry applicability enablers which are useful for agile software development in distributed environment.


Author(s):  
Torstein Nicolaysen ◽  
Richard Sassoon ◽  
Maria B. Line ◽  
Martin Gilje Jaatun

In this article, the authors contrast the results of a series of interviews with agile software development organizations with a case study of a distributed agile development effort, focusing on how information security is taken care of in an agile context. The interviews indicate that small and medium-sized agile software development organizations do not use any particular methodology to achieve security goals, even when their software is web-facing and potential targets of attack. This case study confirms that even in cases where security is an articulated requirement, and where security design is fed as input to the implementation team, there is no guarantee that the end result meets the security objectives. The authors contend that security must be built as an intrinsic software property and emphasize the need for security awareness throughout the whole software development lifecycle. This paper suggests two extensions to agile methodologies that may contribute to ensuring focus on security during the complete lifecycle.


2009 ◽  
pp. 2680-2699
Author(s):  
James F. Kile ◽  
Maheshwar R. Inampudi

Of great interest to software development professionals is whether the adaptive methods found in agile methodologies can be successfully implemented in a highly disciplined environment and still provide the benefits accorded to fully agile projects. As a general rule, agile software development methodologies have typically been applied to non-critical projects using relatively small project teams where there are vague requirements, a high degree of anticipated change, and no significant availability or performance requirements (Boehm & Turner, 2004). Using agile methods in their pure form for projects requiring either high availability, high performance, or both is considered too risky by many practitioners (Boehm et al., 2004; Paulk, 2001). When one investigates the various agile practices, however, one gets the impression that each may still have value when separated from the whole. This chapter discusses how one team was able to successfully drive software development quality improvements and reduce overall cycle time through the introduction of several individual agile development techniques. Through the use of a common-sense approach to software development, it is shown that the incorporation of individual agile techniques does not have to entail additional risk for projects having higher availability, performance, and quality requirements.


2017 ◽  
Vol 10 (13) ◽  
pp. 143 ◽  
Author(s):  
Jayasudha R ◽  
Viswanathan V ◽  
Shanthi P

The concept of reuse is applied in one of the agile development methodologies called the scrum. Sprint is a single functionality and the result at the end of the sprint functionality is derived as the shippable or bugs. This paper makes an attempt to use the concept of reuse in the agile software development to meet the dynamic change of customer requirements in banks. A banking project is created using both waterfall model and scrum model, and the knowledge gained is stored in the ontology-based repository for the first time. Again, the same project is created for different vendors using the ontology-based repository. The result shows that maximum sprint is reused and all the knowledge gained is stored in the form of ontology. This ontology helps identify the shippable component of each sprint which is a small executable functionality. This leads to less cost and time to deliver the product. The main aim is to increase the availability of the reusable artifacts, which lead to increase the reusability of the developer. The experimental results show improvements in the performance of retrieving the components for the software development.  


Author(s):  
Zainab Rustum Mohsin

Modeling software development effort estimation models has been a hot research topic over the last three decades. Numerous models were proposed in these decades to predict the effort. The key challenges for future software development is providing accurate software estimation. Failure to acknowledge the accuracy of effort estimation can cause inaccurate estimation, customer disappointment, and poor software development or project failure. This research presents a novel computational technique, named adaptive neuro-fuzzy inference system (ANFIS), for the modeling of software effort estimation. It was developed utilizing the Constructive Cost Model (COCOMO) dataset. The data were randomly divided into two sets: 83% for training and 17% for testing. The mean magnitude relative-error (MMRE) and the coefficient of correlation (R) were used as assessment indices. Results showed that the accuracy of the proposed model is quite satisfactory in comparison with actual values. Moreover, a comparison study was conducted with another approach. The results showed that ANFIS produced better results in comparison with Function Point Analysis, Software Lifecycle Management, and COCOMO methods. ANFIS was found to be a potential predictive model for software development effort estimation.


Sign in / Sign up

Export Citation Format

Share Document