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

Agile Software Engineering - Research Paper Example

Cite this document
Summary
The author of the current paper casts light upon the fact that within the last 50 years various software development methodologies have been developed to tackle and manage different challenges and problems that happen all through the software development…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER91.1% of users find it useful
Agile Software Engineering
Read Text Preview

Extract of sample "Agile Software Engineering"

AGILE SOFTWARE ENGINEERING Table of Contents Table of Contents 2 2 Introduction 3 Agile software engineering 3 Evolution of Agile softwareengineering 5 The Agile Software engineering Process 5 How agile software engineering adds value 6 Agility helps in any case 6 Agility software engineering is for free 7 Agility results in the right products 7 Agility results in higher quality 8 Agility avoids maintenance 8 Agility decreases development effort 8 Positive Factors of Agile software engineering practices 8 The Problems with Agile software engineering 9 Future Work 10 Conclusion 11 Bibliography 11 Introduction Within the last 50 years various software development methodologies have been developed to tackle and manage different challenges and problems that happen all through the software development. The initiation of ‘agile software engineering methodologies’ was another response to a number of software development problems those have reasoned an intense debate amongst software engineering researchers and developers from the beginning of 2000, by means of traditional software engineering methodologies, like that ‘Spiral’ or ‘Waterfall’ model has established a high value of agile software engineering methodologies, for example SCRUM2 and XP (Jiang & Eberlein, 2008). In addition, the agile software engineering methodology has demonstrated to be an accepted addition to the software engineering toolbox, which is capable of considerable progress in excellence for small project development teams. This report presents detailed analysis of the agile software engineering methodology. Also, this report will investigate various areas and concepts regarding agile software engineering methodology. Agile software engineering Levy & Hazzan (2009), state that agile methodologies have established great interest among researchers and practitioners. At the present, there are various popular agile techniques for instance, feature driven development, crystal methods, adaptive software development and dynamic systems development. The widespread standard that is fundamental to agile methods highlights supportive and cooperative software development. In addition, in agile software engineering methodologies the main focus is on people as well as on the dynamics of their connections and communications, rather than on rigid software development and complicated requirements planning procedures. A main idea encouraged by the agile policy is that people for instance, customers, software developers or other users outline the foundation of the software development procedure. Furthermore, the agile software engineering methodology was devised in 2001 by a leading software practitioners group of 17 people (Levy & Hazzan, 2009). According to Abrahamsson, Salo, & Warsta (2002), agile software engineering is additional humanistic and collaborative technique to software engineering and is also acknowledged as “agilism”, which supports “individuals and connections over procedures and tools, functioning software over extensive documentation, client collaboration in excess of agreement negotiation, and reacting to transformation over following a plan (Abrahamsson P. , Salo, Ronkainen, & Warsta, 2002). In addition, all agile techniques encourage frequent rearrangement of development objectives with the requirements and prospect of the client. The evolutionary development of agile software engineering technique that holds constant client collaboration to support the manufacture of a progressively developing product (Abrahamsson, Salo, & Warsta, Agile Software Development Methods: Review and Analysis., 2002). Memmel, Gundelsweiler, & Reiterer (2007) describe that the contribution of agile software engineering techniques such as extreme programming or agile modeling (AM) regarding practices and principles intended for a common engineering approach is really helpful. In addition, the collaboration of software engineering and human computer interaction under an umbrella is only possible through the agile software development (Memmel, Gundelsweiler, & Reiterer, 2007). Evolution of Agile software engineering According to Abrahamsson, Salo, & Warsta (2002), the most visible transformation to software engineering process of thinking in the previous years has been the emergence of the word agile. This original movement raised out of the hard work of a variety of people who contracted with software engineering process in the 1990s, found them imperfect, and looked for an innovative technique to software development (Abrahamsson, Salo, & Warsta, Agile Software Development Methods: Review and Analysis., 2002). Ambler (2009), considers the evolution of the agile software engineering and software development as a response to the changing environment of the information technology. A number of software project managers and developers identified their agile procedures in parallel. A significant date for the agile society was in February 2001, when a grouping of people came jointly in Utah and offered “the policy for agile software development” (Ambler, 2009). It explained the standard and principle features of agile techniques (Abrahamsson P. , Salo, Ronkainen, & Warsta, 2002) The Agile Software engineering Process The agility in software engineering means not simply rapid deliverance of software products however also rapid adaptation to transforming requirements. To be agile, the development has to be elastic enough to become accustomed without difficulty to modification in requirements and release schedule. In addition, the traditional software development models, for instance, waterfall model, are massive and time-consuming, as they follow particular development life cycle (Williams & Cockburn, 2003). Furthermore, software process management is based on the amount of requirements. The better the system requirements’ functionality and the longer development time-to-delivery as well as the lesser the procedure’s elasticity and efficiency can be resolved through agile (Abrahamsson, Salo, Ronkainen, & Warsta, 2002). In addition, the traditional project management principles offer a variety of development problems and challenges, such as completion of project on time, on-time software delivery, for the reason that it is hard to measure the accurate volume of work concerned at the project planning stage. However, agile software engineering supports just-in-time project management of together process and product. Usual software engineering situation, like that a process-centered software engineering environments, pays attention on development control, while computer aided software engineering or CASE environments spotlight on products. Despite the fact that, the product and process are two faces of one coin. For a development to do well, we have to offer integrated hold up for both process and product (Ambler, 2009). How agile software engineering adds value Why software development firms use agile software engineering instead of the traditional software engineering? This question comes in mind when we say that agile software engineering is better than the old techniques of software development. This section of the report will discuss different factors those make the agile software engineering the need for the contemporary software engineering. This discussion is in contrast with traditional software engineering: Agility helps in any case Agile methods can be utilized for any type and size of project. The major principle behind the application of agile is to get shorter development cycles and being capable to handle unstable requirements in a cost-effective way. In addition, the close collaboration with the client is an important characteristic of agile techniques. For this reason, agile software engineering methods are well suited for interactive or web based applications with particular importance on user application interfaces which can be authenticated from the beginning onwards by the typically “ubiquitous” customer (Paetsch, Eberlein, & Maurer, 2003). Agility software engineering is for free The implementation of a process model will for all time charge some time and money. But, agile software engineering application cannot be institutionalized day to day. However, some confronts which have to be taken into account are cognitive issues of all the people concerned, adjustment of the organizational arrangement, the close association with the clients, the utilization of modern and up-to-date supporting tools and techniques, discovering throughout development, and so on (Boehm & Turner, 2005). Agility results in the right products In traditional software engineering development processes, requirements engineering actions result in an authentication specification, acting as a document on the basis of which, product and process would be developed. On the other hand, agile software engineering practices spotlight on coding and abandon conditions in favor of client. Therefore, justification takes place at post-code stage in shape of special test approaches with considerable client/user involvement (Boehm B.-2. , 2002). Agility results in higher quality Implementations of customary plan-driven procedure models result in project failures for the reason that extra-functional quality or performance cannot be added as simply to an existing system as it might be probable in case of latest functionality. On the other hand, the advantage of agile practices could even be in enhanced probability to respond on time in case of excellence /quality lacks noticed all the way through the development iterations (Ambler, 2009). Agility avoids maintenance According to Paetsch, Eberlein, & Maurer (2003), agile software engineering practices spotlights on forward engineering with particular stress on coding. The chance to well-timed reply to varying requirements guides to the expectation that maintenance efforts could be avoided (Paetsch, Eberlein, & Maurer, 2003). Agility decreases development effort According to Paetsch, Eberlein, & Maurer (2003), as a result of paying fewer concentrations on early development actions, an abridged effort might be probable to be used on forward engineering jobs (Paetsch, Eberlein, & Maurer, 2003). Positive Factors of Agile software engineering practices Abrahamsson, Salo, & Warsta (2002) offered some positivce factors of agile software engineering practices. This section will present some positive factors those make the agile software engineering practice better for the successful software engineering (Abrahamsson P. , Salo, Ronkainen, & Warsta, 2002) 1. Agile software engineering provides a single teachable framework 2. Agile software engineering supports teamwork 3. Agile development argues for frequent communication and rapid feedback with the customer 4. Agile software engineering emphasizes management skills 5. Agile developers seek to provide value to the customer 6. Agile software engineering enhances ethical norms 7. Agile software engineering highlights a comprehensive image of software engineering 8. Agile software engineering supports learning processes 9. Agile software engineering improves habits of mind 10. Agile development is highly iterative 11. Agile software engineering was evolved and is applied in the industry 12. Agile software engineering deals with human aspects 13. Agile software engineering encourages diversity The Problems with Agile software engineering This section will point out the few factors those are against this paradigm. This section will streamline the criticism that is done against this way of software engineering. The biggest problem behind the adaptation of the agile software engineering paradigm is its childhood in the market. Because lot of software engineering firms perceives it as a child that has no such experience therefore this is not so prevalent at this time (Ambler, 2009). New ideas and standards look scary from the implementation point of view. In addition, people are conscious to take the risk and this makes agile software engineering less popular (Ambler, 2009). This software engineering concentrates on factors those seem undisciplined, but these factors are incorporated to minimize the workload. For instance, we have following factors: (Abrahamsson P. , Salo, Ronkainen, & Warsta, 2002): Lightweight software engineering: inadequate documentation, implicit knowledge Nearly childish About having enjoyment and fun at work especially at the time of writing code adds in insufficient software design It is not possible to develop practical approximations of work effort needed to provide a quote, for the reason that at the start of the project no one knows the whole scope/requirements (Ambler, 2009). Future Work As agile software engineering is really human oriented approach. Therefore, I desire to do a future research regarding the analysis of the effective human computer interaction and agile development. In addition, my future research will be more concentrated toward the user oriented aspects. The main intention will be to analyze the usability and effective HCI based rules implementation and agile system development in combination. Conclusion This report has presented detailed analysis of the agile software engineering and its related areas. Agile software engineering is a latest software development methodology. In addition, agile software engineering concentrates on people such as customers, users etc. This report has analyzed the different aspects of this paradigm. The main areas of discussion in this research were evolution of the agile software engineering, main developments, techniques, processes, advantages and shortcomings. I hope this offer a deep insight into to overall topic of agile software engineering. Bibliography 1. Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software Development Methods: Review and Analysis. Finland: VTT Publications. 2. Ambler, S. (2009). Agile/Lean Documentation: Strategies for Agile Software Development. Retrieved 26 December 2009, from http://www.agilemodeling.com/essays/agileDocumentation.htm 3. Boehm, B., & Turner, R. (2005). Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software, Volume 22, Issue 5, pp. 30-39. 4. Boehm, B.-2. (2002). Get Ready for Agile Methods, with Care. IEEE Computer Volume: 35, Issue: 1, pp. 64–69. 5. Jiang, L., & Eberlein, A. (2008). Towards A Framework for Understanding the Relationships between Classical Software Engineering and Agile Methodologies. International Conference on Software Engineering Proceedings of the 2008 international workshop on Scrutinizing agile practices or shoot-out at the agile corral (pp. 9-14). Leipzig, Germany : ACM New York, NY, USA . 6. Levy, M., & Hazzan, O. (2009). Knowledge Management in Practice: The Case of Agile Software Development. CHASE Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering (pp. 60-65). Vancouver, BC, Canada : IEEE Computer Society Washington, DC, USA. 7. Memmel, T., Gundelsweiler, F., & Reiterer, H. (2007). Agile Human-Centered Software Engineering. British Computer Society Conference on Human-Computer Interaction Proceedings of the 21st British CHI Group Annual Conference on HCI 2007: People and Computers XXI: HCI...but not as we know it - Volume 1 (pp. 167-175). University of Lancaster, United Kingdom: British Computer Society Swinton, UK. 8. Paetsch, F., Eberlein, A., & Maurer, F. (2003). Requirements Engineering and Agile Software Development. WETICE Proceedings of the Twelfth International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (p. 308). Linz, Austria : IEEE Computer Society Washington, DC, USA. 9. Williams, L., & Cockburn, A. (2003). Agile software development: its all about feedback and change. IEEE Computer Volume 36, Issue 6, pp. 39-43. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Agile Software Engineering Research Paper Example | Topics and Well Written Essays - 2000 words, n.d.)
Agile Software Engineering Research Paper Example | Topics and Well Written Essays - 2000 words. Retrieved from https://studentshare.org/information-technology/1561564-academic-style-paper
(Agile Software Engineering Research Paper Example | Topics and Well Written Essays - 2000 Words)
Agile Software Engineering Research Paper Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/information-technology/1561564-academic-style-paper.
“Agile Software Engineering Research Paper Example | Topics and Well Written Essays - 2000 Words”, n.d. https://studentshare.org/information-technology/1561564-academic-style-paper.
  • Cited: 0 times

