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

The Agile Software Engineering - Essay Example

Cite this document
Summary
"The Agile Software Engineering" paper presents the agile software engineering methodology and its new emerging techniques for better software engineering. The basic aim is to investigate this paradigm in comparison to traditional software engineering…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER93.6% of users find it useful
The Agile Software Engineering
Read Text Preview

Extract of sample "The Agile Software Engineering"

Agile software engineering Agile software engineering methodologies have demonstrated to be an accepted addition to the software engineeringtoolbox, which is capable of considerable progress in excellence for small project development teams. In this paper I will present the agile software engineering methodology and its new emerging techniques for the better software engineering. Here my basic aim to investigate this paradigm in comparison to traditional software engineering. Introduction Perhaps the most observable transform to software engineering development thinking in the previous years has been coming out of the word agile. 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., 2002). The majority of the ideas were not bright; undoubtedly a lot of people thought that a great deal of successful software had been constructed that technique for an extended time. There was, though, an observation that these thoughts had been muffled and not been pleasured perilously adequate, mainly by people paying attention in software development (Ambler et al., 2007). Agile software engineering methodologies are additional humanistic and collaborative practice to software engineering it is also acknowledged as agilism, which supports individuals and associations over actions and tools, implementation software over broad documentation, client relationship in overload of agreement negotiation, and reacting to transform over following a plan (Ambler et al., 2007). Primarily, all agile techniques support frequent rearrangement of development objectives with the requirements and vision of the client. The evolutionary development of agile software engineering technique holds constant client collaboration to support the manufacture of a progressively developing product (Abrahamsson et al., 2002). This research is going to elaborate the agile software engineering methodologies. Here I will also investigate its basic difference from the traditional software engineering. Here my basic aim is to investigate the features those make this paradigm a vital need for the contemporary software engineering. Background Agile software engineering and Software Development is one response to the altering situation of the information technology region. A number of software project managers and developers acknowledged their agile procedures in corresponding. A significant date for the agile society was in February 2001, when an assemblage of people came jointly in Utah and described up the policy for Agile Software Development (Ambler et al., 2007). It made clear the standard and principle properties of ASD techniques. With the aim of merged Agile Software Development (ASD) with Component-Based Software Engineering (CBSE), a combined agile practice has been defined (Abrahamsson et al., 2002). Software Engineering Challenges In this section I will present few Software Engineering Challenges. After that I will find out and elaborate how these challenges are overcome by the Agile Software Engineering practice. The biggest and main Challenge for the traditional Software Engineering is to how we support the day-to-day actions of software engineers with the greatest interests of the stakeholders? Software Engineering for larges project often engross the requirements changing, it is really hard for the project development team to take on these changes (Cohn et al., 2003). Agile Software Engineering was developed to counter predicament like this. Agile Software Engineering techniques are more adoptive to counter these enduring changes (Ambler et al., 2007). The next confront for the traditional Software Engineering is: How do we proffer effortlessness and visibility into SE actions? Incorporating and supporting the transparency and visibility in the Software Engineering is really hard and delicate (Williams et al., 2003). Agile Software Engineering makes use of and pays more stress on the teamwork and in-group collaboration. This attribute of the Agile Software Engineering makes it capable to counter this confront of the conventional Software Engineering. Next we have the challenge: How could software engineering reveals that it would be able to track paramount practices in management science? Software Engineering is more than a project management. A victorious project always covers a good project planning and management. Traditional Software Engineering was not concerted on this feature of the project (Royce, 1987). We all know that project management always attached to each project development, so Agile Software Engineering has built-in the lot of project management techniques to make the project implementation in a better way (Cohn et al., 2003). I have gathered few of such features those are: frequent communication and rapid reaction with the customer, enhances ethical norms, emphasizes management skills and educates for teamwork etc. The challenge we have is: How can software engineering come back additional on investment in the project development and bring bigger profits? Project management always aimed to gain from the good work. To conquer this confront Agile Software Engineering has assumed the rules of the quicker to marketplace, enhanced delivered value, iterative and incremental S/W development and lower expenses (Abrahamsson et al., 2002). By following we have the capability to response quickly to the market demand and aimed to offer better quality at the less investment. This attribute makes the Agile Software Engineering better than traditional SE. Incremental Software Development (Agile Software Engineering) Agile Software Engineering and development is also acknowledged as incremental Software Engineering. Here we have stepwise s/w product development that comprises a number of releases and builds. Agile Software Engineering has the quality of the unremitting incorporation of the system phases. In this way we have less complex development and testing. Agile Software Engineering incorporates the small steps of development in the set-up of the planning of software increments (Williams et al., 2003). Here we have planning of system and its iterations comprising milestone definition following every development cycle. Advantages of this approach: In case of the uncertain requirements this way is very practicable If we have long development time and there is danger of changing software requirements then this paradigm is best for system development (Cockburn et al., 2001). We also have a speedy release of the parts of the system or the entire system to customers (Abrahamsson et al., 2002). Disadvantage of this approach: If all components of software are built separately and independently then there is problems while the release when those part are fitting together. At that time extra endeavor for system testing and verification is needed (Paetsch et al., 2003). Application of this paradigm: Agile Software Engineering is apposite for the massive and composite software systems development (Aoyama, 1998). Agile Software Engineering is also useful for the projects with lengthy development period (Williams et al., 2003). The Agile Software Process Agility in software engineering means not simply quick deliverance of software products however also speedy adaptation to transforming requirements. To be agile, the development has to be expandable enough to turn into accustomed devoid of complicatedness to modification in requirements and discharge timetable. Usual software development models, like that the waterfall model, are massive and time-consuming, spotlighting as they do on an exacting extended cycle time (Williams et al., 2003). In addition, conventional software development management is supported on the amount of requirements. The enhanced the system requirements’ functionality, the longer the development time-to-delivery and the lesser the procedure’s elasticity and effectiveness (Abrahamsson et al., 2002). Conventional project management standards as well direct to a variety of development troubles, like that attaining on-time project delivery, for the basis that it is hard to approximate the correct volume of work concerned at the project planning stage. Agile software engineering supports for just-in-time project management of together practice and product. Usual software engineering situation, like that a process-centered software engineering environments, pays attention on development control, while computer added software engineering or CASE environments spotlight on products. Though, the practice and product are two faces of the similar coin. For a development to do well, we have to offer integrated hold up for together process and product (Ambler et al., 2007). How agile software engineering adds value Why we 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. In this section I will investigate this question and try to present 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 each type and size project. The major underlying rules at the back the application of agile carry out is to attain shorter improvement cycles and being capable to handle with varying requirements in a cost-effective way (Paetsch et al., 2003). Closer collaboration with the client is common to all agile techniques. Hence, agile software engineering methods are well suited for interactive or web based applications with exacting importance on user application interfaces which are able to be authenticated from the set up onwards by the typically everywhere customer (Ambler et al., 2007). Agility software engineering is for free Implementing a fresh process model will for all time charge save time and money. Agile software engineering application cannot be institutionalized from one day to a new. Some of the confronts which have to be taken into description are cognitive issues of all the people concerned, modification of the organizational arrangement, the close association with the clients, the practice of most recent supporting methods and tools, the discovering procedure throughout development transition, and so on (Turner et al, 2005). Agility results in the right products In traditional software engineering development processes, requirements engineering measures consequence in an authentication specification acting as a document at the side of which together, product and process, able to be confirmed. Though, agile software engineering practices spotlight on coding and abandon conditions in support of client orientation. Therefore, justification takes place at post-code stage in shape of special test ways with considerable client/user participation (Boehm, 2002). Agility results in higher quality Implementations of customary plan-driven system models would be able to direct to project failures for the reason that extra-functional superiority or performance cannot be added as merely to an on hand system as it might be probable in case of most recent functionality (Ambler et al., 2007). The advantage of agile practices could even be in enhanced probability to take action on time in case of excellence /quality lacks noticed throughout the development iterations. Agility avoids maintenance Agile software engineering practices spotlights on forward engineering with meticulous stress on coding. The chance to well-timed reply to transforming requirements guides to the anticipation that upholding attempt is able to be evaded (Paetsch et al., 2003). Though, this grasps merely for counteractive maintenance. Not clearly designing for evolutionary preservation might direct to still larger maintenance troubles. In addition, not to be trusted requirements are merely one of the latent causes for maintenance. Agility decreases development effort As a result of paying fewer concentrations to early development proceedings and for the rationale that of the persuade documentation beliefs, an abridged attempt might be probable to be used on forward engineering jobs (Paetsch et al., 2003). A risk enduring in this circumstance is, though, that a significant quantity of rephrase is needed throughout system procedures such that attempt saved previous is shifted towards maintenance jobs. Positive Factors of Agile software engineering practices In this section I will present few positive factors that make the agile software engineering practice better for the successful software engineering. I have research lot of resources and gather these points those make this practice better and effective. 1. Agile software engineering trains for collaboration 2. Agile software engineering emphasizes management skills 3. Agile software engineering enhances ethical norms 4. Agile software engineering proffers a single teachable structure 5. Agile software engineering was evolved and is applied in the industry 6. Agile software engineering deals with human features 7. Agile software engineering supports multiplicity 8. Agile software engineering facilitates learning activities 9. Agile software engineering gets better habits of mind 10. Agile software engineering highlights a inclusive image of software engineering 11. Agile development is highly iterative 12. Agile development argues for common communication and quick feedback with the customer 13. Agile developers look for to offer value to the customer The Problem with Agile software engineering In this section I 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. New in market The biggest problem behind the adaptation of the agile software engineering paradigm is its childhood in the market. The lot of software engineering community perceives it as a child that has no such practice so this not so widespread at this time (Ambler et al., 2007). Scary New ideas and standards appear scary from the execution point of view. People are conscious to take the risk and this reason makes agile software engineering less accepted. Appears undisciplined This software engineering deliberates on features those seem undisciplined, but these factors are incorporated to diminish the workload. Like we have the following factors: Lightweight software engineering: small documentation, implicit knowledge almost childish About having enjoyment and fun at work especially at the time of writing code adds in insufficient software design Not possible to develop realistic approximations of work effort needed to proffer a quote, for the reason that at the start of the project no one be acquainted with the whole scope/requirements (Ambler et al., 2007). Future Work Agile software engineering is a new upcoming field in the agile software engineering. There is lot more scope of research in this area. So the future work I want to is the adaptation of agile software engineering in the interactive (web based) system engineering. This field is really on peak in this ear. So I want to investigate how agile software engineering has transformed, changed, effected or benefited this field. Conclusion In this research paper I have discussed the agile software engineering in a very comprehensive way. I have discussed its incremental way of working. Then I have talked about it’s preference against the traditional, then I have talked about its main features that have made this paradigm a necessity of the contemporary software engineering. I have also mentioned the challenges that are faced by the traditional software engineering and then I have mentioned how agile software engineering has overcome these confronts. At last I have talked about the criticism and negative features of this software engineering approach. I have mentioned the reasons behind this criticism. This whole research is aimed to contrast the traditional and agile software engineering techniques and their advantages. I have tried to present the whole research in a better way so that the reader has an open view of the whole scenario. Agile software engineering is now in its childhood, there is lot effort and time is need for its prevalence in the whole software engineering market. Acknowledgements First of all I want to thank my lecturer for helping a lot for this project. He has assisted me at each place and help me a very much during this project. Next want to pay my thanks to my friends for helping during this project. References 1. Aoyama, M. 1998. ‘Agile Software Process and Its Experience’, Proc. 20th ICSE, IEEE Computer Soc. Press, Los Alamitos, Calif. pp. 3-12 2. Abrahamsson, P. 2002. ‘Agile Software Development Methods—Review and Analysis’, VTT Publications, no. 478, VTT Electronics. 3. Royce, W.W. 1987. ‘Managing the Development of Large Software Systems’, Proc. IEEE Westcon, 1970; reprinted in Proc. 9th Int’l Conf. Software Eng. (ICSE 87), IEEE Press. pp. 328–338. 4. Ambler, S. 2007. ‘Agile/Lean Documentation: Strategies for Agile Software Development’, Ambysoft, http://www.agilemodeling.com/essays/agileDocumentation.htm 5. Cockburn, A. and Highsmith, J. 2001. ‘Agile Software Development: The People Factor’, IEEE Computer 34, 11, 131-133. 6. Cohn, M. and Ford, D. 2003. ‘Introducing an Agile Process to an Organization’; IEEE Computer 36, 6 (June 2003), 74-78. 7. Paetsch F., Eberlein A. and Maurer F. 2003. ‘Requirements Engineering and Agile Software Development’, Proceedings of the IEEE International Workshops on Enabling 8. Technologies: Infrastructure for Collaborative Enterprises (WETICE-2003), Linz, Austria, 2003, pp. 308 -313 9. Williams, L. and Cockburn, A., 2003. ‘Agile software development: its all about feedback and change’; IEEE Computer, June 2003. 10. Boehm, B. 2002. ‘Get Ready for Agile Methods, with Care’; IEEE Computer, 35(1): 64–69, 2002. 11. Boehm, B., and Turner, R. 2005. ‘Management Challenges to Implementing Agile Processes in Traditional Development Organizations’; IEEE Software, 22, 5 (Sep./Oct. 2005), 30-39. 12. Cockburn, A. and Highsmith, J. 2001. ‘Agile Software Development: The People Factor’; IEEE Computer 34, 11 (Nov. 2001), 131-133. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Computer Science Essay Example | Topics and Well Written Essays - 2500 words”, n.d.)
Computer Science Essay Example | Topics and Well Written Essays - 2500 words. Retrieved from https://studentshare.org/miscellaneous/1551674-computer-science
(Computer Science Essay Example | Topics and Well Written Essays - 2500 Words)
Computer Science Essay Example | Topics and Well Written Essays - 2500 Words. https://studentshare.org/miscellaneous/1551674-computer-science.
“Computer Science Essay Example | Topics and Well Written Essays - 2500 Words”, n.d. https://studentshare.org/miscellaneous/1551674-computer-science.
  • Cited: 0 times

