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

Agile Software Development - Case Study Example

Cite this document
Summary
"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. …
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER96.5% of users find it useful

Extract of sample "Agile Software Development"

AGILE AND OOAD By Name Course Instructor Institution City/State Date 1.0 Introduction Lately, 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 Agile Manifesto in early 2001 in reaction to the ineffectiveness of the surviving software development techniques in rapidly advancing environments. Since the egression of agile software engineering techniques, the software industry has progressively become interested in them. Agile software development (ASD) is presently an up-and-coming advancement in software engineering platform for enhancing quality (Cao et al., 2009, p.332). Primarily, ASD was proposed by a group of seventeen professionals in software engineering domain who practice a collection of frivolous techniques, as well as share a universal values set of software development. Because of the eye-catching claims of ASD approach accomplishment, numerous conventional projects that practiced plan-driven software development are little by little changing into ASD-established development. 2.0 Overview of Agile software development methodologies Agile Methods have much in common, in terms of value, but they dissent in the practices they recommend. Some of popular agile methods discussed in various literatures include Extreme Programming, Crystal Methods, Scrum, Feature Driven Development, Dynamic Systems Development, and Lean Development. XP for years has been well been documented has numerous case studies and reports on its name while DSDM, which is subscription-established, has little available literature making it hard to attain any information related to it (Lindstrom & Jeffries, 2004, p.44). The figure below depicts the lifecycle of agile methodologies: Fig 1: Agile Lifecycle (Source: innolance.com) 2.1.0 Characteristics From the time the agile manifesto was launched, both researchers and practitioners have been attempting to illuminate agility and its distinct aspects. Arguably, at its central part, agility includes capacity to hastily and supplely make and react to alteration in the both the business and technological fields. Other facets of agility discovered entail nimbleness or compactness (that is to say, to have reduced prescribed procedures) and correlated ideas like dexterity, promptness, adroitness, flexibility or vigilance. Fundamentally, these concepts propose a ‘light’ method that encourages manoeuvrability and rate of reaction. A further acknowledged definition of agility has begun to come into view, sourced largely from producing and administration fields, where nimble seems to have its origins. For Devadasan et al. (2005), agility entails both the capacity to become accustomed to various alterations as well to filter and modify development procedures as required. Fig 2: Agile Process overview (source: mindtree.com) Agility of software development is the capacity of the software team to professionally and successfully react to and integrate user specification alterations during the life cycle of the project. Devadasan et al. (2005) generate a difference amid agility, suppleness, and compactness; actually, agility is assumed to comprise and surpass both suppleness and compactness. Essentially, suppleness relates to the capacity of a systems development technique to “generate alteration, or dynamically, reactively, or intrinsically adopt change appropriately, through its interior modules and its connections with its setting. On the other hand, compactness incarcerates the “input to supposed client value through financial system, value, and plainness.” Therefore, agility of software development is the continual willingness to hastily or intrinsically generate alteration, reactively or dynamically adapt change, and comprehend from change at the same time as supplying to supposed customer value (financial system, quality, and plainness), through its joint modules and connections with its setting. 2.1.1 Agile Methods Benefits The basics of agile methods such as the rationales and values behind them explain the fundamental ambition of agility. According to Power et al. (2001) the values highlighted in the Agile Manifesto foreground the collaboration and communication values, reactivity, and concentration on the working software implementation. Essentially, agile principles highlight detailed aspirations for agile methods, which compel more software organization to be interested. Agile methods heighten return on investment (ROI) after its deployment , increases the ability to convey software on time and ceaselessly, enhances excellent reactivity to alterations in product content, and permits closer communication collaboration within the company and with the customer. In addition, agile methods leads to higher motivation and heightened self-organization in the design and development teams, creates a sustainable and firm working pace; increases the work productivity continuously, and provides the basis for higher quality of the end-products. Lindstrom and Jeffries (2004) study highlight several benefits of agile methods, and they include abridged time-to-market, decreased waste, heightened quality, better certainty, improved morale, improves the ability to react to an active market alterations. 2.1.2 Agile Methodologies Limitations Agile software development intends to brace on time and rapid development of functional code that satisfies customer desires. Arguably, advocates of agile believe that code that are deliverable is what matter, while, agile antagonists established that stress on code will steer to loss of memory, for the reason that the credentials and modelling number performed is inadequate. Fundamentally, there exist numerous limitations that come along with adaptation of agile methodologies: foremost, agile methods are not appropriate for maintenance and for green-field engineering and not, since it requires a lot of records for the systems (Devadasan et al., 2005, p.581). Subsequently, agile rely greatly on the user participation, and as a result, the project achievement will rely on the collaboration and interaction of the user. 2.2 History and Current Situation Agile software development Methods are a response to customary means of developing software and recognizes the urgency for an option to documentation steered and colossus software development processes. Initially, in the traditional methods implementation, work commenced with the induction and documentation of an entire set of requirements, which was pursued, by architectural and high phase design, development, and examination. In the mid-90s, some competent IT practitioners found out that these development phases were thwarting and made it impossible to develop quality software. In this regard, the industry and technology moved rapidly to formulate policies that could steer rate change to swamp the traditional methods. However, customers became increasingly ineffectual in stating their needs up-front, but at the same time, expected more from their software. This prompted consultants to develop independently techniques and practices that could overcome the inevitable alteration they were enduring. It is from the shortcoming illustrated above that led to the development of Agile Methods, which is a collection of various techniques and practices that have mutual values and principles. According to Cao et al. (2009), most of the agile practices are not novel; rather their focus and values is what distinguish them from traditional methods. Essentially, software process enhancement is evolution, through which novel processes establish on the successes and failures of the processes before them. Presently, Agile principles articulated within the agile manifesto has powered and inspired software developers who depend on practical brilliance and uncomplicated designs generate business worth by delivering to users functioning software at standard petite periods. Lindstrom and Jeffries (2004) posit that these principles have seeded numerous operations that are supposed to bring superior value to users. In the core of such practices is the concepts of teams that are self-organized whose members work at a speed that maintains their inventiveness and efficiency. Besides that, the principles support practices that have room for requirements change at any phase of the software development procedure. 3.0 Relevance to the Unified Process and OOAD Basically, OOAD views the system from a bottom-up point of view and it integrates processes and data into objects. Objects in information system might be suppliers, customers, leasing concords, or contracts. A set of models or diagrams are utilized to symbolize a variety of system’s performance and views, which is normally recognized as Unified Modelling Language (UML) (Harris et al., 2006, p.242). Afterward, the OO approach turns out to be recognized as the unified process after such models are applied together with a certain approach of systems development such as agile methodologies. Fundamentally, unified process is an incremental and iterative method to systems development. OOAD’s main objective is to enhance quality of the system and systems analysis and design efficiency by making it more functional. What’s more, objects are clustered into classes to contribute to behavioural and structural attributes. OOAD as well slots in the utilization of inheritance, which permits the generation of novel classes that distribute the attributes of present classes. Akin to the agile methodologies, OOAD is related in the manner of iterative development method. In the stage of analysis, object-oriented paradigms are utilized to fill the gap in the midst of a setback and its solution. The purpose, intrinsically, is to change the application cases this model of analysis is developed through six phases linearly, and his colleagues analysed these phases by making use of case description to recognize likely objects that are taking part rooted in several heuristics (Khoo, 2009, p.61). Therefore, to carry on into the phase of designing, object oriented design entails a revolution procedure that changes real-world notions into a software paradigm, which offers solution paradigm. Fig 3: OOAD Process (Source: jdjua.com) Fundamentally, process of software development is followed for the sake of the process, instead of toting up value to the project’s stakeholders. Even though unified process (UP) is iterative, it pursues the common steps of initiation, embellishment, development, and change in a relatively additive manner.  As the process of development advances minimal time is utilized on analysis and specification, and additional time is used on developing, examining, and change; on the other hand, processes based on agile methodologies use time on all activities and in all iterations.  Basically, during all iteration a modest of every phase is undertaken with the goal being production of stable software which might be shipped at the ultimate of all iteration.  At the commencement of all iterations, each stakeholder convenes to re-organize their priorities as well as requirements, whereas at the last iteration stage, functional software is illustrated to the stakeholders; this makes sure that client value is being totted up always. Unified process (UP) as well as is somewhat wide-ranging, and were intended to be tailored to go well with the project under development (Vandergriff, 2006, p.203).  This totes up another intricacy layer to the development attempt, as the procedure at first must be tailored before being enforced.  Whereas this permits for the unified process professionals to make sure that the process is being determined and applied appropriately. The figure below illustrates agile unified process Fig 4: Agile Unified Process (source: methodsandtools.com) 4.0 General guidelines on applying Agile to OOAD While applying agile to OOAD, the development team must at first define all application classes, methodologies, connection, as well as properties. Basically, The OOAD paradigm offers the team the paraphernalia to achieve this undertaking. For this reason, the development team must follow the following four phases; firstly, the Object-Oriented Requirements Analysis (OORA), which offers a platform for defining objects classes and the interaction amid them. Secondly, Object-Oriented Analysis (OOA), which is based on object, oriented models, comprehending, and modelling a certain setback in the domain of the problem. Thirdly, Object-Oriented Design (OOD), here the object as viewed as the basic modularity unit and the objects are class instantiations. Finally, Object-Oriented Programming (OOP), which stresses the application of methods and objects instead of transformations and types, as seen in other methods of programming. The figure below exhibits the basic OOAD process: Fig 5: Basic OOAD Process (Source: javadepot.com) Importantly, before applying agile to OOAD, the development team must know that the OOAD model is attributed by its effort to model entities of the real-world (like organizations, account, and worker) into software objects of abstract computer as well as every interaction that can occur amid those objects. While still applying agile to OOAD, the development team must take agile manifesto into consideration. Essentially, agile manifesto states four fundamental values: firstly, Individuals and interactions over processes and tools, whereby ASD stresses on self-organizing development teams, closed user’s cooperation, and direct communication (Cao et al., 2009, p.337). Secondly, working software over comprehensive documentation, this means that the primary goal and validation of progress is exhibited through working software, and not demonstrators or paradigms, while authentication is maintained strictly on the need-to-have basis. Thirdly, Customer collaboration over contract negotiation; here the customer is provided with a dynamic role in development process; thus, the customer is accountable directly to state needs and in approval of both the incremental and final outcomes. Finally, responding to change over following a plan, here development process is observed as an innovative and active endeavour, so most of the plans are maintained at a lower limit with the primary focus directed on the reaction and tractability of modification. 5.0 Case Study Previously, organizations that designed and developed healthcare devices were sluggish to incorporate agile methods. Nearly all question how they could deliver high-class software while using agile methods and others argued that Food and Drug Administration (FDA) would not perhaps agree to that. Thus, this created an obstruction to implementation of agile methods in health care industry, despite the fact that the agile benefits were noticeable. organizations that build up medical appliances applied by healthcare industries time and again would wish to decrease the long-lasting duration of marketing that conventional waterfall methods inflict, as well struggle to observe how agile methods can function in a sector that have to abide by the rules presented by HIPAA, IEC, and FDA for data protection, consistency, requirement, value and design controls. According to Mishra et al. (2012), agile methodologies present noteworthy benefits to medical appliance producers. Some include: the general pace of development is enhanced and the capability to slot in stakeholder and user response at the beginning of development cycle assists in making sure that an efficient product is developed with the attributes that reveal existing business wants. Presently, management of risk is an enormous and comprehensible concern, during health care devices development, especially based on the risks that can affect patient result. According to Mishra et al. (2012) scrum practices are developed to facilitate untimely risks recognition; thus, to meet feature guarantee and administration objectives, the incorporated, incessant examination that is foundation to the agile procedure (leading to first-class software development as a principle) time and again is added with more recurrent evaluation cycles and unambiguous controls. During agile adoption planning stage the key is to recognize the files needed for regulatory observance, and proof which have to be presented, which contains proof that the plan and building of the device pursue Quality System Regulations as described in the Guidance for Premarket Submissions content for Medical Devices software of FDA with recognized evaluation and endorsement procedures ready as outlined by the FDA. Practically, agile methods has been adopted by several renowned medical device producers, such as New York based Abbott Laboratories, which accounted program and team diminutions of between 20-30 percent, 35 – 50 cost savings, and smaller amount of software flaws after implementing agile methods. Besides that, Metronic accounted that after adopting agile methods, their software development teams established that operation was more pleasant, enhanced team work, discerned viruses on time, and most of the team members felt they got high quality. Fig 6: DBMS architecture used by most health care organizations (source: hunscher.typepad.com) What’s more, GE Healthcare adopted agile methods in Imaging Solutions and the outcomes were outstanding, it led made the top brass admit the fact that they felt that the benefits brought about by agile methods after its implementation are worth the attempt. Presently, GE Healthcare has started the subsequent stage of change by spreading out scrum practices worldwide to other GE Healthcare. Precise benefit of agile implementation by medical system producers: it is the fact that agile methods time and again manage how to integrate software development and hardware development, and make the two programs to unite. The solution is to remodel the hardware method and after that create the software development. Mishra et al. (2012) posit that the enormous benefit of agile methods is that it allows the user to increasingly experiment operational software on the hardware as well as recognizing if it is functional, in the early hours. Arguably, with waterfall, the user has to ‘expect’ that both will integrate appropriately, but it is in fact a subject of possibility if the user can examine the software using the authentic hardware. Ultimately, in case examinations are not performed time and again, software starts performing unforeseen things while agile can put off this from taking place. 6.0 Challenges and recommendations OOAD and agile methods focus the quality of work on the developers’ abilities and activities, as components and sub-components design are generated mostly by one developer. But they fail to provide a platform for developing reusable software because they concentrate mainly on developing systems that solve explicit setbacks and not those that are wide-ranging. Agile methodologies offer various practices that ease interaction amid the client and customer, and experience cycles of develop-deliver-feedback, to have an extra explicit view of client’s specification, and be prepared for any alteration. The present enterprise solution is complex due to the tremendous change in business requirements, so agile software development methods are the potential solution to the software development projects. This is because they are adaptable to modification, speedy, responsive, and people oriented. Nonetheless, company should first consider which agile methods would be beneficial to their business processes or some definite projects. In this regard, a company can choose different agile methods for distinct projects or customize it to features that fit the company and the projects conditions. Agile Methods are yet to replace the traditional methods fully because various processes in software engineering from the traditional methods are still required. Furthermore, agile principles highlight detailed aspirations for agile methods; this compels more organization to be interested. References Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Agile Software Development Case Study Example | Topics and Well Written Essays - 2750 words, n.d.)
Agile Software Development Case Study Example | Topics and Well Written Essays - 2750 words. https://studentshare.org/logic-programming/2051005-agile-and-ooap
(Agile Software Development Case Study Example | Topics and Well Written Essays - 2750 Words)
Agile Software Development Case Study Example | Topics and Well Written Essays - 2750 Words. https://studentshare.org/logic-programming/2051005-agile-and-ooap.
“Agile Software Development Case Study Example | Topics and Well Written Essays - 2750 Words”. https://studentshare.org/logic-programming/2051005-agile-and-ooap.
  • Cited: 0 times

