• Tidak ada hasil yang ditemukan

Software quality assurance in scrum projects: a case study of development processes among scrum teams in South Africa

N/A
N/A
Protected

Academic year: 2023

Membagikan "Software quality assurance in scrum projects: a case study of development processes among scrum teams in South Africa"

Copied!
153
0
0

Teks penuh

Therefore, the purpose of this study was to investigate the extent to which software quality assurance measures can be understood and applied to maximize the quality of software projects developed under the Scrum methodology. Based on the results, recommendations can be summarized in 4 main points; (1) that to ensure quality assurance in Scrum, Scrum teams, especially team leaders, should enforce adherence to standards, regardless of time pressure and tight deadlines; (2) The practice of working with the customer to test end products as a quality assurance mechanism seems to work for all parties.

Importance of Information Technology

The quality of software as a function of software engineering is thus implied in this argument. Otherwise, the quality of a software product will be suspect without dexterity in the development process, and a resulting program may not function effectively (Mahanti, 2007).

Extent of Quality Assurance in Agile Methods

Research Problem

As Scrum grows in popularity and adoption in the software development industry, clarity on related quality assurance issues in its processes becomes not only important, but urgent. Due to this vacuum, the risk of failure (remaining realistic) is also unpredictable in Scrum projects.

Research Objective

They explained that Scrum is one of the most understudied approaches to software development in agile methods. The goal was to contribute additional insight into quality assurance in Scrum in order to contribute to the improvement of quality assurance practices in agile methods in general.

Research Question/s

Sub-questions

Terminology of the thesis

Structure of the thesis

Conclusion to Chapter One

Introduction

  • Software Quality
    • Quality as Fitness for Purpose
    • Quality as Meeting Customer Needs
  • Quality Assurance in Software Development
    • Quality Assurance as Process Validation and Verification
    • Software Testing as the Validation Process
  • Software Development Methodologies
    • Traditional Software Development Methods
    • Requirement Specification Phase
    • The Software Design Phase
    • The Coding Phase
    • The Testing phase
    • The Maintenance Phase
    • Agile Software Development Methodology
  • The Scope of SQA Research Coverage
  • Conclusion

One component of the software quality assurance process is process control, which provides control over the software development life cycle. The first important phase in the development life cycle that is critical to project success (Bender RBT Inc, 2003) is requirements gathering and analysis, known as requirements specification, by systems analysts (Smith, 2003).

Introduction

The uses of Theories in Research

  • Deductive Reasoning
  • Inductive Reasoning

Typology can be used in various disciplines within the spectrum of social sciences to clarify phenomena in terms of common characteristics between phenomena (Mouton, 1996). 28 The purpose of the current study was to understand the quality assurance practices adopted by software development teams within Scrum methodologies.

Software Engineering Theories

  • The Complexity Theory
  • Complex Adaptive System Theory
  • Theory of Boundary Objects
  • Control Theory

The theory is useful in sensitizing developers to the interactive dynamics among team members in agile projects. With this aspect in mind, the role of control theory was also investigated (section 3.2.4).

The Structuration Theory

  • Structure
  • System
  • Structuration

In this context, human (agent) action represents agency, which means that structure and agency are interconnected entities that are related and mutually interdependent (Giddens, 1984). The concept of duality of structure is implied in this argument in that there is a reciprocal relationship between agency and structure.

Relevance of Structuration Theory

  • A Successful Use of ST in Similar Studies

ST has been adopted to study the use of ICT information and communication technology (Stillman & Stoecker, 2005) and in agile software development (Stray, 2010). In software development in particular, ST has been used as a guide to understanding human (social) interaction with technology as software is produced and used (Lyytinen & Ngwenyama, 1992; Faegri, 2011). From this last example, it is clear that ST is a suitable theory to use in the analysis of agile software development environments.

The aim of the study was to use structural theory to study the interactions between people and technology.

