Quality Assurance in Agile Software Development

Author(s):  
Iwona Dubielewicz ◽  
Bogumila Hnatkowska ◽  
Zbigniew Huzar ◽  
Lech Tuzinkiewicz

Agile methodologies have become very popular. They are defined in terms of best practices, which aim at developing good quality software faster and cheaper. Unfortunately, agile methodologies do not refer explicitly to quality assurance, which is understood as a planned set of activities performed to provide adequate confidence that a product conforms to established requirements, and which is performed to evaluate the process by which products are developed. The chapter considers the relations of agile practices with software life cycle processes, especially those connected to quality assurance, and tries to answer the question of which agile practices ensure software quality. Next, agile practices associated with quality assurance are assessed from different perspectives and some recommendations for their usage are given. It is observed that modeling has a particular impact on quality assurance.

Author(s):  
Iwona Dubielewicz ◽  
Bogumiła Hnatkowska ◽  
Zbigniew Huzar ◽  
Lech Tuzinkiewicz

Agile methodologies have become very popular. They are defined in terms of best practices, which aim at developing good quality software faster and cheaper. Unfortunately, agile methodologies do not refer explicitly to quality assurance, which is understood as a planned set of activities performed to provide adequate confidence that a product conforms to established requirements, and which is performed to evaluate the process by which products are developed. The chapter considers the relations of agile practices with software life cycle processes, especially those connected to quality assurance, and tries to answer the question of which agile practices ensure software quality. Next, agile practices associated with quality assurance are assessed from different perspectives and some recommendations for their usage are given. It is observed that modeling has a particular impact on quality assurance.


JAMIA Open ◽  
2021 ◽  
Vol 4 (4) ◽  
Author(s):  
Andrew R Post ◽  
Jared Luther ◽  
J Maxwell Loveless ◽  
Melanie Ward ◽  
Shirleen Hewitt

Abstract Objective The Huntsman Cancer Institute Research Informatics Shared Resource (RISR), a software and database development core facility, sought to address a lack of published operational best practices for research informatics cores. It aimed to use those insights to enhance effectiveness after an increase in team size from 20 to 31 full-time equivalents coincided with a reduction in user satisfaction. Materials and Methods RISR migrated from a water-scrum-fall model of software development to agile software development practices, which emphasize iteration and collaboration. RISR’s agile implementation emphasizes the product owner role, which is responsible for user engagement and may be particularly valuable in software development that requires close engagement with users like in science. Results All RISR’s software development teams implemented agile practices in early 2020. All project teams are led by a product owner who serves as the voice of the user on the development team. Annual user survey scores for service quality and turnaround time recorded 9 months after implementation increased by 17% and 11%, respectively. Discussion RISR is illustrative of the increasing size of research informatics cores and the need to identify best practices for maintaining high effectiveness. Agile practices may address concerns about the fit of software engineering practices in science. The study had one time point after implementing agile practices and one site, limiting its generalizability. Conclusions Agile software development may substantially increase a research informatics core facility’s effectiveness and should be studied further as a potential best practice for how such cores are operated.


2009 ◽  
pp. 2700-2713
Author(s):  
Orit Hazzan ◽  
Yael Dubinsky

This chapter presents a teaching framework for agile quality—that is, the way quality issues are perceived in agile software development environments. The teaching framework consists of nine principles, the actual implementation of which is varied and should be adjusted for different specific teaching environments. This chapter outlines the principles and addresses their contribution to learners’ understanding of agile quality. In addition, we highlight some of the differences between agile software development and plan-driven software development in general, and with respect to software quality in particular. This chapter provides a framework to be used by software engineering instructors who wish to base students learning on students’ experiences of the different aspects involved in software development environments.


Author(s):  
O. Hazzan

This chapter presents a teaching framework for agile quality—that is, the way quality issues are perceived in agile software development environments. The teaching framework consists of nine principles, the actual implementation of which is varied and should be adjusted for different specific teaching environments. This chapter outlines the principles and addresses their contribution to learners’ understanding of agile quality. In addition, we highlight some of the differences between agile software development and plan-driven software development in general, and with respect to software quality in particular. This chapter provides a framework to be used by software engineering instructors who wish to base students learning on students’ experiences of the different aspects involved in software development environments.


