0% found this document useful (0 votes)
135 views

The Impact of Agile Software Development Process On The Quality of Software Product

The document discusses the impact of agile software development processes on software quality. It defines software quality as meeting customer needs and providing satisfaction of valid requirements. Quality depends on various perspectives like the customer, developer, tester, and specifications. The software development process significantly affects the quality of the final product. Agile processes allow for quick delivery of quality software by focusing on requirements, design, implementation, testing, and maintainability throughout the development cycle.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views

The Impact of Agile Software Development Process On The Quality of Software Product

The document discusses the impact of agile software development processes on software quality. It defines software quality as meeting customer needs and providing satisfaction of valid requirements. Quality depends on various perspectives like the customer, developer, tester, and specifications. The software development process significantly affects the quality of the final product. Agile processes allow for quick delivery of quality software by focusing on requirements, design, implementation, testing, and maintainability throughout the development cycle.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

The Impact of Agile Software Development Process

on the Quality of Software Product


Parita Jain1, Arun Sharma2, Laxmi Ahuja3
1,3
AIIT, Amity University, Noida, India
2
IT, IGDTUW, Delhi, India
1
[email protected]; [email protected]; [email protected]

Abstract: Developing a quality software product is an essential identified by the developers as the necessary needs to be
need for the software industry. Focusing on product’s quality included while developing the product.
allows software users to adapt the product more easily and
efficiently. Quality plays a vital role for the software users. It is a Definition of quality has been perceived differently by
confirmation of all the requirements according to customer different persons, but the one that has been given by customer
satisfaction. So, it’s important to define a proper software is the definition that counts the most. Quality corresponds to
development process that leads to a quality software product.
standards, cost of the product, conformance to requirements
Agile being one of the quickest methodologies for software
development, allows the quality product to be delivered to the and value for performance. Juran [1] defines quality as meeting
customer side. The objective of this paper is to discuss the impact the customer needs by providing satisfaction on valid
of Agile Software Development Process (ASDP) on quality of requirements. Also he defines quality as freedom from defects.
software product by defining the mapping between agile software Weinberg [2] defines quality as “the value to some people”.
development process and various quality attributes. The paper This can be stated in association with cost for development,
presents an overall importance of software development process efforts done by the developers to develop the product and
for a quality product. customer needs.

Keywords: Agile Software Development Process, Software Overall quality is much more complicated term than it appears.
Quality, Software Requirement Analysis, Software Design, There are varieties of perspectives for consideration for
Software Implementation, Software Testing, Software example, customer’s perspective, developer’s perspective,
Maintainability tester’s perspective, specification based perspective,
manufacturing based perspective, and quality assurance based
I. INTRODUCTION perspective and many more. Figure 1 describes different
software quality perspectives. In each and every domain
From the past few years, many products fail to ever make it to
quality is one of the most important factor for a product to
the market, and for those that do, success is not guaranteed.
survive in the market. Many more definitions are given by
The reason behind their failure is the software engineering
different researchers from the perspective of manufacturing the
process which is used to develop these products. Initially, the
product and engineering the product respectively. Definition of
process used focuses on timely delivery of the product
quality has a contextual bias towards these two industries.
software engineering processes focus more on requirements
specification, refactorization, delivery time, cost for The definition of quality is possible for all the areas, however
development and minimization of efforts and many more when applying to IT software products the context is slightly
factors on which software development depends upon. Overall, different. The Pressman [3] states software quality as a
the focus is more on to improve software development “conformance to explicitly stated functional requirements,
practices by improving reusability, understandability of performance requirements standards and characteristics that
requirements, software delivery time and cost effectiveness are implicitly expected by all the professionally developed
and many other characteristics that leads to quality. software’s”. Meyer [4] defines quality according to different
quality factors given by McCall [6] on the basis of 3 major
Quality being the most important aspect either in discrete
representations: product revision, product transition and
production process or continuous production process, needs to
product operations. Another definition of quality from the
be focused more to deliver a product that is acceptable by
perspective of management given by Sommerville [5] stating
customers. According to International Standard Organization
software with less defects and conforming to required
ISO 9000 quality is defined as the totality of characteristics of
standards of reliability, portability and so on is quality
a product as a whole to satisfy the stated and implied needs in
software.
accordance with its capability. Here the stated needs means the
requirements that are given by the customer at the time of an In general, software quality measures how well the software is
agreement and the implied needs are the needs that are designed, how well it is working without faults and
conforming to that design. For the development of a software