CHECK THESE SAMPLES OF Agile Software Engineering

Agile Software Development Methodologies

This paper presents an overview of the agile software development methodologies.... he basic purpose of this research is to show that 'agile software development methodologies' are a superior design method that is why Scrum and XP rapidly emerging frameworks … Traditional techniques to software development do not allow software developers to change requirements or design during the software development life cycle.... Therefore, in order to deal with this issue of traditional project development methodology, a new software development methodology was introduced that is known as agile software development methodology....
3 Pages (750 words) Essay

The Agile Software Engineering

Agile Software Engineering methodologies have demonstrated to be an accepted addition to the software engineering toolbox, which is capable of considerable progress in excellence for small project development teams.... In this paper I will present the Agile Software Engineering… Here my basic aim to investigate this paradigm in comparison to traditional software engineering. Perhaps the most observable transform to software engineering development thinking in the previous This original movement raised out of the hard work of a multiplicity of people who contracted with software engineering process in the 1990s, found them deficient, and looked for an innovative procedure to software development (Abrahamsson et al....
10 Pages (2500 words) Essay

Software Engineering Exam Questions

The main focus of Agile Software Engineering approach is on the people as well as on the dynamics of their connections and communications, rather than on rigid software development and complex requirements planning procedures.... ISO 9001 is the quality assurance standard that is designed specially for the engineering products.... Because the ISO 9001 standard is applicable to all engineering disciplines, a special set of ISO guidelines that ISO 9000-3 have been developed to help interpret the standard for use in the software process....
12 Pages (3000 words) Essay

Agile Software Development

The paper "agile software Development" entails developing a piece of software to be designed through agile techniques.... Another technique that the group was looking out to in the agile development process was its combination of methodologies such as question-and-answer (QA), project management, and even in engineering practices, together in a way that will help the agile development team through processes of managing, planning, and delivery of the software....
6 Pages (1500 words) Case Study

Scrum Methods in Software Development

The paper "Scrum Methods in Software Development" describes that agile software development has become an attractive trend.... This paper has presented an analysis of agile software development approaches with a particular focus on Scrum.... 2003; Kavitha & Thomas, 2011):Without a doubt, agile software development methodologies have been developed to deal with the issues of delivering high-quality software promptly under a quickly and continuously changing business environment and requirements....
11 Pages (2750 words) Coursework

Agile Methods and Software Quality

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.... 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....
12 Pages (3000 words) Research Paper

Software Engineering Techniques for Service-Based Development

The author discusses the most popular software engineering techniques that have been used by the industry over past decades.... Also, the simpler steps inherent in the model do not provide much clarity and often lead to confusion in its interpretation  The primary objective of software engineering is to realize all the above-mentioned objectives by ensuring the delivery of qualitative software that conforms to all user requirements and which are developed on schedule within the allocated budget....
8 Pages (2000 words) Research Paper

The Application of the Scrum Approach to Healthcare IT Analysis

The paper "The Application of the Scrum Approach to Healthcare IT Analysis " highlights that the scrum approach of software development or project methodology has a number of limitations including the absence of structured working processes because of the functions undertaken by different teams.... hellip; Generally, it is evident that the scrum approach has certain considerations and characteristics that make it a successful method in project delivery or software development....
11 Pages (2750 words) Essay
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