StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Agile Methods and Software Quality - Research Paper Example

Cite this document
Summary
This report “Agile Methods and Software Quality” analyzes agile methodologies which appeared as a response to major shortcomings in the habitual system development methodologies, as well as advantages and disadvantages, guidelines of performance, tactics, and terminology of those methods.
 
 
 …
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER98.4% of users find it useful
Agile Methods and Software Quality
Read Text Preview

Extract of sample "Agile Methods and Software Quality"

Agile methods and software quality Table of Contents Terms of References This research report is prepared for the analysis of agile system development methods and it includes some advantages and disadvantages in overall system development. Background Agile development methodology is a newly evolved and highly accepted software development methodology that involves a lot of methods for better system development and implementation. In different system development requirements and diverse system needs we have different development methodologies. In this regard some methodologies offer a most excellent fit condition and some offer a number of problems. This report also presents a comprehensive analysis of such conditions. Objectives Below are main objectives of this report: Overall analysis of Agile Methodology Analysis of most important Agile methods Analysis of the benefits of Agile methods Analysis of shortcomings of Agile methods Deliverables Completely formatted research report SUMMARY In the previous few decades agile software development techniques and lifecycles (SDLC) have turned out to be extremely successful and by itself a lot of propaganda was formed around them. Additionally, the great quantity of techniques that have been built looks alarming at the initial sight: agile, repetitive, incremental, slant, evolutionary as well as extreme are a number of the terms engaged. While agile methods diverge, they distribute a numeral of wide-ranging features, comprising concentrated customer and personnel communication, iterative improvement and a compact number of objects. It is not simple to opt for the accurate practice for the problem close by. In case of system development project staff our main intention remains on the effective management of our project's risk. On the other hand, electing the appropriate iterative development method or technique is a significant action at the beginning of our development lifecycle. Contrasted to the waterfall technique all the iterative techniques comprise in common that their major deliverable in each of the project iteration is tested, added, implemented on the system. In addition, all the development procedures (analysis, requirements coding, design, integration and testing) are carried out in the iteration. However, the dissimilarities exist among the techniques incorporated in the type of risks where they pay the attention on the capacity of documents, the extent of iterations and significance of modeling. In case of system development quality Agile methods have been getting much fame since their beginning in the behind 90s. In the commencement these techniques convened with significant discrepancy and resistance; a lot of yet normally describe them as out of control. When we analyze agile methods through more conformist software development methodologies, it's rather simple to misapprehend them. The mainly widespread disapprovals potentially arise when agile methods are incorrectly installed or deployed. Moreover, a lot of associations have started to understand major reimbursement from establishment of agile techniques and their trivial development procedures. They have revealed major drops in application development costs and enhancements in system development as well as application excellence. It is significant for those paying attention in utilizing agile methods to completely recognize the agile techniques that are available. This report presents a comprehensive analysis of some of the main aspects of the Agile development methods. In this scenario we will assess and analyze benefits and disadvantages of using Agile methods. This report will also analyze “why Agile is frequently used along with PRINCE2”. This research will develop an understanding about Agile development methods, their quality practice and significant factors involved in the overall development of systems. AGILE METHODS Almost certainly the majority visible transformation to software process philosophy in the previous few years has been the emergence of the new methodology 'agile'. This novel association developed out of the efforts of a variety of people who covenanted by software practice during the 1990s, discovered them deficient, and seemed intended for a new technique to software process. The majority of the thoughts were not novel; certainly a lot of people assessed that a great deal flourishing software had been developed that way intended for an extensive era. There was, though, a vision that these thoughts had been muffled as well as not been taken critically enough, mainly through people paying attention in software process (Fowler, 2005), (Whitten et al., 2000) and (Pressman, 2001). The majority of software development is a complex action, frequently characterized with the idiom "code and fix". The software is developed without a great deal of a fundamental plan, and the blueprint of the system is paved jointly as of a lot of short-range assessments. This in fact works attractive well as the system is not so big; however as the system size increases it turns out to be more and much hard to include novel characteristics to the system. In addition bugs turn out to be more and more common and gradually harder to tackle. A usual mark of similar system is a long test stage after the system is "characteristic inclusive". This type of long test stage offers destruction with plans as testing and fixation is not possible to plan (Fowler, 2005), (Whitten et al., 2000), (Williams & Cockburn, 2003) and (Pressman, 2001). Agile methodologies grew as a response to major shortcomings in the traditional system development methodologies. For numerous people the application of these agile methodologies is their response to the establishment of the engineering methodologies. These novel techniques endeavor a functional cooperation among no process as well as very much procedure, offering just enough procedure to achieve a reasonable suborn. The enhanced outcome of the entire of agile methods has a number of major transforms in prominence as of engineering techniques. The majority straight diversity is that they are fewer document-oriented, typically highlighting a smaller amount of documentation intended for a known job (Fowler, 2005), (Whitten et al., 2000) and (Pressman, 2001). A variety of agile methodologies share a great deal of the similar viewpoints, and a lot of the similar uniqueness and performance. However, from an accomplishment perspective, each one has its own guidelines of performance, tactics and terminology. Scrum is an inconsequential management structure with a wide applicability intended for organizing and controlling iterative as well as added projects of all the types. Extreme Programming or simply XP has appeared as one of the majority well-liked from contentious agile methods. Extreme Programming is a disciplined technique to convey premium software rapidly and persistently. It encourages elevated customer participation, continuous planning, constant testing, fast response loops as well as close cooperation to carry functioning software at extremely regular periods, normally each 1-3 weeks. Crystal methodology is one of the majority insubstantial, flexible techniques to software development. Crystal is in fact composed of a family of techniques whose exclusive characteristics are determined through numerous factors like that system state of critical urgency, staff size as well as project main concerns. This Crystal family tackles the understanding that every project can necessitate a somewhat adapted group of practices, policies as well as procedures so as to convene the project’s unique qualities. DSDM or Dynamic Systems Development Method offers an industry standard project release structure intended for what was submitted to as RAD (Rapid Application Development) at the moment. This methodology has developed as well as grown to offer a wide-ranging basis intended for organizing, planning, implementing as well as scaling Agile as well as iterative software development projects (VersionOne, Inc., 2011). SOFTWARE QUALITY ASPECTS and AGILE METHODOLOGY Software quality is one of the major significant software aspects in software development. Agile techniques can create software faster however we as well require recognizing how they meet our system development quality requirements. Two of the major important qualities of the agile techniques are able to manage uneven requirements all through the system development lifecycle. Secondly they are able to carry products by means of smaller timeframes and under budget limitation when contrasted with the customary development techniques. A lot of published researches up-hold the above benefit of agile techniques. Though, supporters of agile techniques have not still offered a persuasive response to the question “quality aspects of the software developed?” Agility offers enough severities to make sure quality, as accomplish the traditional development techniques for example waterfall model, as well as if these techniques do offer the similar level of quality then how is it attained. Agile techniques can generate software faster however we as well require to recognize how they convene our quality needs (Huo et al., 2004), (Sommerville, 2004) and (Stair & Reynolds, 2003). QUALITY ASSURANCE TECHNIQUES Software Quality Assurance oversees the processes meant to produce the desired quality into the products” and intended more openly at product quality comprising transitional products. These two maintaining procedures are generally employed to up-hold the waterfall model in order to offer a complete procedure paradigm. Quality assurance methods can be classified into two categories, static and dynamic. Static and dynamic methods are both employed in Software Quality Assurance procedures. The aim, choice and organization of particular techniques rely on the requirements and type of the project. A Waterfall development technique opts for these methods as of extremely diverse principles like that a number of people-concentrated methods selected in waterfall model (Huo et al., 2004), (Sommerville, 2004) and (Stair & Reynolds, 2003). Different dynamic methods such as Static techniques do not engage managing and executing the code. Static methods engage assessment of documentation through groups or persons, this assessment perhaps is supported through software tools, for instance, examination of the software requirements specification and practical evaluation of the code. Simulation and testing are dynamic methods. Occasionally static methods are employed to up-hold dynamic methods and vice versa. The waterfall model is employed in both dynamic and static techniques. Though, agile techniques mostly utilize dynamic methods (Huo et al., 2004), (Sommerville, 2004) and (Stair & Reynolds, 2003). BENEFITS OF AGILE Agile techniques evolved from the real-life project occurrences of foremost software professionals who had practiced the limitations and confronts of customary waterfall development on project after project. The technique promoted through agile development is in straight reaction to the matters linked with the conventional software development, together in terms of generally viewpoint and explicit procedures. Agile development, in its straightforward structure presents a trivial structure intended for facilitating personnel, offering a continuously developing well-designed as well as technical background; uphold a focus on the fast delivery of company assessment (for example “thump for the money”). As an effect of this focus and its linked advantages, associations are proficient of considerably minimizing the general menace linked with software development (VersionOne2, 2011). Specifically, agile development speeds-up the delivery of preliminary business worth, and in the course of a procedure of permanent planning and response, is capable to make sure that worth is constant to be capitalized all through the development procedure. Consequently of this response loop and iterative planning, groups are capable to continually coordinate the distributed software by means of preferred business requirements, simply get used to altering needs all through the procedure. Through measuring as well as assessing position foundational on the irrefutable truth of testing, working software, a great deal more precise visibility into the real developments of projects is available. As a result of pursuing an agile process, at the end of a project is a software system that a great deal tackles the business as well as client requirements (VersionOne2, 2011). The methods of Agile have an acclimatized team that is capable to react to the altering necessities. The project development team does not encompass to spend time as well as effort and lastly discover that through the time they carried the product, the basic system development requirement of the client has altered. The methodology of Agile offers head to head communication and constant inputs from client agent leaves no space intended for presumption. Agile offers documentation in snappish as well as summarizing to save development time. The end product is the first-class software in smallest amount of probable time period as well as pleased client (My-Project-Management-Expert, 2011). Agile methods offer enhanced return on investment that is the basic cause to utilize agile technique, and it is attained in a number of dissimilar means. In an agile project, the early system development requirements are the baseline intended for return on investment or ROI. If the project executes to the end by no transforms, then the business will obtain the predictable returns or profits (Hayes, 2003). Agile methods offer early on cancellation of failing projects. It is frequent to observe projects to be on course intended for the initial 80 percent or more of the timetable, simply to be postponed intended for a lot of months. Agile projects avoid this situation by performing design, investigation as well as implementation in short augmentations plus critic’s developments through the release of operational software that provides a great deal more firm reaction on real vs. designed development (Hayes, 2003). Agile methods offer higher quality that is attained through the four vital variables we are able to utilize to manage a software progress cost, project, capacity or scope, time as well as quality, most agile techniques openly utilize scope as their power variable. The entire agile technique highlights the production of elevated quality software, and extreme programming especially includes a numeral of performances to up-hold this purpose (Hayes, 2003). Agile methods offer higher and improved project control. Agile methods stress on multi-disciplinary teams, incorporated where data and information is normally distributed, and tremendously perceptible (Hayes, 2003). An agile method incorporates reduced reliance on persons and better flexibility. An agile project highlights performing analysis and allocation of information in case of coding and design on a group, rather than person fundamentals. This facilitates to stop circumstances where development is seriously reliant on a person (Hayes, 2003). DISADVANTAGES OF USING AGILE METHODS This section discusses main aspects and disadvantages of using agile methodology. In this scenario a number of software deliverables, particularly the big ones, it is hard to evaluate the attempt necessary at the start of the software development life cycle. Agile Methods have lack of importance on essential documents and designing. Agile Methods offer facility to easily get taken off way if the client representative is not obvious what ultimate result that they desired. Simply senior programmers are proficient of obtaining the type of results necessary all through the development procedure. Therefore it has no room intended for newbie system programmers, unless united with skilled resources (My-project-management-expert, 2010). Agile Scrum is one of the most important bases of scope creep for the basis that unless there is a specific finishing date, the system development project management stakeholders will be influenced to uphold complicated new functionality is carried (My-Project-Management-Expert2, 2009). Agile methods offer augmented Visibility that can cause organization catastrophe. In addition, they utilize an understanding of the business background to help prepare for this catastrophe. Agile methods cause loss of titles or identifications that produce extensive problem in case of Agile tends to level organizational hierarchies. Agile methods presents the blemished realization of agile that is introducing the setting as well as up-hold a personnel or team requirements are not inconsequential (AgileAdvice, 2006) & (Scheid, 2010). AGILE USE WITH PRINCE2® Prince2 has been the leading system development and project management technique in the world for a number of years and one of its powers is its importance on control. One main control is the product explanation where we describe what we desired in generating previous to some work is carried out. That does not employ for everybody as it is able to enforce a firmness that is unfamiliar to the means many people work. Software development desires an additional “agile” technique. Results are described beforehand yet the track that is obtained to attain those results can require being extremely supple. Agile is the term connected by means of the DSDM project deliverance structure. Since 2006 Dynamic Systems Development Method has become free to use. DSDM is an Agile project structure, with direction, to attain timely and on-budget deliverance to assure a company object. Into a nutshell Dynamic Systems Development Method seems at the product delivery area of a project in further information intended for better flexibility. Prince2 since we everyone recognize does not offer this view. Prince2 intentionally evades some comprehensive debate on the technicalities of product deliverance. Prince2 and Agile Methods fit jointly on the features of it they are a standard fit. Both techniques make utilization of product explanations in the scenario of their business frameworks (Project Manager, Project Board, Team Manager) they are extremely similar. In these similarities as well cut down on repetition. Agile Methods (e.g. DSDM) adjoins to Prince2 in the subsequent means. Agile Methods (e.g. DSDM) establish scope lenience methods. Cost, Time and quality are set; there is no lenience in sight that can turn customary philosophy on its leader; however in fact these are not already adjusted in the mind of client. Agile Methods promote repetitive nature and incremental software system development. In some projects wherever the ending project product is difficult this is vital. This outlines that that Agile Methods are able to carry elements of a project earlier in the project however as well are able to carry ROI (return on investment) sooner than can be deemed in a Prince2 project. Agile Methods (DSDM) organizational team arrangement goes lesser behind than the Prince2 methodology corresponding through incorporating extra customer as well as supplier responsibilities that function at the development phase. These extra functions plan quite simply into the Prince2 organization (Knight, 2009). CONCLUSION This report has presented a comprehensive analysis of some of the prime aspects of Agile development methods. In the previous few decades some software development techniques and lifecycles (SDLC) have turned out to be extremely useful. Agile methodology is one of them. Agile methodologies grew as a response to major shortcomings in the traditional system development methodologies. For numerous people the application of these agile methodologies is their response to the establishment of the engineering methodologies. A variety of agile methodologies share a great deal of the similar viewpoints, and a lot of similar uniqueness and performance. However, from an accomplishment perspective, each one has its own guidelines of performance, tactics and terminology. This report has discussed the benefits and disadvantages of using Agile methods. This research has also presented Agile and PRINCE2 relation. In this regard I have presented some of the detailed analysis of Agile development methodology and working scenario. References AgileAdvice, 2006. Agile Challenges - A Good List of the Common Problems with Agile Methods. [Online] Available at: http://www.agileadvice.com/archives/2006/09/agile_challenge.html [Accessed 04 January 2011]. Fowler, M., 2005. The New Methodology. [Online] Available at: http://www.martinfowler.com/articles/newMethodology.html [Accessed 03 January 2011]. Hayes, S., 2003. Why use Agile Methods? [Online] Available at: http://www.builderau.com.au/program/development/soa/Why-use-Agile-Methods-/0,339024626,320275975,00.htm [Accessed 02 January 2011]. Huo, M., Verner, J., Babar, M.A. & Zhu, L., 2004. How does agility ensure quality? [Online] Available at: http://webcache.googleusercontent.com/search?q=cache:N_Ex_3bcYvgJ:citeseerx.ist.psu.edu/viewdoc/download?doi%3D10.1.1.58.4805%26rep%3Drep1%26type%3Dpdf+Agile+methods+and+quality&hl=en&gl=pk [Accessed 02 January 2011]. Knight, D., 2009. PRINCE2, AGILE, SCRUM – are they connected? [Online] Available at: http://www.skillsolve.co.uk/2009/10/07/prince2-agile-scrum-%E2%80%93-are-they-connected/ [Accessed 03 January 2011]. My-Project-Management-Expert, 2011. The Advantages and Disadvantages of Agile Software Development. [Online] Available at: http://www.my-project-management-expert.com/the-advantages-and-disadvantages-of-agile-software-development.html [Accessed 03 January 2011]. My-Project-Management-Expert2, 2009. The Advantages and Disadvantages of Agile SCRUM Software Development. [Online] Available at: http://www.my-project-management-expert.com/the-advantages-and-disadvantages-of-agile-scrum-software-development.html [Accessed 02 January 2011]. Pressman, R.S., 2001. Software Engineering: A Practicioner's Approach, 5th Edition. London: McGraw Hill. Scheid, J., 2010. Top Agile Development Problems. [Online] Available at: http://www.brighthub.com/office/project-management/articles/63681.aspx [Accessed 03 January 2011]. Sommerville, I., 2004. Software Engineering, 7th Edition. New York: Pearson Education (Addison Wesley). Stair, R.M. & Reynolds, G.W., 2003. Principles of Information Systems, Sixth Edition. Toronto : Thomson Learning, Inc. Tudor, D., 2009. An Agile Perspective: Introducing DSDM Atern. DSDM Consortium. VersionOne, Inc., 2011. Agile Methodologies. [Online] Available at: http://www.versionone.com/Agile101/Methodologies.asp [Accessed 04 January 2011]. VersionOne2, 2011. Benefits of Agile Development. [Online] Available at: http://www.versionone.com/Agile101/Agile_Benefits.asp [Accessed 02 January 2011]. Whitten, J.L., Bentley, L.D. & Dittman, K.C., 2000. Systems Analysis and Design Methods 5th Edition. New York: Irwin/McGraw-Hill. Williams, L. & Cockburn, A., 2003. Agile software development: it's all about feedback and change. IEEE Computer, 36(6), pp.39-43. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Agile Methods and Software Quality Research Paper, n.d.)
Agile Methods and Software Quality Research Paper. Retrieved from https://studentshare.org/information-technology/1747652-agile-methods-and-software-quality
(Agile Methods and Software Quality Research Paper)
Agile Methods and Software Quality Research Paper. https://studentshare.org/information-technology/1747652-agile-methods-and-software-quality.
“Agile Methods and Software Quality Research Paper”, n.d. https://studentshare.org/information-technology/1747652-agile-methods-and-software-quality.
  • Cited: 0 times

