You are on page 1of 6

Scope and Implementation of Scrum Framework in Quality

Assurance Activity of Developing software product


Farah Munawar
Institute of Business and Information Technology
University of the Punjab, Lahore, Pakistan
{F17BA013}@ibitpu.edu.pk

Abstract- The Complexity of programming is expanding day by day the need and requirement for a verity of
software products increases, this requires the provision of a strong tool that will make a harmony among
production and quality. The act of applying software metrics to the development process and to a software
product is a basic undertaking and crucial enough that requires study and control and which brings
information on the status of the process or potentially result of software products with respect to the
objectives to accomplish, this order is known as quality assurance which is the critical factor behind the
achievement of each software engineering product, the quality assurance exercises are what bring about
qualitative product as well as the process in both conventional software development methodology and agile
methodology. Nonetheless, agile methodology is presently getting one of the prevailing methods adopted by
the majority of the software industries since it permits creating of software with limited requirements and
supports fast changes in the requirements. This research paper meant to contemplate the quality assurance
activities in agile methodology by executing scrum, explore the common issues and key drivers of quality in
agile, and propose a solution for improve the practice of SQA in agile methodology by analyzing the
boundaries that guarantee quality in agile software.

Keywords- Quality Assurance, Scrum, Agile Methodology, CMMI


