Abstract is directly dependant on the completeness
AbstractThe research paper is designed to analyze the metrics ofquality assurance of a software developed using Agile Methodologies. AgileMethods include Extreme Programming (XP), SCRUM, Feature Driven Development andCrystal Methods. There have been frameworks made to enhance the qualityassurance procedures for Extreme Programming and SCRUM Methodologies but thereis inadequate research on such methods for Feature Driven and CrystalMethods. In this paper, an effort has beenmade to come up with a framework for the quality assurance of softwaredeveloped using Feature Driven Development and Crystal Methods.
The frameworkincludes analysis of processes and work products of the methodologies andpresents a systematic view of how quality assurance can effect and enhance thesoftware developed using Feature Driven Development and Crystal Methods. Theoutput of the research paper is a procedural framework which would assist inenhancing quality assurance in Feature Driven and Crystal Methods SoftwareDevelopment. Keywords: Agile Methods, Feature Driven Development, CrystalMethods, Extreme Programming, SCRUM, Software Quality Assurance, Processes,MetricsIntroductionBackgroundSoftware Quality is the extent to which a software system,its component, process, framework, or methodology meets a specified requirement1. Software Quality is primarilyconcerned by the time required to produce the project, degree of satisfactionof the customer which is directly dependant on the completeness andaccurateness of the deployed requirements, and the cost it has taken to developsuch a software system.
Software Quality Assurance in turn analyses and confirms that the three basic points of thesoftware are met with closest possible satisfaction level. Quality has been defined by many scientistsand some of the definitions are as follows: Webster has described Quality as”The totality of features and characteristics of a product or a servicethat bear on its ability to satisfy stated or implied needs” 8,1. Crosbyhas given his view on Quality as “confromance to sofware solution to therequirements” 8,2,3. Juran’s view on Quality is the fitness of a sofwareproduct 8,4 while Deming states it as an ability of software product to meetthe end-user requirmenets 8,5.
All of them have put emphasis on requirmentsand thus puts all the impetus on clarity and quality of developing softwarewhich implement them closest to how the user wants them or needs them to beimplemented. Agile software development is an alternative to thetraditional waterfall approach where the software requirements are locked inand are rarely every changed during the lifecycle of the software developmentto the processes where incremental delivery of the software product is producedand at each increment or iteration requirements are inspected and analyzed inaccordance with the acceptance and satisfaction level of the customer. Agilemethods are used to develop systems in a faster way which came in to existencein the late 19990s. 10.Agile methods have gained acceptance in the softwaredevelopment market because they can accomodate changing requirments due to itsiterative nature and thus give the capability to the developer to re-testre-use re-check and re-manage processes before finalizng and delivering theproduct.
Agile Methodology is an alternative to traditional projectmanagement to increase the product quality, reduce time to market and toincrease customer satisfaction 4. The traditional methods have shown tremendousweakness when projects have demanded scalability, extensibility, up gradation,review, and risk management due to which Software Quality has suffered andmillions of dollars have been wasted by companies. Significance and Need of ResearchTom Cargil’s Ninety-nine rule depicts the major problem inwaterfall or traditional appraches where”The first 90% of the code accounts for the first 90%of the development time. The remaining 10% of the code accounts for the other90% of the development time”and that would mean that there is a siginificant amount oftime which is getting wasted by doing processes which have already been doneand if any of that work requires to be redone the coupling and cohesion levelsof a waterfall model imply that the changes will propogate and sabotage theproject progress in terms of time, quality, and budget; all of which in turnwould lower the satsifaction level of the customer which ultimately will resultin negativity for the development firm.
The research paper is designed to develop a framework whichwould assist the developers to provide quality assurance for the agile methods specificallyfor feature driven programming and crystal methods. this paper entails theimportance of clarified frameworks to provide quality software assurancetechniques in the field of software development when agile methods areimplemented. traditional approaches have been studied and there are methods whichhave depicted the improvement of quality in software. this paper will providesignificant input in dealing with the quality paradigm for agile methods.
Objective· Analysis of Agile Methods and Quality approachesfor each technique.· Framework providing quality assurance for AgileMethods such as feature driven programming and crystal methods.· Study of processes involved in the featuredriven programming and crystal methods for developing quality assuranceframework.Scope and LimitationsThe paper would analyze the processes in its purity anddevelop a pure framework for the processes of feature driven programming andcrystal methods. it would implement a framework which could be applied to thebasics of the Agile methods at smaller to medium scaled projects. the paper haslimited scope in methods where a fusion of agile methods is used either withthe types of agile methods themselves or with other software developmenttechniques and in projects which tend to be on the larger to bigger domain. Literature Review & Related Works 1.
Agile Methods and Quality – A Survery by BODJE N KauthNathan Regis and Dr. G.M . Nasira 9 A survery conducted by N Kauth Regis and Dr. G. M . Nasirain Seimens on a project where they were devleopming using Agile Methodsdescribes clearly how they used quality assurance to enhance the project. This paper discusses how quality should behandled.
this paper as all survery papers attempt to organize research resultsfor topics of agile methods related to softwre quality. The Techniques for Extreme Programming are described in thepaper as in follows: Technique Description System Metaphor Simple Story of how system works Face-to-Face Communication Two deveopers work together to find bugs Pair Programming Implemented requirements are integrated and tested for quality assurance Continous Integration Quality assurance test done on finished system Refactoring Smallchanges should not affet codebahviour but increase code quality Test driven development Crete run and makes changes to tests till system passes Frequent Customer Feedback Customer feedback for each release/deliverable The paper works on Quality within Agile Developmentdescribgin the processes involved as follows:Quality Defect Discovery: The techniques for quality defect discover are : Sfotwareinspection, code inspetion, software testing and debugging etc. Quality defects on code level:Varioius forms of quality defects exist such as: CodeSmells, architecue smelss, design patterns and anti pattersn, desgincharactersitics and bug pattersn. Quality defect Ontology: the ontology proposed in the paper consists of the followingprocesses: predispositions: items which foster or are responsible forbugscauses: the causes to predispositions and the necessarysteps to avoid themdefect: the actual defect which has occurred in the softwaresymptom: the effect of the defect on softwareprevention: tecchniques to prevent the dispoistioin treatment: methods to remove, reduce, or mitigate thedefect. Related to Paper:As there is dicussion on the techniques for Extemerprogramming in this paper, this paper also presents a framework with descriptionfor the techniques and processes used in Feature driven programming and cystalmethods. 2.
GUIDELEINES TO MINIMIZE THE COST OF SOFTWARE QUALITY INAGILE SCRUM PROCESS BY DEEPA VIJAY AND GOPINATH GANAPATHYA case study of Agile development done using SCRUM processina retail domain project. the paper has produced a fraemwork which describes howto handel quality assurance in SCRUM processes and how enhancement of qulaityimpacts cost of software development. The practices used in SCRUM are described as follows in thepaper: SCRUM Practice Description Envisioning Meeting Meeting with the stakeholders to discuss the project.
Sprint planning meeting Each meeting is termed as sprint, and a sprint is held before every iterative development phase Spritn backlog List of tasks to turn product backlog as sprint for next increment User story A story should be INVEST (Independent, Negotiable, Valuable, Estimable, Small, TEstable) DONE A product is done only when all activites have been completed Srpitn demo This is where the customer is shown the product developed at the end of current sprint Sprint meeting Meeting held at end of each sprint to discuss shortcomings of current sprint and strategies for next sprint REquirments Meeting Meeting to clairfy requirments The empirical study presented in thsi paper described thegaps which have occurred between the SCRUM practices and how they were actuallyimplemented during the project and what issues were faced in implementing suchSCRUM practices. The gaps were described by the paper as follows: