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

The Practicality of Agile Development - Essay Example

Cite this document
Summary
"The Practicality of Agile Development" paper focuses on the Agile development model which is used to develop software in a short time and at a low cost. It is said to be a modern technique and was introduced to make the software process efficient and quick…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER96.8% of users find it useful
The Practicality of Agile Development
Read Text Preview

Extract of sample "The Practicality of Agile Development"

The practicality of agile development   and Section # of Agile development model is used to develop software in a short time and with low cost. It is said to be a modern technique and was introduced to make the software process efficient and quick and also it emphasized on the cooperation and mutual collaboration among team members. It encourages the developers to collaborate with the customers and managers also. There are other development models also that are discussed below. People find Agile method not suitable for all kinds of softwares, so there are few other methods as well. The other methods discussed below are the Waterfall method and RUP methods. They are being compared by the Agile method too. Agile Development It’s been more than a decade, since agile development is being used for software development. It came as a result to the conventional and traditional software development processes and was an effort to improve the ways of software development. In general, agile means quick and fast, agile development set asides the conventional ways of software development, but still it is not necessary that agile is a solution to all the problems that is being faced by the development team. The agile manifesto focused mainly on customer satisfaction. It suggests the collaboration and cooperation with customer and manager through out the development process and also emphasize on the unity and teamwork by all the members of the team. Team must be self organizing and should be autonomous in a way that it can take decisions but must be in contact with the customer. Though it is suitable for only certain kinds of software but still it could be adopted by the developers and they can follow the manifesto to provide their customers good quality software on the time due. Agile team must be able keep its pace with the changes that are in the industry, so that they can come up with the work that is suitable per the market standards. Though if we read its principles that are being defined by The Agile Alliance, it gives us an idea that it could be the best methodology for the software development. The principles states that customer should be satisfied and his demands must be fulfilled throughout the project, and also the project must be submitted on time. Changes should be welcomed throughout this time and developers, managers and customers must be in contact with each other. The developers involved in the projects must be competent and cooperative and the team environment should be peaceful and comfortable for all team members. Good software should be chosen for development, design of the software should be technically excellent and revised properly. The KIS rule plays a major role in development, so it must be adopted by the team to avoid complexities. These principles could be adopted for any software but still it got few drawbacks. The main question that arises is how we can attain agile development process; one cannot get the perfect answer for this. Written documentation is not considered as an important thing in this development model, but the main emphasize is on the quick and speedy work. Agile Process Models There are different process models for agile development. Extreme Programming (XP) model is the most famous one. Planning, design, coding and testing phases are achieved in this model and the main emphasis is on doing all these tasks quickly and to deliver the software to the customer on time. Changes could be embraced easily during XP projects. It gave a concept of paired programming, but it is not much appreciated by programmers as it creates a lot of fuss at the time. Dynamic Systems Development Method (DSDM) is another process model that falls in the category of Agile Development models uses iterative software process. It first starts with feasibility study, followed by business study, functional model iteration, design and built iteration and finally implementation. The other model is Scrum, which gives the idea of a small working team, that could be controlled and organized properly and discipline could be maintained easily. It also encourages changes and believes truly on modular programming approach. Testing and debugging should be performed throughout the project to avoid any bug at the end. It also gave a new idea of demo, that the project should be demonstrated for the customer before it is actually implemented. Other models are Crystal and FDD (Feature Driven Development). Why Agile Development fails Mostly developers in the world don’t specifically use any model for the development; they usually do the work according to the conventional models. Waterfall model, for instance, is popular and an old method for development. Agile development process is considered to be non-disciplined, though they say that it is disciplined but somehow it is obvious that discipline is lacked in the whole project, the more stress is on a good environment that should be provided to the developers of the team, so that they can do their work speedy. Practically thinking it is not possible, a developer, during the project, should adopt few rules, meeting should be held among the team and the leader should govern all the members. It uses adaptive method that does not give a detail planning but just to date, on the other hand, productive method highlights more on long-term planning than a short term. But if we look it the other way, then its clear that adaptive method is friendlier towards changing than the productive method. It is more likely to bring changes in adaptive method, as it plans for the near future and any change that is being asked by the customer or is felt by the developers can be put in action. When people listen about agile development, they usually become excited and try to test it, but they forget this thing that agile development is not favorable to all kind of softwares and is not usually successful in all the projects. However, it is clear that it is successful in the web based projects; the reason is that the technology in web development is changed accordingly. The other projects usually don’t require constant changes and are building accordingly to the conventional methodologies. The people do not feel like using Agile technique in general, as someone asked a person about the technique, he answers, “well, it seems like its working, but I feel like theres some sort of conservation of work being violated...”. And he continued answering in a way, “Im not sure; its what were trying I guess, but I dont really see the value.” It shows that they are not very much comfortable with this approach. “In the title, [of his article] I refer to people as "components". That is how people are treated in the process / methodology design literature. The mistake in this approach is that "people" are highly variable and non-linear, with unique success and failure modes. Those factors are first-order, not negligible factors. Failure of process and methodology designers to account for them contributes to the sorts of unplanned project trajectories we so often see.”1 However the agile development do require few things in the organization, for example, the organization must accept the suggestions and ideas from the developers and also the staff of the organization must be limited in number and they all must be competent, else there is no chance that they can work according to Agile development, which requires highly competent individuals and staff. A drawback of Agile software is that it requires to have a team that contains small number of people in it. Large scale development methods cannot be adopted easily in it. Its requirement to change is also a drawback and is criticized constantly. When a project is open to constant changes, it lacks the consistency in it. The culture of the organization should be changed to accomplish it properly. The other side of constant communication between the developer and the customer is that either side can influence the other one. The customer can constantly increase his demands and the same way that the developer can influence the customer and can add his own suggestions and can simply change the track of the project. When we see this aspect practically, it doesn’t sounds well, as it is a time consuming task for both the developer and the customer. On the other hand, the Q&A session, which is in the traditional software development model, sounds more appropriate as compare to this one. Waterfall Method When Agile method is not found suitable for the development, waterfall method could be used. Though Agile development method came as a reaction of Waterfall, but still people prefer to use this instead of Agile. Waterfall method is also known as sequential software development method. It is like a waterfall, from upward to downward. It was presented in 1970’s by Royce. It gives a sequential model for the development. The model flaws like a waterfall, the first step is requirement specification, followed by design, implementation, integration, debugging, installation and maintenance. In waterfall model, the first phase is completed and worked fully before going to the next one. Requirements would be specified completely and only then the design phase would be started. After the completion of design phase, the team would move to the next one. Once moved to the next phase, one cannot go back to the previous one. There are different sub-models of the Waterfall model also; they are modified versions of the Waterfall model. Waterfall model is one of the most widely used models of development. Though it too got criticism on its behalf but still people prefer to use it or they prefer to use the modified models of the Waterfall. People criticize it by saying that the testing should be held on every phase, as it makes it easier to debug the errors, else it becomes very difficult to debug all the errors in the end and also it increases the work for the developer and it decreases the validity of that phase. Risk management cannot be controlled by this model, the pure Waterfall model cannot manage the risk management and feedbacks from the customer. There is no compulsion on the number of programmers that a time can have, so it can make the programmers idle during the project. People prefer it over the Agile software development model because it is a conventional model and is being used almost from the beginning. They prefer it due to its simple and disciplined approach that lacks in the Agile software. It is good to complete a phase in a single go than to coming back to it again and again. The problems or any shortcomings in the phase could be recognized in the detailed analysis of the phase and can also be corrected in the mean time. RUP model Another model for software development is RUP model, Rational Unified Process Model. Like Agile model, it also aims to overcome the shortcomings of the Waterfall model. It was said that Waterfall makes the programmers idle and the errors and bugs cannot be identified until the end of the project. And it becomes difficult and expensive to fix the problems in the end of the project, when everything is ready. But it can be seen in the RUP that integration is done at each and every phase and is not left for the end, so if there are any risks, along with the bugs can be identified in the beginning or during the project, not in the end of it. Programmers cannot be idle during the projects. Every one can start their work; testers continue testing as the project goes on, documentation is also carried out along with the development, it is more useful than the Waterfall, as in Waterfall, few programmers can work and other sits idle. RUP is based on six principles, it is known as ABCDEF principles. 1. Adapt the process 2. Balance stakeholder priorities 3. Collaborate across teams 4. Demonstrate value iteratively 5. Elevate the level of abstraction 6. Focus continuously on quality When comparing RUP with Agile development, we can clearly see the difference between them. Agile was based to reduce the cost and time of the software development but RUP was developed after the years of the experience in software development. The rules of RUP were designed in a way that they overcome the bottlenecks and shortcomings of Waterfall and the other popular models. In Agile development, the developer and the customer are constantly in contact, it wastes a lot of time of both but it doesn’t happened in RUP model. Agile method is a good method for software development but we cannot simply rely on this model. It is good but not for all kinds of software. Different models can be used for different types of software development projects. Bibliography Beck., K (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley. Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In Advances in Computers (pp. 1-66). New York: Elsevier Science. Mc.Connell, Steve (2006). Software Estimation: Demystifying the Black Art. Microsoft Press McConnell, Steve (2004). Code Complete, 2nd edition. Microsoft Press. Author. (year) title. Place. Publisher McConnell, Steve (1996). Rapid Development: Taming Wild Software Schedules. Microsoft Press. Royce, Winston (1970), "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August): 1-9, http://agilemanifesto.org/principles.html http://www.agileskills.org/ http://blogs.ittoolbox.com/eai/business/archives/rup-versus-agile-for-soa-methodology-10850 http://www.codinghorror.com/blog/archives/000699.html http://msdn2.microsoft.com/en-us/architecture/bb404166.aspx http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“The practicality of agile development Essay Example | Topics and Well Written Essays - 2500 words”, n.d.)
The practicality of agile development Essay Example | Topics and Well Written Essays - 2500 words. Retrieved from https://studentshare.org/miscellaneous/1543879-the-practicality-of-agile-development
(The Practicality of Agile Development Essay Example | Topics and Well Written Essays - 2500 Words)
The Practicality of Agile Development Essay Example | Topics and Well Written Essays - 2500 Words. https://studentshare.org/miscellaneous/1543879-the-practicality-of-agile-development.
“The Practicality of Agile Development Essay Example | Topics and Well Written Essays - 2500 Words”, n.d. https://studentshare.org/miscellaneous/1543879-the-practicality-of-agile-development.
  • Cited: 0 times