The Application of Structuration Theory in this Study

  • Structure in a Scrum Project Environment
  • Rules and Resources in an Agile Scrum Development Environment
  • Practices (Agency) in an Agile Scrum Development
  • System in a Scrum Project Environment
  • Structuration in a Scrum Project Environment

As summarized in Table 2 and discussed in the following passages - this section describes the interpretation and translation of ST in this study. Planning includes rules, such as user stories, where the development team writes the system requirements document in the form of a story. In this regard, one of the rules is that only the items listed in the release plan should be implemented.

The purpose of the sprint meeting is to determine topics (agency) that must be included in the next sprint.

Conclusion

47 simple, cleanly readable, high-quality code and the use of exception handling in critical areas of the solution. It can also be a choice of the best way to improve the performance, usability and flexibility of the code. This chapter also discussed the importance of ST and how this theory has been successfully applied in various studies. 1997) demonstrated the clear importance of ST as an analytical lens in projects similar to the current one.

The application of ST in this study is presented in Section 3.5, as summarized in Table 2 and further discussed in Sections (3.5.1 to 3.5.3).

Introduction

Research Design

50 In this context, the research design consists of a research approach, which outlines the philosophical parameters, and a methodology to conduct the research. 52 Figure 3 shows a research paradigm scenario that leads to the research approach chosen for this study. It consists of philosophical underpinnings, including the ontology, epistemology, and the research methodology used in this study.

Figure 3: Research Approach
Figure 3: Research Approach

Ontology

  • Epistemology

Therefore, this approach is inappropriate for this study, as the research problem is about the uncertainty in relation to quality assurance patterns in Scrum teams. The nature of knowledge addressed in this study requires the researcher to understand the context and interpretation of the findings to form a theory, and therefore interpretation is suitable for this study. In this approach, reality is constructed from human knowledge, where the researcher has a direct interaction with participants in a research framework (Thorne, Kirkham & Flynn-magee, 2004).

The purpose of this study was to understand quality assurance processes adopted by software development teams within the Scrum methodologies.

Research Methodology

  • Qualitative Research Techniques
  • Sampling
  • Data Analysis

However, the aim of the current study was to understand the quality assurance processes applied by software development teams within the Scrum methodologies. Probability sampling can be further divided into three types, namely: simple random sampling, stratified sampling, and cluster sampling (Barbie & Mouton, 2001). The current study works across a broad spectrum where it was impossible to access the entire study population due to its sparseness. populated all over the world. Quota sampling is suitable for studies where there is no list of the research population being studied.

For this reason, content analysis was considered the most appropriate technique for the analysis of qualitative textual data in this study.

Conclusion

Introduction

Data Collection and Analysis

  • The Data Collection Process
  • Structuration Theory & Data Analysis

Thematic conclusions in the results - to minimize costs, rigid time-consuming practices and optimize relevant processes:. In the context of software quality assurance processes in Scrum projects, such relationships, reproduced as common social practices, turned out to be those that push existing relationships and related practices. In the context of quality assurance processes for Scrum software, determinants of the continuity of social structures were identified as those that follow procedures and practices to reduce the number of defects in production.

With the understanding of the emerging patterns of the status quo in the initial analysis, the insight from the findings in Table 5 is detailed in Section 5.3.

The Descriptive Presentation of Findings

  • Structuration Theory Thematic Data
  • Summary to the Theoretical Analysis of Findings

As a practice-based process, unit testing emphasizes following verification procedures during the development process. The interviews also revealed that some Scrum teams “…have [never] had a planning session where [they] specifically talked about quality” (NP – . 74 R4). According to this modus operandi, one cannot help but question the long-term relevance of the quality assurance aspect of Scrum projects.

For example, tools such as source control systems play an important role in the development process.

Discussion of Findings

  • Significance of Software Quality Assurance (SQA) in Scrum Projects
  • Success Rate in Scrum Projects
  • Explanations to Software Quality Assurance (SQA) Challenges in Scrum

What comes across strongly in this argument is that code reviews are (or should always be) part of the development process in Scrum projects. It is important to confirm that the product conforms to the requirements defined at the end of the sprint. As stated in the definition of quality, delivering a project on time is one of the quality assurance measures.