CHECK THESE SAMPLES OF The Agile Software Engineering

Agile Software Development

the agile software development process unites the various methodologies of software development into common goals, vision, and values.... The teams within the agile software development process are usually, cross functional and self-organizing.... the agile software development process provides a framework in which the whole software development process and the cycle are designed in a manner which makes it as interactive as possible.... the agile software development process unites the various methodologies of software development into common goals, vision and values....
10 Pages (2500 words) Essay

Overview of Agile Software Development

Basically, the agile software development approach is based on some principles which can be tailored according to varying requirements of software projects.... The paper "Overview of agile software Development" discusses that without a doubt, agile software development methodologies have been proved to be successful for the completion of small size teams and limited size projects.... It is believed that agile software development methodologies are not suitable for large size and critical projects....
17 Pages (4250 words) Term Paper

Agile Software Engineering

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 a detailed analysis of The Agile Software Engineering methodology.... Furthermore, The Agile Software Engineering methodology was devised in 2001 by a leading software practitioners group of 17 people (Levy & Hazzan, 2009)....
8 Pages (2000 words) Research Paper

Software Engineering Exam Questions

he 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.... A main idea encouraged by the agile policy is that people that can be customers, software developers or users: and they form the foundations of the software development procedure.... ISO 9001 is the quality assurance standard that is designed specially for the engineering products....
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.... The group was able to analyze and gather various sets of information on the agile development process so as to use its techniques in developing the Student Attendance Monitoring System.... The group got information from lecture notes, books, and online sources about the agile Development process.... 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

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

Agile Software Development

"Agile Software Development" paper focuses on ASD that is presently an up-and-coming advancement in software engineering platform for enhancing quality.... ASD was proposed by a group of seventeen professionals in the software engineering domain who practice a collection of frivolous techniques.... agile software development techniques have gained extra popularity because their software takes a short period to be developed fully.... Agile techniques have become extremely dominant since the emergence of the agile Manifesto in 2001 in reaction to the ineffectiveness of the surviving software development techniques in rapidly advancing environments....
11 Pages (2750 words) Case Study
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