In fact, a quality is considered as the most important and vital
1.0 INTRODUCTION requirement of software products, a business
The fundamental purpose for software engineering is to give
a process and standards to building a qualitative software that
is conveyed on schedule, inside budget plan and order with its essential, a competitive necessity, and even a survival issue
requirements, this software engineering principle facilitate the for the soft-ware industry (Murugesan, 1994).
process of building the software product and lessen the rate of
software product failure, However, building a qualitative 1.1 BACKGROUND OF THE STUDY
software require more basic strategies in which failure to Notwithstanding that, from what some scholars have found,
receive them cautiously still prompts a verity of software we have seen how Software Quality Assurance play a very
product failure. vital and critical role in the success of every software
products, for us to study the practice of quality assurance in
Companies spend billions of dollars on IT projects each year, the agile methodology we need to clearly understand the
with average spending at 4 to 5 percent of their annual concept of software quality and quality assurance and we
revenue on IT (Charette, 2005). In 2005, companies and indeed require the knowledge of Software development life
organizations spent an estimated $1 trillion on Information cycle SDLC and agile development process. In software
Technology hardware, software, and services worldwide development industries the concept of quality is defined and
(Charette, 2005). Project failures have cost the US economy expressed in many different ways, some scholar’s definitions
at least $25 billion and maybe as much as $75 billion focus on error-free functionality of software product whereas
(Charette, 2005). Based on the recent project failure statistics, some scholars are found to emphasize on customer
companies have wasted billions of dollars on IT projects satisfaction with the developed software product, but it is
alone. Many researchers have written about the causes of really hard to cite an absolute definition of quality even after
software project failure and have come up with suggestions going through literature. Verily it is never easy defining
and critical success factors for effective management of “quality” you can simply take it as it perfectly suite serving
projects. This research takes a different approach by your purpose, nevertheless it plays a very vital role when it
examining how software quality assurance practices in agile comes to meeting the expectation of your client, so
methodology can impact project outcomes. considering the quality of a product or service is a key to the
It is author‟s contention that software quality assurance success of your team, company or an organization.
(SQA) plays a vital and critical role in the life cycle of
building a software, known as the software development life Sajid Ibrahim Hashmi and JongmoonBaik carried out a
cycle (SDLC) and can impact the overall success of a project. comparison between XP and the spiral model and the focus
Failure to focus to SQA can result in budget overruns, was on quality assurance. They claim that in agile
schedule delays, failure to meet project objectives and development, developers may also be responsible for QA
requirements, and poor customer satisfaction (Chow, 1985). activities [1]. Agile development projects consist of short
iterative development and release of products. And projects, backlog. They divide the items into additional refined
following agile development, evolve around the developer functionality and identify the person responsible for that.
and customer who are responsible to maintain product quality daily throughout the sprint a 15-20 minutes daily start meeting
[2]. If responsibility for the quality, in agile development, is is scheduled, wherever each member responds to each other
shifted on customer and developer, then the supporting role about their completed activities, current handing activities
of QA must be identified. SQA is not only res possible for a and risk analyzed. within the sprint review
particular project but also maintains the processes and culture meeting, the scrum development team shows an illustration of
of the organization. In (Charles Field et al,, 2007)[3] User developed operating product with their features to the product
Experience Design (UXD) team approach is introduced owner and stakeholders and gets feedback from attendees.
collaborating with developers, this UXD team approach Any new requirements from the feedback are always placed
seems an attempt to redefine and replace the role of SQA in into product backlog. The team attends retrospective meeting
agile projects. to discuss sprint feedbacks on the method adopted but not the
product. Before the delivery of the product of any sprint, team
1.1.1 Agile Development Methodology reconsiders the remaining PBIs to form sprint backlog of the
The need to develop high-quality software products robust next sprint.
and reliable in a short time has prompted many companies to
adopt the Agile software development method, most \
companies apply these methods especially for small-scale and
relatively simple projects with successful development (Cho,
Kim, & Olsen, 2006)[4]. According to Cho et al., (2006),
agile software development is considered to be more flexible
and adaptable in catering the frequently changing needs of
clients, as well as manageble for small teams deployed. Agile
Development Methodology is an iterative and gradual
development methodology, where requirements change
according to user needs (Sharma, 2012)[5]. According to
Kumar & Bhatia (2014)[6] the s the cycle stages in the system
development process are: Handling Change of Requirements,
Fault Detection, Increased Performance, Iterative and
incremental delivery, Flexibility of Design and Improvement
in Quality.
Figure 1: Meeting Overview
1.1.2 AGILE METHODOLOGY WITH SCRUM
Scrum includes meeting, artifacts and team roles. There are 1.1.3 PROPOSED DEVELOPMENT PROCESS
three roles outlined that are product owner, scrum master, and
scrum development team. the product owner is answerable for Test automation is made to check a developing software
defining functionalities focusing return on investment. The product. Development of software test automation is
functionalities of the product as priority ordered requirements somewhat equivalent to developing a software system project.
(or product backlog items) are listed in a document named as Figure two presents the basic software system development to
Product Backlog (PB). the number of four to nine individuals deliver cycle. So, initially developing this testing tool might
acting as a scrum development team is answerable for take a disturbance period before product developers found it
collaborating to develop, test and deliver the software more helpful comparing to manual testing. Let say
product. scrum master acts as a assistant between product development and test automation both are being developed
owner and development team. His role is to arrange meetings, within the scrum, therefore these 2 scrums named as PD
implementing time boxes, helping individuals to develop scrum and Ta scrum respectively.
understanding to use scrum, etc.
Generally, project manager can’t act as scrum master. Total Figure 2:Basic development to deliver cycle
development time of the merchandise is divided into smaller
deliverable timeframe referred to as sprints. every sprint
incorporates a length of 2 to four weeks; which incorporates Develop Unit Test Integrate
all the phases of software development life cycle [7]. Figure
1 represents the overall meeting process

The team do sprint planning meeting for identifying current