CHECK THESE SAMPLES OF The Practicality of Agile Development

Agile Project Management: Creative Innovative Products

This report "agile Project Management: Creative Innovative Products" briefly addresses two of the main approaches of project management – traditional and agile management methods.... The discussion also includes a detailed yet precise comparison between traditional and agile approaches....
8 Pages (2000 words) Report

Operations management

he extensive knowledge (albeit theoretical) about not only lean but also agile supply chains that the researcher obtained by undertaking several projects on this topic made him fully realise the necessity of the decoupling point... Now that the project has been successfully completed, time has come to look back and reflect on various hurdles and roadblocks that were encountered and dourly overcome while the project was being painstakingly worked upon. ...
40 Pages (10000 words) Essay

The Adventure of an IT Leader

bull; Level 4or managed where the software development effort can be controlled using precise measurement and techniques.... What seems to be the core idea in the "agile" approach to project management?... he core idea in the 'agile' approach to project management is a rapid and flexible response to any change in the project.... In order to ensure this, the agile approach encourages teamwork, collaboration, and the ability to alter the process throughout the life cycle of the project....
4 Pages (1000 words) Essay

Preventing Defects in Agile Software Development

o better understand the effectiveness of the processes of agile software; it is important to gather facts on defects identified in the previous projects and also examine how the same defects can be eliminated following process improvements and application of newer methodologies.... During the long and complex process of agile software development, a lot of defects frequently occur.... The paper "Preventing Defects in Agile Software development" suggests that the adoption of defective preventive measures not only works to better the project quality but serves as a valuable investment....
11 Pages (2750 words) Essay

