Skip to main content

Quality Practices in Agile Approaches

Agile Approaches

Agile is an umbrella consisting of different methods adopted by the practitioners depending upon the circumstances. In the recent years Agile has been gaining popularity among software practitioners due to its ability in assisting the development team to deliver the software product in a short amount of time. 
Original Agile Approaches

Based on the circumstances under which the agile methodologies have been used can be classified into the following 3 categories:
Classification of Agile Approaches


  1. Agile Methodologies
    consist of the original agile methods
  2. Hybrid Agile Methodologies consist of a combination of several original agile methodologies e.g. Industrial Extreme Programming merged with practices of Rational Unified Process
  3. Miscellaneous category consists of methodologies adopting only certain aspects of the original agile methodologies
Extreme Programming, Test Driven/Test First Development, and SCRUM are among the most popular agile methodologies in an industry. Over the years various changes such as improved communication amongst the team members and customers, increased productivity via introduction of incentives, and improvement in team work have been introduced into the original agile methodologies in order to achieve the goals decided at the start of the software product's development.

Quality Assurance Practices

Quality assurance is about ensuring quality of the developed product. Some of the quality practices adopted during the development of a software product consist of:
Quality Assurance Practices

Code refactoring can be obtained e.g. by simplifying method calls, adopting coding defined coding styles and decomposing large functions into smaller ones.
System metaphors are used for developing an understanding of the system to be developed among the team members and the client.
Among these practices, most of them are already defined by the agile manifesto.

Some of these practices are limited to a certain agile method e.g. Code Refactoring and System Metaphors are limited to Extreme Programming method.

Quality Assurance Practices used in Agile Approaches

Following table lists the quality assurance practices used against a particular
agile approach: 
Quality Assurance Practices in Agile

Among all the above mentioned quality assurance practices, refactoring, iterative development, visual models, continuous testing, and customer collaboration have been found to be the most common quality practice adopted in various agile methodologies. Incorporation of such practices in agile methodologies has led to improved team work, communication and productivity in work environment, and at the same time has reduced code coupling, fault reduction, and code cohesion within the resultant software product.

References

  1. Sfetsos, Panagiotis, and Ioannis Stamelos. "Empirical studies on quality in agile practices: A systematic literature review." Quality of Information and Communications Technology (QUATIC), 2010 Seventh International Conference on the. IEEE, 2010.
  2. Jha, Madan Mohan, Rosa Maria Ferrer Vilardell, and Jai Narayan. "Scaling Agile Scrum Software Development: Providing Agility and Quality to Platform Development by Reducing Time to Market." Global Software Engineering (ICGSE), 2016 IEEE 11th International Conference on. IEEE, 2016.
  3. Ahmed, Faheem, and Luiz Fernando Capretz. "Best practices of RUP® in software product line development." Computer and Communication Engineering, 2008. ICCCE 2008. International Conference on. IEEE, 2008.
  4. Putra, I. Putu Edy Suardiyana, Arlisa Yuliawati, and Petrus Mursanto. "Industrial Extreme Programming practice's implementation in rational unified process on agile development theme." Advanced Computer Science and Information Systems (ICACSIS), 2012 International Conference on. IEEE, 2012.
  5. Maurer, Frank, and Sebastien Martel. "Extreme programming. Rapid development for Web-based applications." IEEE Internet computing 6.1 (2002): 86-90.
  6. Raju, H. K., and Y. T. Krishnegowda. "Kanban Pull and Flow—A transparent workflow for improved quality and productivity in software developmet." Communication and Computing (ARTCom 2013), Fifth International Conference on Advances in Recent Technologies in. IET, 2013.
  7. Itkonen, Juha, Kristian Rautiainen, and Casper Lassenius. "Towards understanding quality assurance in agile software development." ICAM 2005. 2005.
  8. Timperi, Olli P. "An overview of quality assurance practices in agile methodologies." T-76.650 SEMINAR IN SOFTWARE ENGINEERING, SPRING. 2004.


Comments

  1. Good research. Can't wait to see more articles like this one.

    ReplyDelete
  2. It's great to be here and to learn more about software testing. I'm a software tester in a leading Software Quality assurance testing services Company. This a great knowledge for all beginners. Appreciate your effort to write about this.

    ReplyDelete
  3. we are bangalore based SEO company services provider in bangalore
    since 2018. We focused on getting your website to the first page
    and more traffic & leads
    80955 38194

    https://bangaloredigitalmarketing.com/seo-company-in-bangalore/
    https://bangaloredigitalmarketing.com/seo-training-in-bangalore/
    https://bangaloredigitalmarketing.com/ppc-services-in-bangalore/
    https://bangaloredigitalmarketing.com/social-media-marketing-agency-in-bangalore/
    https://bangaloredigitalmarketing.com/content-writers-in-bangalore/
    https://bangaloredigitalmarketing.com/web-design-company-in-bangalore/
    https://bangaloredigitalmarketing.com/brochure-designers-in-bangalore/
    https://bangaloredigitalmarketing.com/logo-designers-in-bangalore/
    https://bangaloredigitalmarketing.com/local-seo-services-in-bangalore/
    https://bangaloredigitalmarketing.com/digital-marketing-course-in-bangalore/

    ReplyDelete
  4. Greps Ai specializes in digital transformation through services like Chatbot Development, API Development, and Software Development Designing. Our expertise in leveraging these technologies empowers businesses to achieve operational excellence and enhance customer satisfaction. Greps Ai for Business Growth strategic solutions are tailored to drive scalability and efficiency, making them an invaluable partner in navigating and thriving in today's competitive landscape.

    ReplyDelete

Post a Comment

Popular posts from this blog

How traceability of non-functional requirements is managed throughout the software development process?

1. Requirements Traceability: Requirements traceability is the process of describing and keeping track of a set of requirements throughout the system’s lifecycle. The process assists in managing changing requirements of a particular software product. Requirements traceability of is two types, forward traceability where a particular requirement involved during the design and implementation phases of the software system, and backward requirement traceability where a particular requirement is being traced back to its source. 2. Proposed Solutions for the Traceability of Non - Functional Requirements : The author J. Merilinna [8], proposed a framework supported by a tool to trace the non-functional requirements in both forward and backward direction. The proposed method is based on the context of DSM (Domain Specific Modeling).  The NFR+1 framework involved are used for the elicitation, definition and redefinition of the system’s non-functional requirements. The proposed

Software Architecture Views and Structures

Description of Views: In the year 1995 Kruchten presented his 4+1 architectural view model consisting of the following five types of views: Logical Development Process Physical Scenario Later with further development and research in the domain of architectural view following new views were developed to represent their respective structures: Views Sub-View of Description Logical None Highlights the functionalities provided by the system to the end-users. Unified Modeling Language (UML) diagrams such as the Class diagram, Domain diagram, Use Case diagram, State diagrams and Activity diagrams can be used to represent the logical view of the architecture. Development None It is also known as an implementation view. It is mainly concerned with the software project management. It represents the system with the programmer’s perspective. Process None It deals with the representation of