978-1-5386-4692-2/18/$31.00 ©2018 IEEE


quality plays a vital role, it is what the customer perceives. If Fig. 2. Process Quality leads to Product Quality
your customer denies accepting the product, then that is the
reality, whether or not the product conforms to the initially The quality of the development process significantly affects
given specifications. This can be because the specifications do the value received by customers and development teams [14]
not relate with the customer desire. Hence it’s important to [15]. The flow from specifications to process quality and then
focus on development of software more in comparison to end to product quality can be understand through Figure 2. Hence,
product delivery. for high quality product it’s important to concentrate more on
development process as development of good quality software
is usually an organizational effort, “something of higher
quality has more value than of low quality”. Without a process,
software development is not possible.

Developers need some structure to follow, providing good


understanding of overall requirements, high coupling between
developers which leads to better, cheaper and faster delivery of
quality products. Titansoft, one of the small scale software
organization started adopting agile from 2015. In its Titan TPE
branch all the projects were developed using the agile scrum
method. Not only for software development, has the
organization adopted the approach for doing its general
purpose work also [23] [24]. This shows that not even small
scale organizations are adopting agile methods for software
Fig. 1. Different Software Quality Perspectives development with limited resources available. But whether the
quality has been maintained or not is a big question?
II. ASPECTS OF SOFTWARE QUALITY
With the changing trends in software development, it still not
Software being important for each and every area in today’s reached with the level of producing software that is correct,
modern civilization, quality of that software really matters. easily usable, works reliably, maintainable, cost effective and
Because of its usage and importance, low quality software is on time [21]. Agile Software Development Process grown
just not acceptable. Since the concept of quality means dramatically as a popular alternative for the development of
different things to different people, it’s better to group its software providing developers to streamline all the above
various components into different aspects. There are two factors in an efficient manner. Though the quality of the agile
aspects of software quality, process quality and product approach has been proved theoretically but not in a
quality. These two aspects include all the perspectives quantifiable manner [8] [10] [22].
illustrated in Figure 1, through which good quality software
product can be achieved. Difference in both the aspects lies in The objective of this paper is to discuss about the impact of
understanding perspective behind quality. Agile Software Development Process (ASDP) on quality of
software product. The paper presents an overall importance of
A product quality refers to the overall quality of the product software development process for a quality product defining
which make user ecstatic and hence results in more customer the mapping between agile software development process and
acquisition and satisfaction providing more customer retention various quality attributes.
and profits. A product is a quality product if it is accepted by
the clients or customers and it fulfils all the requirements of the III. AGILE SOFTWARE DEVELOPMENT PROCESS
customer. The product quality always depends upon level of
satisfaction of the customers. The higher the level of Unlike Agile software development process, the traditional
satisfaction, the higher will be the quality of the product. software development process follows a strict phase concept in
However, it has been observed by different developers that which every phase gets executed in a sequential organized
only if the process quality is as per the requirements the manner, restricting on to the original requirements and the
product quality will be as expected, “process with high quality design developed at the beginning of the software project. The
standards yields products with high quality standards”. One customers provide their requirements in requirement analysis
can define process quality as a process that conforms to phase and then based on the received requirements design gets
defined process specifications to get good quality product [11]. created and then development starts. The project manager is
the one who tracks every movement of the software project till
the product gets delivered to the customer. In general, if no
changes required and the customer accept the deployable
product with the whole satisfaction then the traditional process
leads to produce the software product on time and on budget
release. The main drawback of the conventional software

