quality assurance comparison in traditional and agile methodologies

24
Quality Assurance Comparison in Traditional and Agile Methodologies

Upload: coolbreeze130

Post on 11-May-2015

8.711 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Quality Assurance Comparison in Traditional and Agile Methodologies

Quality Assurance Comparison in Traditional and Agile

Methodologies

Page 2: Quality Assurance Comparison in Traditional and Agile Methodologies

Aafia Kamal Sidra Sarwar Rana

Page 3: Quality Assurance Comparison in Traditional and Agile Methodologies

Abstract Introduction Limitations Of Traditional Or Heavyweight Methodologies Limitations Of Agile Or Lightweight Methodologies Traditional VS Agile methods Quality Assurance Techniques Waterfall Model with SQA and V & V Agile methods : Quality techniques Agile methods : Quality Practices Conclusion Future work

Page 4: Quality Assurance Comparison in Traditional and Agile Methodologies

Software quality is one of most important software concerns now days. There are several methodologies for software development but the most common among them are heavyweight and lightweight methodologies

There are weaknesses and strengths in both methodologies

In this paper we analyze various quality assurance techniques of traditional methods and agile processes to show how agile methods and traditional methods achieve software quality

Page 5: Quality Assurance Comparison in Traditional and Agile Methodologies

Heavyweight methodologies are considered to be the traditional way of developing software

Heavyweight methodologies require defining and documenting a stable set of requirements at the beginning of a project

Agile methods emphasize working software as the primary measure of progress

Agile methods very little written documentation, develop s/w in short time boxes called iterations

Page 6: Quality Assurance Comparison in Traditional and Agile Methodologies

The major objective of our research paper is to compare the quality assurance techniques of agile and traditional software development processes

Determine the similarities and differences between agile and traditional software quality assurance techniques

Investigate how agile methods integrate the support for software quality within their life cycle

Page 7: Quality Assurance Comparison in Traditional and Agile Methodologies

Heavyweight methods disallow change as opposed to agile processes

A further limitation of heavyweight methodologies is the management of complexity

Treatment of people involved in developing a process

Page 8: Quality Assurance Comparison in Traditional and Agile Methodologies

Biggest limitation of agile methodologies is the Handling of Larger Teams

Agile manifesto which states satisfy the customer through early and continuous delivery of valuable software

Most agile techniques do not support traditional walkthroughs and code inspections during the life-cycle

Relies on tacit knowledge embodied by the team, rather than writing the knowledge down as documentation

Page 9: Quality Assurance Comparison in Traditional and Agile Methodologies

Agile methods are adaptive where as traditional methods are predictive

Waterfall model is the oldest and the most mature software development model so we have chosen it to investigate its QA process

Despite the success of Waterfall model, it has a number of drawbacks, like inflexibility in the face of changing requirements

Page 10: Quality Assurance Comparison in Traditional and Agile Methodologies

Agile methods deal with unstable and volatile requirements by using a number of techniques i.e. simple planning, short iteration, earlier release, and frequent customer feedback

This enable agile methods to deliver product releases in a much short period of time compared traditional approach

This brings us to our research question, how can agile methods ensure product quality

Page 11: Quality Assurance Comparison in Traditional and Agile Methodologies

The most widely used quality-focused processes are, Software Quality Assurance (SQA) and Verification and Validation (V&V)

Quality assurance techniques can be categorized into two types, static and dynamic

Waterfall model uses both static and dynamic techniques. However, agile methods mostly use dynamic techniques

Page 12: Quality Assurance Comparison in Traditional and Agile Methodologies
Page 13: Quality Assurance Comparison in Traditional and Agile Methodologies

Waterfall model with SQA and V&V Since the artifacts of one activity are the

input for the succeeding activity, no succeeding phase can begin until the predecessor phase finishes

It’s a slow Process too many dependents No customer involvement

Page 14: Quality Assurance Comparison in Traditional and Agile Methodologies

Primary characteristics of Agile methods include Simple Planning, Short Iteration, Earlier release and Frequent customer feedback

In order to support high quality assurance agile methods include the following concepts & techniques

Refactoring Test Driven Development (TDD) Tests replace traditional artifacts Agile model driven development (AMDD)

Page 15: Quality Assurance Comparison in Traditional and Agile Methodologies

A disciplined way to make small changes to source code to improve its design and making it easier to work

The developers neither add nor remove any functionality or logic they merely improve its quality

Refactoring throughout entire project life cycle saves time and increase quality

Page 16: Quality Assurance Comparison in Traditional and Agile Methodologies

TDD also known as test first programming

An approach to programming where agile software developers must first write a test that fails before they write new functional code

Page 17: Quality Assurance Comparison in Traditional and Agile Methodologies

TDD forces developers to do detailed design just in time (JIT) before they write a code

It ensures that agile developers have testing code available to validate their work, ensuring that they test as early as possible

It encourages them to refractor their code to keep it at highest quality possible because they know that there is a test suite in place that will detect if they have broken anything as the result of refractoring

Page 18: Quality Assurance Comparison in Traditional and Agile Methodologies

Agile developers believe that tests are the artifacts that need to be developed and maintained throughout a project.

Agilest consider acceptance tests to be the first requirement artifact.

Page 19: Quality Assurance Comparison in Traditional and Agile Methodologies

AMDD suggests that it’s a good idea to model before you code

With AMDD you do a little bit of modeling and then a lot of coding, iterating back when you need to

Your design efforts are now spread out between your modeling and coding activities, with the majority of design being done as part of your implementation efforts

Page 20: Quality Assurance Comparison in Traditional and Agile Methodologies

Agile methods include many practices to support quality assurance. We now list these practices and compare them with the quality techniques used in waterfall model

On-site customer Pair programming Continuous integration Acceptance testing

Page 21: Quality Assurance Comparison in Traditional and Agile Methodologies
Page 22: Quality Assurance Comparison in Traditional and Agile Methodologies

The quality of software in agile framework is better than traditional framework because the Agilist developers ensure their code’s good design, quality and functionality through refactoring, TDD and other practices

Also the quality assurance and testing and bug fixing activities are more frequent and start at a very early stage in the agile process as compared to the traditional framework

Page 23: Quality Assurance Comparison in Traditional and Agile Methodologies

In our research paper we analyze the quality assurance techniques of both Waterfall model and agile approach and conclude with the comparison.

We have focused and highlighted a few quality practices in this paper. Further work can be done in order to identify more quality practices of both Waterfall model and agile approach.

The application of agile SQA practices is still a new topic and much research can be done in this field to better improve the software quality with agile development

Page 24: Quality Assurance Comparison in Traditional and Agile Methodologies

Thank You!!!!!