CHECK THESE SAMPLES OF Agile Methods and Software Quality

Agile versus Waterfall

It is believed that agile project management approaches have an excellent reputation in the IT and software sector.... In this scenario, some of the important issues can include delivering high quality software promptly under quickly and continuously changing business environment and requirements.... In this scenario, a project management approach is a map which guides the software development team all the way through the project life cycle.... In this scenario, a project management approach is a map which guides the software development team all the way through the project life cycle....
4 Pages (1000 words) Essay

The Agile Method of Software Development

It is a revolutionary process that can certainly enable the organization to thrive as they begin to churn out quality software products at... Assignment 3: Communicate and Facilitate as an Agile Coach University Name Assignment 3: Communicate and Facilitate as an Agile Coach The agile method of software development should prove highly effective for the organization described in this case study due to the team's tight deadline and the personnel shakeup.... Extreme program, that basis for the agile methodology, depends upon a transformational shift in the way software development teams currently divide their workflow....
5 Pages (1250 words) Essay

Factors that Contribute to IT Project Success

Wiluite asserts that “total project management applies the theories of methods of total quality management to manage all the project fields (such as quality management, time managements and cost management, etc)” (2009, p.... Total Project Management emphasizes two primary aspects; these are project management process quality and the final product or service quality.... In the context of projects, total project management “implies total active involvement and commitment of everyone in the project for meeting the quality requirements of the client” (Kohli, 2007, p....
12 Pages (3000 words) Essay

The Impacts developing and evaluating technologies for addressing e provision and licensing of e-books

These methods and techniques have great results for web application projects while others prefer a more formal approach.... There are several methods and techniques through which web engineering takes place.... However, it is necessary to analyze the clients' requirements and the operational environment to apply the agile methods [4].... Different aspects of failure and success of agile methods shall be discussed in detail during the research [1]....
2 Pages (500 words) Essay

Traditional Way and Agile Way of Management

espite the fact that agile management is rarely used to manage a mega project, it is no less crucial than the conventional of traditional project management methods and tools.... That is why a collage of management methods and tactics are incorporated in one project.... The system and the process is gradually built and has an advantage over other methods.... For instance, if there is a need to modify the management process or the direction of the system needs to go through sudden abrupt changes; agile management system has a better chance to cater for the change then other methods....
8 Pages (2000 words) Essay

System Development Life Cycle

The spiral model of software development life cycle is one of the models that have been designed to improve the software development life cycle.... The software is also produced at the early stages of the software lifecycle (Barry, 1988)....
4 Pages (1000 words) Research Paper

Guest Lecture by Erin

quality in the iron triangle is delivered through scope, scheduling and cost.... In the iron triangle, the scope of the project, schedule, and cost elements are used to evaluate the quality of the project.... Cost structures in agile development are flexible to attain the required effect and quality.... The Agile model of software development is founded on systematic and cumulative… Progress in the iron triangle of waterfall flows gradually and moves (similar to a waterfall) through well-defined steps such as strategizing, designing, building, testing, deployment, and maintenance....
1 Pages (250 words) Essay

Questions for Thought

agile methods allow an individual to make frequent changes to the management process and test the various stages of the project (Nayab 1).... There is improved quality because testing starts from the first day of the Management in Information Technology Agile project management borrows many ideas from the Agile method of software development and uses them in project management.... There is improved quality because testing starts from the first day of the project quality improves as the project is continuing while the risk is reduced due to the early feedback....
2 Pages (500 words) Assignment
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us