813
development process is its non responsiveness towards impact software product quality [16] [17]. An agile software
requirement changes and it also takes longer time to deploy development process differentiates with traditional
working software product to the customers. development process in a way of engineering software. Both
the development process consists of five phases but executed
As agile approach is an iterative and incremental method, in much different manner. The five phases are described as
every defined phase’s gets executed within a serious of small follows:
iterative cycles of the software development process known as
sprints. While, in traditional process also known as light Phase 1. Requirement Analysis: it’s a requirement elicitation
weight development process, every phase gets executed phase in which needs and requirements of the customers gets
sequentially without defining any kind of iteration. The collected specifying functional and non-functional
incremental cycles provides a deliverable product that can be requirements [19].
deployed to the customer [20]. Besides that, other stages
included in agile are concept, inception, release, production Phase 2. Software Design: in this phase the complete
and retirement which are not included in traditional architecture of the software to be developed gets created that
approaches. Agile development is more kind of quick and specify how the software product is going to function and
sustainable development in comparison with traditional appear to the customer.
development that allows customer interaction throughout the
process with the adaptability of changes required. It is a Phase 3. Software Implementation: this phase creates an
customer centered methodology as shown in figure 3. executable version of the software product. The development
Moreover, more importance is given to customer satisfaction, of the software is based upon the programming language used
by interacting with them more frequently or almost in every for coding purpose.
phase of a sprint than in traditional one.
Phase 4. Software Testing: after the executable product gets
developed, testing phase comes into existence. Software
testing is a process to find out errors, bugs, faults in the
developed software and fix them before its get delivered to the
customer. It basically verifies and validates all the
functionalities of the software [18].

Phase5. Software Maintenance: this leads to changes in the


software product after it gets deployed to the customer side if
any error or fault occurs. Also it provides the software product
to be adaptable in the changing environment improving the
Fig. 3. Customer Centered Agile Methodology performance of the software system.