sprint activities exploitation product backlog items (PBI) that Final Test System Test Deliver
may be defined during a document referred to as sprint
The product coming up with meeting of both Pd scrum and ta The above-mentioned technique describes the development of
scrum could be combined as these are interconnected. And a product during which it has to be delivered in sprints by
two product backlogs ought to be created. Ta scrum Pb ought optimizing the testing time using automation. Once an
to have higher priority PBIs supported PBIs of Pd scrum and automated software system framework is created, it's the time
usually more numbers of PbIs are there in Ta scrum PB. The to increasing its coverage. the development of a new
risk-based testing helps when deciding the order and functionality among the software system tool framework
functionality to test as everything can’t be tested throughout needs less time. The chart 1 shows an attainable practice
the initial stage. Also, a large number of automation percentage of automation testing for a product development
developers are needed at that point. It may be attainable to in every sprint. Automation testing typically doesn’t have the
check the product manually for few beginning scrums. Few ability for system and integration testing. it's the
members of Ta team can be dedicated to support the manual responsibility of test engineer to perform unit testing tool and
testing of current pd sprint release software. manually integrate through automation testing the test results
to get an overview of system or integration tests. it's attainable
In agile few managers forever assume whether or not a to form a scenario using scripts which may be replicated as
dedicated tester is needed or members of the project team system test. But still, it's not much attainable to skip manual
ought to be multi skilled to test the product? It will cause testing for a product and totally place confidence in
compromising quality of end product once testing role isn't automation framework.
valued [8]. Also, its is extremely vital to keep team members
awake to the progress therefore the scrum meetings are vital.
a total of 3 scrum meetings of 10 to fifteen minutes ought to
be done a day. In initial meeting one both the teams share their
progress. And in other 2 meetings individual engineer or
developer progress must focus.

Sprint planning meetings are often done on an individual basis


by both the groups. There ought to be 2 separate sprint review
meeting; first one is between each of the groups and second
ought to embody stakeholders also. the primary review
meeting ought to demonstrate the practicality of the test
automation software and within the second, the deliverable
product ought to be demonstrated. And just one retrospective Chart 1: Percentage use of automation testing and manual testing
meeting ought to manage to discuss the sprint feedback.
Figure 3 describes the overview of the planned meeting As an application, test automation framework defines
summary. common functions like handling external files, GUI
Figure 3: Propose Meeting Overview interaction, provides templates for test structure, and so
developing an automatic an automated is extremely just like
developing software system applications [9]. Therefore, it
wants a plan to trace its bugs frequently and deliver a tested
automated software system tool [10]. Also, like different
software system development projects, it's necessary to
produce user documentation for this tool which might
facilitate developers to use the tool for developing feature
testing.
The agile technique produces software faster and enhances
quality. The paper focuses on the quality factors and depicts
how these factors enhance the quality of software. An agile
software life cycle is a series of steps that show the software
quality process. Response to the variable requirements,
customer satisfaction level, and the continuous delivery of the
software is the major advantage of agile while its
disadvantage is that it is difficult to access the effort (in terms
of time and cost) required at the beginning of the life cycle. In
summary agile methodologies enhances the flexibility of the
software system. (H. Amran, M. A. Kashem and S. Sahelee,
2013) [11]
2.0 RESEARCH GOAL Face-to-face Preferred way of exchanging
Thus, as we have seen earlier there is need to propose communication information about a project as opposed
solutions to the problems in containing quality assurance in to use of telephone, email, etc.
agile software development, and there is need to feel the gaps, Implemented in the form of daily stand-
the main goal of the research paper is to answer the above- up meetings of not more than twenty
asked questions and analyze the quality assurance practices’ minutes (Huo et al, 2004). This is
in agile methodologies, their abilities, and their frequency. similar to the daily Scrum in the Scrum
method. It brings accountability to the
The main focus of this paperwork is to highlight some gaps in work in progress, which vital for
agile SQA activities and to put forward suggestions for quality assurance.
improvement by answering the following questions. On-site A customer who is a member of the
customer development team, Responsible for
1) What are the key drivers to quality assurance in agile clarifying requirements (Huo et al.,
methodology? 2004)
2) How can we manage and control the quality of the Frequent Each time there is a release the
agile process? customer customer gives feedback on the system,
3) What QA practice in agile will ensure quality while feedback and result is to improve the system to
developing software product? be more relevant to needs of the
customer (Huo et al., 2004). Quality is
3.0 EVALUATION OF QUALITY IN AGILE in fact meeting customer requirements.
PROCESS System Simple story of how the system works
metaphor (Huo et al., 2004), Simplifies the
However, we can evaluate quality assurance practices in discussion about the system between
agile processes. which can be done through: customer/ stakeholder/ user and the
• The provision of clear and detailed knowledge developer into a nontechnical format.
about specific quality issues in the agile Simplicity is a key to quality Table 1,
processes. agile quality technique as
• Identifying innovative ways to improve quality
in agile. Huo et al. (2004) developed a comparison technique whose
• Identifying specific agile quality techniques for aim was to provide a comparative analysis between quality
specific agile methodologies assurance in the waterfall software development model (as a
Technique Description representative of the traditional camp) and quality in the agile
Refactoring Make small changes to code, Code methodologies. The results of the analysis showed that there
behavior must not be affected, resulting is indeed quality assurance in agile development, but it is
code is of higher quality (Ambler, achieved in a different way from the traditional processes.
2005) The limitations of Huo et al.‟s tool, nevertheless, are that the
Test-driven Make small changes to code, Code analysis:
development behavior must not be affected, resulting • Singles out two main aspects of quality management
code is of higher quality (Ambler, namely quality assurance and verification and
2005). validation.
Acceptance Create a test, Run the test, Make • Overlooks other precious QA techniques used in
testing changes until the test passes (Ambler, agile processes to achieve higher quality
2005). management.
Continuous Quality assurance test done on a • Agile quality assurance requires a step beyond the
integration finished system, usually involves the traditional software quality assurance approaches.
users, sponsors, customer, etc. (Huo,
Verner, Zhu, & Babar, 2004). Another challenge of Huo et al.‟s technique is that while the
Pair Done on a daily basis after developing main purpose of that analysis was to show that there is quality
programming a number of user stories. Implemented assurance in agile processes, it does not make it clear what the
requirements are integrated and tested way forward is. Agile proponents do not seem to be worried
to verify them. This is an important about the comparison between agile and traditional processes
quality feature. Two developers work as some of the more zealous “agilists” believe that there is no
together in turns on one PC, Bugs are way traditional methods can match agile methods in any
identified as they occur, Hence the situation (Tom Poppendieck, personal email 2005).
product is of a higher quality (Huo et
al., 2004)
4.0 AGILESOFTWARE PROCESS IMPROVEMENT 6.0 CONCLUSIONS