CHECK THESE SAMPLES OF Agile Software Development

SCRUM, DSDM, and Lean Software Development

Agile Software Development is considered to be one of the most commonly used approaches assumed by the large industries while developing software.... The software development process is considered to be the foundation in the field of software engineering as it provides an opportunity to develop software using cost effective approaches, along with saving time and helping in framing quality products.... Likewise, there exists several software development processes as compared to the past....
6 Pages (1500 words) Essay

Project Management System: Primavera Gets Agile

In the end, they failed to realize a lasting principle of software development: It is important to work smarter, not harder (Vijayasarathy & Turk, 2011, p.... While Primavera specializes in project management software, it appears they were not well versed in the true art of project management themselves.... Management was growing increasingly frustrated at the slow response to needed software updates and upgrades.... The group was under the impression that if they worked harder and longer hours, then their efforts would be rewarded by the release of quality software updates that the owners and customers alike would be proud of....
5 Pages (1250 words) Essay

The Agile Software Engineering

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

Developing a More Agile Approach

Currently, Agile Software Development has become one of the most popular technologies to be used in organizations.... The agile software is easy to implement in a business like Amazon.... This approach is more effective in businesses that are… It is difficult to execute the agile approach in businesses that are not related with software products because they are not directly aligned with the approach (Developing an Agile Company Culture, 2013). For Developing a More Agile Approach Corporate culture plays a critical role in implementing an agile development approach within an organization....
1 Pages (250 words) Essay

Waterfall Vs Agile Project Management

The salient features of Agile Software Development approach are presented below (Kroll, 2004).... At the… I will choose the one of these methods for my e-commerce project of website development through which our customers can buy our products, or access plenty of features. There have been endless discussions over the effectiveness of these two methods for software development and Each of these methods has its own area of influence in which it is applicable....
5 Pages (1250 words) Assignment

Predictive vs. Adaptive SDLC

Basically, Agile Software Development approach is known as adaptive SDLC and the majority of software developers now adopts agile for a variety of… In fact, a large number of books and articles have been written in favor of adaptive approach.... Basically, Agile Software Development approach is known as adaptive SDLC and the majority of software developers now adopts agile for a variety of reasons.... Enabling Software Process Improvement in Agile Software Development Teams and Organisations....
1 Pages (250 words) Essay

Guest Lecture by Erin

"Contextualizing Agile Software Development.... 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.... The Agile model of software development is founded on systematic and cumulative development.... In the Agile model, specifications and solutions develop through First Last Number The Difference between the Iron Triangle of Waterfall and Agile The iron triangle of waterfall is a chronological design practice, mostly utilized in software and web development....
1 Pages (250 words) Essay

Using SCRUM, DSDM, and Lean Software Development

  … Scrum is a very well-known Agile Software Development methodology.... The objective of this essay is to draw a comparison between three widely used approaches to project management in software development: SCRUM, DSDM, and Lean.... Scrum software development starts with the customer's story.... nbsp; In the Scrum software development, a sprint planning meeting involves the discussion on the required results....
7 Pages (1750 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