Quality Assurance Comparison in Traditional and Agile Methodologies

11,738 views
11,337 views

Published on

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,738
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
288
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Quality Assurance Comparison in Traditional and Agile Methodologies

  1. 1. Quality Assurance Comparison in Traditional and Agile Methodologies
  2. 2. <ul><li>Aafia Kamal </li></ul><ul><li>Sidra Sarwar Rana </li></ul>
  3. 3. <ul><li>Abstract </li></ul><ul><li>Introduction </li></ul><ul><li>Limitations Of Traditional Or Heavyweight Methodologies </li></ul><ul><li>Limitations Of Agile Or Lightweight Methodologies </li></ul><ul><li>Traditional VS Agile methods </li></ul><ul><li>Quality Assurance Techniques </li></ul><ul><li>Waterfall Model with SQA and V & V </li></ul><ul><li>Agile methods : Quality techniques </li></ul><ul><li>Agile methods : Quality Practices </li></ul><ul><li>Conclusion </li></ul><ul><li>Future work </li></ul>
  4. 4. <ul><li>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 </li></ul><ul><li>There are weaknesses and strengths in both methodologies </li></ul><ul><li>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 </li></ul>
  5. 5. <ul><li>Heavyweight methodologies are considered to be the traditional way of developing software </li></ul><ul><li>Heavyweight methodologies require defining and documenting a stable set of requirements at the beginning of a project </li></ul><ul><li>Agile methods emphasize working software as the primary measure of progress </li></ul><ul><li>Agile methods very little written documentation, develop s/w in short time boxes called iterations </li></ul>
  6. 6. <ul><li>The major objective of our research paper is to compare the quality assurance techniques of agile and traditional software development processes </li></ul><ul><li>Determine the similarities and differences between agile and traditional software quality assurance techniques </li></ul><ul><li>Investigate how agile methods integrate the support for software quality within their life cycle </li></ul>
  7. 7. <ul><li>Heavyweight methods disallow change as opposed to agile processes </li></ul><ul><li>A further limitation of heavyweight methodologies is the management of complexity </li></ul><ul><li>Treatment of people involved in developing a process </li></ul>
  8. 8. <ul><li>Biggest limitation of agile methodologies is the Handling of Larger Teams </li></ul><ul><li>Agile manifesto which states satisfy the customer through early and continuous delivery of valuable software </li></ul><ul><li>Most agile techniques do not support traditional walkthroughs and code inspections during the life-cycle </li></ul><ul><li>Relies on tacit knowledge embodied by the team, rather than writing the knowledge down as documentation </li></ul>
  9. 9. <ul><li>Agile methods are adaptive where as traditional methods are predictive </li></ul><ul><li>Waterfall model is the oldest and the most mature software development model so we have chosen it to investigate its QA process </li></ul><ul><li>Despite the success of Waterfall model, it has a number of drawbacks, like inflexibility in the face of changing requirements </li></ul>
  10. 10. <ul><li>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 </li></ul><ul><li>This enable agile methods to deliver product releases in a much short period of time compared traditional approach </li></ul><ul><li>This brings us to our research question, how can agile methods ensure product quality </li></ul>
  11. 11. <ul><li>The most widely used quality-focused processes are, Software Quality Assurance (SQA) and Verification and Validation (V&V) </li></ul><ul><li>Quality assurance techniques can be categorized into two types, static and dynamic </li></ul><ul><li>Waterfall model uses both static and dynamic techniques. However, agile methods mostly use dynamic techniques </li></ul>
  12. 13. Waterfall model with SQA and V&V <ul><li>Since the artifacts of one activity are the input for the succeeding activity, no succeeding phase can begin until the predecessor phase finishes </li></ul><ul><li>It’s a slow Process too many dependents </li></ul><ul><li>No customer involvement </li></ul>
  13. 14. <ul><li>Primary characteristics of Agile methods include Simple Planning, Short Iteration, Earlier release and Frequent customer feedback </li></ul><ul><li>In order to support high quality assurance agile methods include the following concepts & techniques </li></ul><ul><ul><ul><li>Refactoring </li></ul></ul></ul><ul><ul><ul><li>Test Driven Development (TDD) </li></ul></ul></ul><ul><ul><ul><li>Tests replace traditional artifacts </li></ul></ul></ul><ul><ul><ul><li>Agile model driven development (AMDD) </li></ul></ul></ul>
  14. 15. <ul><li>A disciplined way to make small changes to source code to improve its design and making it easier to work </li></ul><ul><li>The developers neither add nor remove any functionality or logic they merely improve its quality </li></ul><ul><li>Refactoring throughout entire project life cycle saves time and increase quality </li></ul>
  15. 16. <ul><li>TDD also known as test first programming </li></ul><ul><li>An approach to programming where agile software developers must first write a test that fails before they write new functional code </li></ul>
  16. 17. <ul><li>TDD forces developers to do detailed design just in time (JIT) before they write a code </li></ul><ul><li>It ensures that agile developers have testing code available to validate their work, ensuring that they test as early as possible </li></ul><ul><li>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 </li></ul>
  17. 18. <ul><li>Agile developers believe that tests are the artifacts that need to be developed and maintained throughout a project. </li></ul><ul><li>Agilest consider acceptance tests to be the first requirement artifact. </li></ul>
  18. 19. <ul><li>AMDD suggests that it’s a good idea to model before you code </li></ul><ul><li>With AMDD you do a little bit of modeling and then a lot of coding, iterating back when you need to </li></ul><ul><li>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 </li></ul>
  19. 20. <ul><li>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 </li></ul><ul><ul><li>On-site customer </li></ul></ul><ul><ul><li>Pair programming </li></ul></ul><ul><ul><li>Continuous integration </li></ul></ul><ul><ul><li>Acceptance testing </li></ul></ul>
  20. 22. <ul><li>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 </li></ul><ul><li>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 </li></ul>
  21. 23. <ul><li>In our research paper we analyze the quality assurance techniques of both Waterfall model and agile approach and conclude with the comparison. </li></ul><ul><li>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. </li></ul><ul><li>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 </li></ul>
  22. 24. <ul><li>Thank You!!!!! </li></ul>

×