DSDM Agile Project Development Framework

The study involves ensuring that all the requirements are available and that the practicality of the DSDM methodology is guaranteed.... This coursework " DSDM Agile Project development Framework" describes systems analysis and design.... and the different software development project methodology.... My research is extensive and covers a lot of software development methodologies.... The DSDM Agile project framework under agile project development is applicable to the situation in OSS....
8 Pages (2000 words) Coursework

Building a New Organizational Website

This development project also aims at increasing the volume of sales.... For instance, it stipulates the requirements that the project must have in order for the development to be successful.... The 'won't have this time' category caters to requirements that the agile team has set out as not achievable within the prevailing timeframe (DSDM, 2014)....
8 Pages (2000 words) Case Study

Agile Software Development

The figure below depicts the lifecycle of agile methodologies: ... "Agile Software development" paper focuses on ASD that is presently an up-and-coming advancement in software engineering platform for enhancing quality.... 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

Analysis of Management Practices

Some of the newly employed techniques include; Human Capital Management, Customer Relations Management, and agile project management.... The paper 'Analysis of Management Practices' is an excellent example of a management literature review.... As pointed out by Laloux (2015), various organizations in attempts to redefine their performance and productivity, have already restructured their management systems and also employed new management practices....
11 Pages (2750 words) Literature review
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