2009 ◽  
pp. 3272-3293
Author(s):  
Ernest Mnkandla ◽  
Barry Dwolatzky

This chapter is aimed at comprehensively analyzing and defining agile methodologies of software development from a software quality assurance perspective. A unique way of analyzing agile methodologies to reveal the similarities that the authors of the methods never tell you is introduced. The chapter starts by defining agile methodologies from three perspectives: a theoretical definition, a functional definition, and a contextualized definition. Then an agile quality assurance perspective is presented starting from a brief review of some of the traditional understandings of quality assurance to the innovations that agility has added to the world of quality. The presented analysis approach opens a window into an understanding of the state-of-the-art in agile methodologies and quality, and what the future could have in store for software developers. An understanding of the analysis framework for objectively analyzing and comparing agile methodologies is illustrated by applying it to three specific agile methodologies.


Author(s):  
E. Mnkandla ◽  
B. Dwolatzky

This chapter is aimed at comprehensively analyzing and defining agile methodologies of software development from a software quality assurance perspective. A unique way of analyzing agile methodologies to reveal the similarities that the authors of the methods never tell you is introduced. The chapter starts by defining agile methodologies from three perspectives: a theoretical definition, a functional definition, and a contextualized definition. Then an agile quality assurance perspective is presented starting from a brief review of some of the traditional understandings of quality assurance to the innovations that agility has added to the world of quality. The presented analysis approach opens a window into an understanding of the state-of-the-art in agile methodologies and quality, and what the future could have in store for software developers. An understanding of the analysis framework for objectively analyzing and comparing agile methodologies is illustrated by applying it to three specific agile methodologies.


Author(s):  
Rosnani Shuib Et.al

In agile software development methodology, software product is developed through a few iterations and delivered incrementally. In spite of the known benefits of the agile methodology, yet issue still exists in developing high-quality software product using this methodology. Hence, quality assurance mechanism should be in place in agile development to ensure quality adherence to the software product.  However, taking up quality assurance in agile software development is not an easy task as it has its own manifesto and principles that need to be met. Thus, this paper highlights the issues and challenges towards adopting quality assurance in agile development methodology.  Particularly, in aniteration where we need to assure that the product increment meets the requirements as well as to decide the requirements for next increment and iteration planning. Subsequently, few measuresare identifiedconcerning the issues. The discussion in this paper is based on Scrum case, yet still relevant to other types of agile methodologies.


Author(s):  
Pankaj Kamthan

The movement towards agility is one of the most significant changes in industrial software engineering over the past decade. In the practice of agile methodologies, there are different types of knowledge that is created, communicated, and consumed. For the benefit of the stakeholders involved, there is a pressing need to manage this knowledge, both during development and beyond deployment of a software system. This chapter proposes a framework comprising related conceptual models as means for understanding the use of Wiki for managing knowledge in agile software development. In doing so, Wiki is considered beyond that of a technology or a tool, as a facilitator of knowledge, and placed in a larger context of the Social Web environment. For the sake of practicality, a number of illustrative examples are given, and implications of deploying a Wiki are highlighted.


Author(s):  
Vinay Kukreja ◽  
Amitoj Singh

In the globalization of fast changing business and technology environment, it becomes very important to respond quickly to changing user requirements. Traditional methodologies are not appropriate for the projects where user requirements are not fixed. Agile methodologies have been developed to cope up with user changing requirements and emphasize more on working software and customer collaboration. Agile is an umbrella term and it is used for many software development methodologies which shares common characteristics. This chapter mainly focuses on the working methodology of agile development and the usage areas of industry where agile development is implemented. Agile software development is difficult in distributed environment as the team members are at distributed locations. This chapter discusses agile industry applicability enablers which are useful for agile software development in distributed environment.


Sign in / Sign up

Export Citation Format

Share Document