Quality Assurance Comparison in Traditional and Agile Methodologies
Aafia Kamal Sidra Sarwar Rana
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
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
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
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
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
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
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
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
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
 
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
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)
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
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
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
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.
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
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
 
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
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
Thank You!!!!!

Quality Assurance Comparison in Traditional and Agile Methodologies

  • 1.
    Quality Assurance Comparisonin Traditional and Agile Methodologies
  • 2.
    Aafia Kamal SidraSarwar Rana
  • 3.
    Abstract IntroductionLimitations 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
  • 4.
    Software quality isone 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
  • 5.
    Heavyweight methodologies areconsidered 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
  • 6.
    The major objectiveof 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
  • 7.
    Heavyweight methods disallowchange as opposed to agile processes A further limitation of heavyweight methodologies is the management of complexity Treatment of people involved in developing a process
  • 8.
    Biggest limitation ofagile 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
  • 9.
    Agile methods areadaptive 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
  • 10.
    Agile methods dealwith 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
  • 11.
    The most widelyused 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
  • 12.
  • 13.
    Waterfall model withSQA 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
  • 14.
    Primary characteristics ofAgile 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)
  • 15.
    A disciplined wayto 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
  • 16.
    TDD also knownas test first programming An approach to programming where agile software developers must first write a test that fails before they write new functional code
  • 17.
    TDD forces developersto 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
  • 18.
    Agile developers believethat tests are the artifacts that need to be developed and maintained throughout a project. Agilest consider acceptance tests to be the first requirement artifact.
  • 19.
    AMDD suggests thatit’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
  • 20.
    Agile methods includemany 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
  • 21.
  • 22.
    The quality ofsoftware 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
  • 23.
    In our researchpaper 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
  • 24.