Heavy weight Vs light weight methodologies

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Slide 1: 

Quality Assurance Comparison in Traditional and Agile Methodologies

Group Members : 

Aafia Kamal Sidra Sarwar Rana Group Members

Presentation Outline : 

Presentation Outline 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

Abstract : 

Abstract 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

Introduction : 

Introduction 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

Introduction : 

Introduction 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

Limitations Of Traditional Or Heavyweight Methodologies : 

Limitations Of Traditional Or Heavyweight 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

Limitations Of Lightweight Or Agile Methodologies : 

Limitations Of Lightweight Or 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

Traditional Vs. Agile Methods : 

Traditional Vs. Agile Methods 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

Traditional Vs. Agile Methods : 

Traditional Vs. Agile Methods 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

Quality Assurance Techniques : 

Quality Assurance Techniques 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 : 

Waterfall model with SQA and V&V

Waterfall model with SQA and V&V : 

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

Agile Methods: Quality Techniques : 

Agile Methods: Quality Techniques 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)

Refactoring : 

Refactoring 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

Test Driven Development (TDD) : 

Test Driven Development (TDD) 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

Advantages of TDD : 

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 Advantages of TDD

Tests replace traditional artifacts : 

Tests replace traditional artifacts 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.

Agile Model Driven Development (AMDD) : 

Agile Model Driven Development (AMDD) 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: Quality Practices : 

Agile Methods: Quality Practices 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

Conclusion : 

Conclusion 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

Future work : 

Future work 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

Slide 24: 

Thank You!!!!!