A clear view of agile processes leads to a notion that agile Even though some agile practices are not new, agile methods
methodologies are a group of processes and activities that are recent and have become very popular in the industry.
reduces the timeframe for developing a software program and There is an important need for developers to know more about
introduced innovative techniques for embracing rapidly the quality of the software produced. Developers also need to
changing business requirements. With time, these relatively know how to revise or tailor their agile methods in order to
new techniques of QA should develop into mature software attain the highest level of quality they require. In this paper,
engineering standards. However, we have seen that Enabling we have analyzed quality assurance practices‟ in agile
Reusability in Agile Software Development (C. Inderveer et methodologies, their abilities, and their frequency. The
al, 2012) 2.8) Agile Practices: 2.9) [12] is what makes the conclusion we draw here is: 1) most of the agile methods
process of building software more time effective. practices have quality assurance abilities, some of them are
inside the development phase and some others can be
5.0 THE AGILE METHODOLOGY EVALUATION separated out as supporting practices 2) the frequency with
FRAMEWORK which this agile Quality Assurance practices occur is higher
than in a waterfall development 3) agile QA practices are
All agile methodologies have striking similarities amongst supported in very early phases of agile due to the agile process
their processes because they are based on the four agile values characteristics. However, is difficult, sometimes even not
and 12 principles. It is interesting to note that even the authors realistic to compare the software quality resulting from the
of agile methodologies no longer emphasize their use of a waterfall model with agile methods because their
methodology boundaries and would use practices from other initial development conditions, especially the cost, are not
agile methodologies as long they suit a given situation ( comparable. The primary goal of automation should be to
(Beck, K. et al., 2004)[13]. In fact, Kent Beck in his extreme increase test coverage, and not only to cut testing costs.
programming (XP) masterclasses frequently mentions the Complete testing is practically impossible and testing usually
errors of extremism in the first edition of his book on XP takes more than 50% of the development budget of several
(Beck, 1999) [14]. A detailed review of agile methodologies projects. And therefore, it is very important to make the test
reveals that agile processes address the same issues using automation framework modular and platform independent
different real-life models. The evaluation technique presented [15]. There are few key advantages of using automation
in this paper reveals, for example, that lean development (LD) software: accelerate releases by speeding up testing; more
views software development using a manufacturing and frequent testing to happen; reduce costs of testing; improves
product development metaphor. Scrum views software reliability of testing; allow testing to be done by staff with less
development processes using a control engineering metaphor. skill [16]. Using the proposed method of development of
Extreme programming views software development activities product with test automation will speed up the delivery and in
as a social activity where developers sit together. Adaptive addition to required product company could own its ready-
systems development (ASD) views software development made platform independent testing framework in lesser time.
projects from the perspective of the theory of complex self- The test automation software team can also work with
adaptive systems (Mnkandla, 2006). Tables 1 to 2 summarize different Productization teams to deliver products in the
the analysis of agile methodologies. Only a few of the existing sprints by enabling their testing scenarios with the existing
agile methodologies have been selected to illustrate the developed framework.
evaluation technique. There is a lot of subjectivity
surrounding the choice of methodology elements. It is not REFRENCES
within the scope of this paper to present a complete taxonomy [1] Sajid S. I. and Jongmoon B,. (n.d.). “Software
of methodologies. For more detailed taxonomies see Avison Quality Assurance in XP and Spiral - A Comparative
and Fitzgerald (2003), Boehm et al. (2004), Glass and Vessey Study”. Fifth International Conference on
(1995), and Mnkandla (2006). Therefore, the elements used Computational Science and Applications.
here were chosen to reveal the similarities amongst different [2] E. Mnkandla, .B. Dwolatzky. (n.d.). Defining Agile
agile methodologies. The importance of revealing these Software Quality Assurance.
similarities is to arm the developers caught up in the agile [3] Charles Field et al,. (2007). Agile Development with
methodology jungle wondering which methodology to a Compass: Integrating User Experience Design.
choose. While the methodology used in your software [4] Cho, J., Kim, Y., & Olsen, D. (2006). A Case Study
development project may not directly lead to the success of a on the Applicability and Effectiveness of Scrum
project and may not result in the production of a highquality Software Development in MissionCritical and
product use of a wrong methodology will lead to project Large-Scale Projects. In Proceedings of the Twelfth
failure. Hence, there is in wisdom Americas Conference on Information Systems,
Acapulco, Mexico August 04 th -06 th 2006 (pp.
3705– 3711).
[5] Sharma, S. (2012). Agile Processes and
Methodologies : A Conceptual Study. International
Journal on Computer Science and Engineering
(IJCSE), 4(05), 892–898.
[6] Kumar, G., & Bhatia, P. K. (2014). Impact of Agile
Methodology on Software Development Process.
International Journal of Computer Technology and
Electronics Engineering (IJCTEE), 2(4), 46–50.
[7] A. Cockburn, “Agile Software Development”,
Addison-Wesley, 2002.
[8] Borland, “Adopting Agile Testing”, A Borland
Agile Testing White Paper, August 2012.
[9] M. Fewster and D. Graham, “Software Test
Automation”, AddisonWesley, 1999.
[10] C. Kaner, “Pitfalls and Strategies in Automated
Testing”, Computer, IEEE, vol. 30, no. 4, 1997, pp.
114-116
[11] H. Amran, M. A. Kashem and S. Sahelee. (2013).
Enhancing Software Quality Using Agile
Techniques. Volume 10.
[12] C. Inderveer et al, 2012) 2.8) Agile Practices: 2.9
[13] Beck, K. et al. (2004). Manifesto for agile software
development. Retrieved from agilemanifesto:
http://agilemanifesto.org/
[14] Beck, K. (1999). eXtreme programming explained:
Embrace change. Addison Wesley.
[15] [15] D. J. Mosley and B. A. Posey, Just Enough
Software Test Automation, Prentice Hall, 2002.
[16] S. Niveditha and M.K. Aswatha; “One-Source
Online Toolkit - OOT For Software Test Design and
Test Data Generation”; International Conference on
Advanced Computing, Communication and
Networks, pp. 272-276, 2011.

You might also like