









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Compares Agile Software development Method with the Traditional Software Development Methods
Typology: Study Guides, Projects, Research
1 / 15
This page cannot be seen from the preview
Don't miss anything!










Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. Agile itself has never defined any specific methods to achieve this, but many have grown up as a result and have been recognized as being 'Agile'. Agile is also a software development methodology to build software incrementally using short iterations of 1 to 4 weeks so that the development process is aligned with the changing business needs. Instead of a single-pass development of 6 to 18 months where all the requirements and risks are predicted upfront, Agile adopts a process of frequent feedback where a workable product is delivered after 1 to 4 week iteration.
First Time to get Real FeedbackFinal Software
TestIntegrationCodeDeIdeasTraditional Software Developmentfine Methodology
First Time to get Real Feedback
Review & AdjustCodeDeTestDeTestReview & AdjustCodeReview & AdjustDeTestIdeasfififiFinalnenene 321 Agile MethodSoftware CodeIdeas
The Manifesto for Agile Software Development , also known as the Agile Manifesto , was first proclaimed in 2001, after "agile methodology" was originally introduced in the late 1980s and early 1990s. The manifesto came out of the DSDM Consortium in 1994, although its roots go back to the mid 1980s at DuPont and texts by James Martin and James Kerr et al
TWELVE PRINCIPLES OF AGILE MANIFESTO Customer Satisfaction − Highest priority is given to satisfy the requirements of customers through early and continuous delivery of valuable software. Welcome Change − Changes are inevitable during software development. Ever-changing requirements should be welcome, even late in the development phase. Agile processes should work to increase customers' competitive advantage. Deliver a Working Software − Deliver a working software frequently, ranging from a few weeks to a few months, considering shorter time-scale. Collaboration − Business people and developers must work together during the entire life of a project. Motivation − Projects should be built around motivated individuals. Provide an environment to support individual team members and trust them so as to make them feel responsible to get the job done. Face-to-face Conversation − Face-to-face conversation is the most efficient and effective method of conveying information to and within a development team.
The use of the word agile in this context derives from the agile manifesto. A small group of people got together in 2001 to discuss their feelings that the traditional approach to managing software development projects was failing far too often, and there had to be a better way. They came up with the agile manifesto, which describes 4 important values that are as relevant today as they were then. It says, “we value:
That is, while there is value in the items on the right, we value the items on the left more.”
Ever since then, the use of methods that support these values has become increasingly popular.
From my studies of various agile methods, there are about 10 key principles of agile. These are characteristics that are common to all agile methods and the things that I think make agile fundamentally different to a more traditional waterfall approach to software development. They are:
There are also various methodologies that are collectively known as agile, as they promote the values of the agile manifesto and they are consistent with the above principles. The most popular ones are:
Dynamic System Development Method (DSDM) is probably the original agile development method. DSDM was around before the term ‘agile’ was even invented, but is absolutely based on all the principles we’ve come to know as agile. DSDM seems to be much less well-known outside of the UK.
Scrum is also an agile development method, which concentrates particularly on how to manage tasks within a team-based development environment. Scrum is the most popular and widely
In agile software projects, project management takes a slightly different form, relying far more on the project manager’s skills in communication, facilitation, coordination, and emphasizing far less on planning and control.
Agile development can be a very exciting and invigorating approach, although some projects suit agile more than others. The collaboration and visibility can provide a much richer and more rewarding experience for teams to develop great software products. Agile development can be a lot more enjoyable than the waterfall approach, which requires lots more documentation and is less flexible by its nature. And when people enjoy their work, it’s amazing what they can achieve.
Here are 10 good reasons (potentials) to apply agile development principles and practices.
The iterative nature of agile development means features are delivered incrementally, enabling some benefits to be realized early as the product continues to develop.
Research suggests about 80% of all market leaders were first to market. As well as the higher revenue from incremental delivery, agile development philosophy also supports the notion of early and regular releases, and ‘perpetual beta’.
A key principle of agile development is that testing is integrated throughout the lifecycle, enabling regular inspection of the working product as it develops. This allows the product owner to make adjustments if necessary and gives the product team early sight of any quality issues.
Agile development principles encourage active ‘user’ involvement throughout the product’s development and a very cooperative collaborative approach. This provides excellent visibility for key stakeholders, both of the project’s progress and of the product
The above approach of fixed timescales and evolving requirements enables a fixed budget. The scope of the product and its features are variable, rather than the cost.
The active involvement of a user representative and/or product owner, the high visibility of the product and progress, and the flexibility to change when change is needed, create much better business engagement and customer satisfaction. This is an important benefit that can create much more positive and enduring working relationships.
Above all other points, the ability for agile development requirements to emerge and evolve, and the ability to embrace change (with the appropriate trade-offs), the team build the right product. It’s all too common in more traditional projects to deliver a “successful” project in IT terms and find that the product is not what was expected, needed or hoped for. In agile development, the emphasis is absolutely on building the right product.
The active involvement, cooperation and collaboration make agile development teams a much more enjoyable place for most people. Instead of big specs, we discuss requirements in workshops. Instead of lengthy status reports, we collaborate around a task-board discussing progress. Instead of long project
plans and change management committees, we discuss what’s right for the product and project and the team is empowered to make decisions. In my experience this makes it a much more rewarding approach for everyone. In turn this helps to create highly motivated, high performance teams that are highly cooperative.
3.2 CHALLENGES
An agile approach to development is good for so many reasons. But agile development does require certain things that can also be a disadvantage.
If you’re thinking of adopting agile principles, it’s important that you know what you’re in for. You need to be sure that you, your project team and the management supporting your project all understand these trade-offs, and are happy to accept and support them in preference to a more traditional approach.
Here’s my list of challenges faced with agile:
everything completely up front, which arguably is impossible. And this risk is managed closely through the incremental approach to development and frequent delivery of product.
4.0 CONCLUSION
I believe these trade-offs are well worthwhile. Software is complex. People are complex. And the only thing that’s certain in projects is change. This lethal combination of unpredictability is more often than not helped by agile principles. So, in my view, for many project situations, the advantages of agile development far outweigh the disadvantages.