Within traditional and agile methodologies various models are All the above defined five phases affect the software quality
present for the development purpose. In traditional and can be analysed to be mapped with various agile process
methodology, different models named as waterfall model, quality attributes as shown in the below table 1:
prototype model, spiral model, iterative enhancement model,
evolutionary model and many more [12] [13]. In agile TABLE 1: Mapping Between ASDP and Software Quality
methodology, different models are kanban, scrum, extreme Attributes
programming, feature driven development and many more. A
model that is most suitable can be selected based on the Characteristics Agile Attributes Quality
requirements analysis of the software to be developed and Attributes
availability of the resources. Scrum is one of the most popular Requirement Total no. of user Functionality,
models used in the industry to carry out agile software Gathering stories, Reliability,
development for developing software systems [9]. The other Functional Maintainability,
name of Scrum is flexible as it focuses more on customer Completeness, Scalability
changing requirements. Other agile models including (FDD, Functional
XP, etc) are discussed by Pathak & Saha [7] in their review. Correctness,
Consistency
IV. MAPPING BETWEEN ASDP AND QUALITY
ATTRIBUTES Software Design Release Date, Functionality,
Total no. of Efficiency,
The software development life cycle consist of mainly five Sprints, User Reusability,
development phases: software requirement, software design, story planned, Reliability,
software implementation and software testing, and software Story points Maintainability,
maintenance which have been used in various development planned Portability,
models. Every phase individually plays an important role and Flexibility.
814
Characteristics Agile Attributes Quality [9] G. S. Matharu, A. Mishra, H. Singh and P .Upadhyay,
“Empirical Study of Agile Software Development
Attributes
Methodologies: A Comparative Analysis”, ACM SIGSOFT
Software Sprint Stretch Reliability, Software Engineering Notes, Vol. 40, pp. 1-6, 2015.
Implementation Factor, Maintainability [10] P. Jain, L. Ahuja and A. Sharma, “Current State of the Research
Productivity in Agile Quality Development”, in Proceedings of the
International Conference on Computing for Sustainable Global
Software Testing User Story Functionality, Development, pp. 1877-1879, 2016.
Accepted, Defect Reliability, [11] C. Paulk, C. Weber, B. Curtis, and M. B. Chrissis, “The
Density, Review Maintainability, Capability Maturity Model: Guidelines for Improving the
effectiveness, Portability, Software Process”, Addison Wesley, 1994.
Pre-delivery Performance [12] B. Singh and S. P. Kannojia, “A model for software product
defects quality prediction”, Journal of Software Engineering and
Software Post-delivery Efficiency, Applications, Vol. 5, pp. 395-401, 2012.
Maintenance defects, Defect Reliability, [13] B. Singh and S. Gautam, “Hybrid Spiral Model to Improve
removal Maintainability Software Quality Using Knowledge Management”, International
Journal of Performability Engineering, Vol. 12, Issue 4, pp. 341-
efficiency
352, 2016.
[14] P. Isaias and T. Issa, “High level models and methodologies for
V. CONCLUSION
information systems”, Springer, 2015.
Software quality plays an important role while doing a [15] P. Sujatha, G. V. Sankar, A. S. Rao and T. Satyanarayana, “The
Role of Software Verification and Validation in Software
software project. Various quality factors have to be satisfied
Development Process”, IETE Technical Review, Vol. 18, Issue 1,
onto some level to have a quality software product. The pp. 23-26, 2001.
development of software consist of five phases that must catch
[16] N. S. Godbole, “Software quality assurance: Principles and
up with the quality standards while development. Agile being a practice”, Alpha Science Int’l Ltd., 2004.
flexible approach for software development, allows quality
[17] B. Singh, “Quality Control and Reliability Analysis”, Khanna
product to be delivered to the customer side. Main aim of the Publishers, 2011.
paper is to analyse the impact of the Agile Software [18] F. L. Butt, S. N. Bhatti, S. Sarwar, A. M. Jadi and A. Saboor,
Development Process (ASDP) on the software quality. “Optimized Order of Software Testing Techniques in Agile
Through various studies it has been shown that every quality Process – A Systematic Approach”, International Journal of
attribute is important in the perspective to have a quality Advanced Computer Science and Applications (IJACSA), Vol. 8,
product. And to incorporate each quality factor in the Issue 1, 2017.
development of software, the quality attributes must be [19] S. N. Bhatti and A. Tabassum, “The Impact of Analytical
mapped with the agile software development process attributes Assessment of Requirements Prioritization Models: An
and vice versa. Table 1 shows the mapping of agile attributes Empirical Study”, International Journal of Advanced Computer
with the quality attributes included in each and every phase Science and Applications(IJACSA), Vol. 8, Issue 2, 2017.
while software gets developed. The paper presents an overall [20] T. Dingsøyr, C. Lassenius, “ Emerging themes in agile software
importance of software development process for a quality development: Introduction to the special section on continuous
product. value delivery” Introduction and Software Technology, Elsevier,
2016.
REFERENCES [21] L. L. Lacerda and Felipe Furtado, “Factors that help in the
implantation of agile methods: A systematic mapping of the
[1] J.M. Juran and F.M. Gryna, “Juran's Quality Control literature”, In Proceedings of 13th Iberian Conference on
Handbook”, New York, McGraw-Hill, 2010. Information Systems and Technologies (CISTI), pp. 1-6, 2018.
[2] G.M. Weinberg, “Quality Software Management Vol. 1: Systems [22] H. J. Hsu and Y. Lin, “How Agile Impacts a Software
Thinking”, New York, Dorset House Publishing, 1992. Corporation: An Empirical Study”, In Proceedings of 42nd
Annual Computer Software and Applications Conference
[3] R.S. Pressman, “Software Engineering a Practitioner’s
(COMPSAC), pp. 20-25, 2018.
Approach”, New York, McGraw-Hill, 2011.
[23] Y. Lin and Titansoft, “From chaos to control, from control to
[4] B. Meyer, “Object-Oriented Software Construction”, New
freedom - 5 lessons learned on our agile journey,
Jersey, Prentice Hall PTR, 2000.
https://www.slideshare.net/yveslin888/fromchaos-to-control-
[5] I. Sommerville, “Software Engineering”, California, Addison- from-control-to-freedom-5-lessonslearned-on-our-agile-journey,
Wesley, 2015. 2016.
[6] J. A. McCall, P. K. Richards and G. F. Walters, “Factors in [24] Titansoft, “Our history and timelime, ” http://www.titansoft.com/
Software Quality”, National Technical Information Service, Vol. en/About-Us/Our-History-Timeline, 2016.
1, 2 and 3, 1977.
[7] K. Pathak, A. Saha, “Review of Agile Software Development
Methodologies”, IJARCSSE, Vol. 3, pp. 270-276, 2013.
[8] S. Bhasin, “Quality Assurance in Agile –A study towards
achieving excellence”, pp. 64-67, IEEE, 2012.
815

You might also like