As mentioned in the previous paragraphs, insufficient time for testing is one of the factors that contribute to failed Scrum projects in terms of quality assurance.

Table 6: Application of Software Quality Assurance (SQA) in Scrum Projects
Table 6: Application of Software Quality Assurance (SQA) in Scrum Projects

Summary and Conclusion

It can therefore be concluded at this point that the code review is one of those quality assurance practices that is followed frequently, but optionally, all the time. These include insufficient development time (including testing time), lack of resources, low levels of skills - insufficient team members who understand the Scrum process, teams not aligned with Scrum practices, complicated communication structures in enterprise environments, and changing the way people working on. The results revealed that due to the flexible nature of Scrum, which "...does not tell in any way how to perform the QA measures or prescribe QA processes for QA measures" (JP – R1), some academic institutions rely on students to "...business understanding, understand the environment they work in" and business translation and have they been able to translate that understanding into a system" (AR – R5, LF – R7) and transfer the quality assurance testing function to the customer, in order to ensure the quality of their products.

The next chapter concludes the study and presents recommendations based on the findings discussed in this chapter.

Introduction

Summary of the Thesis

  • The Significance of Software Quality Assurance Processes
  • Measures of Product Quality
  • Success Rate of Scrum Projects
  • Explanations to Quality Assurance Challenges in Scrum Implementation

The researcher investigated the literature and in the second chapter presented a detailed overview of the state of the quality assurance process according to the Scrum methodology. In the context of software quality assurance processes in Scrum projects, such relationships are: that are reproduced as regular social practices (pushing existing relationships and related practices). The findings highlighted that quality assurance is not a priority for Scrum teams.

From the point of view of quality assurance and the Scrum process, the time factor has been considered as one aspect that affects the quality of the product.

Recommendations

  • Effecting the significance of quality assurance in Scrum
  • Measures to effect the quality of software products
  • Quality assurance and success rate of Scrum projects
  • Related challenges to Scrum projects implementations

It is clear beyond doubt from the findings that Scrum methods work best in environments where requirements change frequently and on small projects. According to the findings, although users sometimes fail to clearly explain what they want, often times, it is not the project that fails, but the process itself. It is clear from the findings that most Scrum teams experience common challenges, for example problems related to unclear requirements.

From a theoretical point of view, especially with the reformulation of rules, technology changes every day, so it is important to review and modify standards to reflect the quality needs of the project, and quality assurance planning should be included in the early stages of the project.

Suggestion for Future Research

Conclusion

Available at: http://www.my-project-management-expert.com/the-advantages-and-disadvantages-of-agile-software-development.html [Accessed January 9, 2015].

Appendices

Data Transcripts

In terms of deliveries lasting 12 schedules, we've had, we did 10 on time with all requirements delivered and the two we didn't make it because of the issues on our end. From a quality assurance perspective, what is the significance of the above quality measures, do they contribute to improving quality. We have a very stable platform, the problems that come back are usually not in terms of the technical implementation.

First, understand the needs of the business or the needs of the person, as well as understanding what the developers will be building.

Research Ethics Letter

I <>, as <>, give consent in principle to allow <>, a student at Cape Peninsula University of Technology, to collect data in this to the company as part of his/her M Tech (IT) research. The student explained to me the nature of his research and the nature of the data to be collected. This consent in no way binds any individual member of staff to participate in the research, and the student is expected to obtain the express consent of all participants.

Interview Request Letter/s

Interview Questions

The Agile Scrum process

Gambar

Figure 1: Thesis Structure
Figure 3: Research Approach
Table 6: Application of Software Quality Assurance (SQA) in Scrum Projects
Table 7: Significance of Software Quality Assurance (SQA) in Scrum Projects
+4

Referensi

Dokumen terkait

The results and discussion of cross-site data show that the marketing management of Vocational High Schools at SMK Negeri 1 Tamiang Layang and SMK Negeri 2 Tamiang