ArticlePDF Available

AGILE SOFTWARE DEVELOPMENT

Authors:

Abstract and Figures

Agile Software Development plays a quintessential part in modern day software development. The term Agile refers to frequent reassessment and adaptation of plans and techniques and dividing tasks into shorter tasks for efficiency. Agile Software Development differs considerably from Traditional Software Development Methodology. Agile methodology aims to deliver features of a software project in small steps within a short duration of time (i.e., iterations). Hence, it becomes necessary to use agile software development methodology in todays’ fast-paced revolutionizing software industry. This paper discusses the important subtopics of Agile Software Development which gathered by reviewing/surveying of research papers. First, is the Agile Planning Life Cycle which consists of various stages such as pre-planning, planning, release planning and product backlog management. In the next section, principles such as Scrum, Extreme Programming, Kanban and Lean are discussed. The last section comprises the impact of Agile principles on software quality.
Content may be subject to copyright.
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
73
AGILE SOFTWARE DEVELOPMENT
Gopalkrishna Waja, Jill Shah, Pankti Nanavati
IT Department, KJSCE
Mumbai, India
AbstractAgile Software Development plays a quintessential
part in modern day software development. The term Agile
refers to frequent reassessment and adaptation of plans and
techniques and dividing tasks into shorter tasks for
efficiency. Agile Software Development differs considerably
from Traditional Software Development Methodology. Agile
methodology aims to deliver features of a software project in
small steps within a short duration of time (i.e., iterations).
Hence, it becomes necessary to use agile software
development methodology in todays’ fast-paced
revolutionizing software industry. This paper discusses the
important subtopics of Agile Software Development which
gathered by reviewing/surveying of research papers. First, is
the Agile Planning Life Cycle which consists of various stages
such as pre-planning, planning, release planning and product
backlog management. In the next section, principles such as
Scrum, Extreme Programming, Kanban and Lean are
discussed. The last section comprises the impact of Agile
principles on software quality
Index TermsAgile, agile methodology, planning phases,
quality impact, software development.
I. INTRODUCTION
In today’s world the software industry is a fast-paced industry
that requires rapid responses to ever-changing demands. Also,
with the advent of globalization organizations, in today’s world,
are not limited to a single geographic location and have expanded
their horizon to a world of infinite possibilities [1]. This
increased globalization combined with large scale production and
ever-changing demands which require rapid responses pose
several challenges like failure of the organisation to cope-up with
the increasing, rapidly-changing demands. This failure results
because of the inability of traditional software development
techniques or processes satisfy these demands. This inability of
the traditional process models had created the circumstances
which lead to the development of “Agile Process Model” and the
software development using Agile Process came to be known as
“Agile Software Development. Currently, agile process is the
most renowned software development process/strategy [1]. In
traditional software-development pro-cess models the
requirement analysis and designing of the product is
limited/restricted to the initial phase/stage of the process and
usually they follow a sequential order. Adding new requirement
at a later phase in the development can increase the cost of the
project exponentially. Therefore, in traditional models like the
waterfall or incremental process model it is almost mandatory for
the customer to provide their requirements in the initial phase
before the development has started, which means it is non-
responsive to changes in the requirements [1].
Agile, on the other-hand, follows a short-cycled iterative-
improvement model and incremental-delivery mechanism. This
iterative and incremental model allows agile software developers
to provide quick deliveries to the customers and improve
customer satisfaction [2]. Agile primarily focus on giving highest
priority to the customers and their needs, frequent deliveries in
short incremental cycles, incorporating the customers as part of
the team and collaborating with them, rapid reaction to changes,
flexible short-lived plans, simplicity of the solution to a problem,
face-to-face meeting and having “self-organising-cross-
functional” teams. Also, activities like as planning,
design/modelling, construction, and software-testing, rather than
being sequential, are continuous activities. All these features and
principles make agile process idle for use in fast-paced and
sustainable-development facing rapid changes. In the up-coming
sections, we have covered topics
Fig. 1. Cost in Traditional and Agile development adapted from [1]
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
74
Fig. 1. Traditional Software Project Development (a) and Agile
Software Development (b) adapted from [3]
which are relevant to Agile Software development whose content
is been gathered by doing through review/survey of research
papers. First, we have covered the general phases in Agile
software development planning or the Agile planning life-cycle.
This planning life-cycle consists of stages/phases like pre-
planning, planning, release planning and manage product-
backlog. Next, we have surveyed different papers regarding the
different Agile Methodologies which are based on the principles
mentioned in the Agile Manifesto’s. In this section we see the
principles and basis of Agile methodologies which include
Scrum, Extreme Programming, Kanban and Lean. While
reviewing these methodologies, we see all these models, despite
their nuanced differences, follow or complement Agile Principles
in a manner such that the overall soft-ware development process
in a collaborative, rapidly changing environment becomes easy
and efficient. Lastly, we see the impact of Agile
principles/methodology on software quality. Reviewing the
impact on quality is pertinent as the quality of software provides
us answers to important questions about the robustness of the
software design and its capability to work without faults. It also
helps the project manager to track the quality of work done by
the team members and allows him to make project’s systematic
development easy. It is a cost-effective approach and helps in
developing a better-quality product in less time. The quality of
product produced by a process depends on various factors, out of
which we have reviewed the most relevant factors. So, having
said that lets move on to the phases of agile planning.
II. AGILE PLANNING
Project planning helps in finding solutions to questions such as
what is to be implemented, how much time will be required,
costing of the project, what all features are to be added and who
needs to be involved. During the earlier stages of the project,
there is no clear picture as to what needs to be built, which
features are to be included, time duration of completion and the
estimates of the project. Planning of the project helps in
alleviating such questions of uncertainty, the ultimate objective is
to formulate a plan that helps in building a project from its
rudimentary state to meet the final customer requirements and
objectives.
In the figure 1, scope refers to the features or requirements
associated with the project which is to be provided to the product
owner. Time refers to the amount of time needed to completed
the project model and the cost refers to the amount of money
which will be required to implement the project. Quality refers to
the satisfaction of the goals, objectives, aims, features of the
project. Figure a) depicts the traditional project development
while figure b) depicts agile project development [3]. The
traditional project development states the project scope first and
them calculates the time and costs involved i.e., top-down
function decomposition. While in agile project development,
scope is flexible and can be changed during the entire project
implementation, i.e., it follows bottom-up approach. Traditional
software development lifecycle implements the project as a
single large model whereas the agile method breaks down the
model into small iterations [4].
A. AGILE PLANNING LIFECYCLE
1) Pre-planning: The lifecycle starts with a preplanning step
which includes identifying project vision, scope, roadmap,
gathering as well as prioritizing business and technical
requirements, forming the team by selecting members which
have the required expertise, time and cost estimation. The
product backlog is formulated which consists of all the
requirements as well as a list of all desired work on the project.
Each item on the product backlog will be assigned some priority
by the product owner. A team of experts provide estimates for
each feature to be included in the project and thus based on this a
first rough time period, cost and scope of the project is
determined [3]. Also, number of iterations are chosen by a team
of experts.
2) Planning: Planning involves deciding the release of
iterations, the sequence of iterations, the length of iterations,
development speed to meet the requirements of
the customer. Also, depending on the user story scale, project
size will be estimated.
3) Release Planning: The product backlog which contains all the
features and the various tasks which are to be implemented in the
project is fragmented to form iterations by the project team and
the customers. These iterations are assigned to each release,
every release would provide the customer the working model of
the project having the features listed down in that particular
iteration. On the basis of release planning of the iterations, the
dates for further iterations and an approximated date of the final
project model can be estimated. The costs involved in the entire
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
75
project implementation can also be roughly estimated based on
the number of iterations, iteration lengths, overhead costs etc [5].
Fig. 3. Planning Lifecycle
4) Iteration Planning: The process of planning is iterative.
The meeting of the team members of the project is held after each
iteration to formulate the scope of the next iteration. In the
meeting, the team receives feedback on the current iteration of
the project, also they discuss the changes that have to be made in
the product backlog including the re-prioritization of features in
the product backlog. Once this step has been accomplished, the
team goes forth with allocating the various tasks (user stories)
discussed in the meeting to the team members. Each iteration is
allocated some time; hence the team can remove or add the
features discussed in the meeting in order to complete the
implementation within the specified duration of time [3].
5) Manage Product Backlog: Manage Product Backlog
summarizes the changes in the scope, priority and estimates of
the project; it can be changed after each iteration as required to
enhance the features or remove them [4]. The priority of the item
in the product backlog can be changed after each iteration
according to the needs and feedback of the customer. Since, after
each iteration there are changes made in the project
implementation, the changes are also reflected in the time period
of project completion, hence it is estimated again. The release
planning is also affected after each iteration, since they are
dependent on each other.
III. AGILE METHODOLOGIES
Agile methodologies comprise of a set of frameworks that are
developed, for the use of organisation and software development
team, keeping in mind the Agile Manifesto, published in 2001.
Agile process is a multitude of principles or manifestos which
can be achieved using of agile methodologies. Despite the
differences between various agile methodologies these
methodologies find their common foundations in the principles of
rapid-adaptability to changes, flexible planning, maximum
customer satisfaction, early delivery and continuous
improvement through various increments and iterations. From
this point on we will be focusing our attention on Scrum,
Extreme Programming, Kanban and Lean.
A. Scrum
Scrum is an agile, light-weight framework. It provides steps to
control and govern the software and product development
process. The concept of Scrum was born when Jeff Suther-land
and his team, during 1990s, defined it as a process “to energize,
focus and add clearness to project developing systems” [6].
Scrum mainly comprises of 3 components: Roles, Ceremonies
and Artifacts. The roles in Scrum Process comprise of
product/project owner/stakeholder, scrum master and the
product/project developmental team. The project-owner is the
person who decides the features, budget, priority of the project.
The Scrum master is leader or the manager responsible for
upholding the values and practices of Scrum. Lastly, the team is
comprised of a 4-7 members of cross-functional and self-
organising people which actually work on the product. The
Ceremonies include the Sprint planning, during which the goals
and the sprint-backlog, chosen from the product-backlog, is
decided [7]. The product-backlog is a list/collection of the
features/functionality required, defined and prioritized, according
to their level of importance, by the product-owner/stakeholders in
form of user stories. While the sprint-backlog consists of user
stories, to be worked upon during the next sprint, chosen and
prioritized by the team. Both product and sprint-backlog along
with burn out charts are the Artifacts. Other ceremonies include
Daily scrum meeting, which is a short stand-up meeting attended
by the team members and the stakeholders. Sprint Review, during
which the team members and the client, is a survey meeting
which involves the demo of the product developed in during the
sprint. Sprint Retrospective involves discussion among the co-
workers regarding the problems they have faced in the previous
sprint and how to avoid them in upcoming sprints [8].
A variation in Scrum is “Scrum without a Scrum master”.
According to Zoran Ereiz, Scrum role is subtle, he is responsible
for teaching and mentoring the team and removing any
complexities and problems. In cases, where there an existence of
an experienced team it is practical to have Agile process without
a master. Having said that, in every other situation the
requirement of a Scrum Master is necessary [9].
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
76
Fig. 4. Scrum process flow adapted from [4]
B. Extreme Programming
XP is an agile methodology that helps in management of changes
in the code during the software development process. Extreme
Programming (XP) mainly focuses proactive and automated
testing. Testing forms an integral part of Extreme Programming
(XP) and it begins for a very rudimentary stage of the
development. XP uses quick and brief development-cycles
incorporating incremental design and planning. Another key
aspect of XP is it requires high customer involvement at every
stage of project/product development. Also, in XP the code is
continuously integrated and deployed on a daily basis [10].
It utilizes a light-weighted methodology can be used for any
type of software big or small. Concepts of paired-programming,
comprehensive reviewing of the code, and lucidity in code form
the basis of XP. It also allows adaptability to changes late in the
project development allowing quality improvement and better
responsiveness of the software to changes made in the
requirements by the customer [11]. It also forces on “Open-
workspace” and Small-Release that is the development takes
place in presence of the client onsite and validated results, after
testing, are released in small increments [11].
C. KANBAN
Kanban work-management system works with the aim to save the
team from performing tasks assigned by the administration in a
fast passed environment improvement. Kanban allows
visualization of in tangible task which are normally difficult to
substantiate. This method enables the team to have a better view
of the current project by dividing the things-to-do into small
chunks and then providing a visualization of them through the
Kanban-board. Unlike Scrum which puts a restriction on time,
Kanban restricts the amount of works done at a given moment
also known as putting a restriction on the measure of work-in-
progress (WIP) [8]. Also, in Scrum, fixed roles are assigned to
the members while in Kanban this is not the case, in Kanban
there are no specialized roles or responsibilities assigned to the
members, which means everyone works according to their
preference. In Kanban, unlike scrum where the scrum master
oversees the project, the administration is done by the product
owner. The main concepts in Kanban are: -
Visualization of the workflow through Kanban-board.
Limiting work at a given moment to keep the team focused on a
single goal at a moment.
Managing the workflow by extrapolating the time re-quired to
prevent wastage of time.
Persistent Feedback to improve the product quality [11].
Continuous and Iterative software/project development.
D. Lean
Lean Agile software development has a greater flexibility as a
methodology when compared with Scrum or XP, this is because
it has minimal restriction on guidelines, methods, or rules. Lean
mainly comprises of 7 values. These values are complemented by
other agile-methods since lean pays primary attention on
reducing the wastage during the soft-ware process [11]. Another
objective of Lean is to try and provide greater value in a
limited/short amount of time by re-moving the unnecessary
activities during the software/project development-process [11].
Since Lean has minimalistic rules the development process is
optimized mainly by the use of specialized tools. Unlike XP,
which primarily defines practices mainly customer and developer
by trying to ease the tension between them which might arise due
to conflicting aims [12], Lean defines values/principles for upper-
management of a company/organization and is used for
optimization of the entire organization itself, which means it
follows a top-down-approach [12].
The 7 main values which form the core of Lean are: First,
eliminate of anything which does not provide additional utility to
the product to be developed. Second, learn from each and every
iteration on the basis of the feedback provided by the user. Third,
only make important decision regarding software-development
when maximum possible information is available which mostly
at later stages of the project. Fourth, make deliveries as quickly
as possible. Fifth, provide an environment in which the
developers can thrive. Sixth, the primary focus should be the
customer. Lastly, view the bigger picture and try to understand
the flow of and business and how the product fits in it [11].
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
77
IV. IMPACT ON PRODUCT QUALITY
The quality is an important factor for a product to be
successful. The idea of quality varies from person to per-son.
Hence it is necessary to group the quality in different aspects like
perspectives of customer, developer, tester and on specification-
based, quality assurance based and manufacturing-based. The
main two categories are the product quality and the process
quality. The product quality is dependent on the process quality.
More the process quality, more the product quality. Product
quality means the universal quality of product that makes the user
or a customer overjoyed and also results in more customer
satisfaction and profit. A product with good quality fulfils all the
requirements of the user. On the other hand, the process quality
means the method adopted to make the product a quality product.
The development team defines the process quality by defining
and requiring the specifications and then the code is sent to users,
who define the product quality and hence a software product is
obtained [13].
When we see the traditional approach, the software
development cycle follows the phases which are to be executed
in a sequential manner like customer requirements, planning,
developing, deployment. The entire process is monitored by
project manager. This has a drawback that it may not be able to
response to user changes and even if done, they may take more
time for the quality of product to be maintained. But when we see
the agile approach, being an iterative method, all phases get
executed with small cycles called sprints and then user feedbacks
are taken after every sprint is completed. This allows the quality
of product to be efficient as after every small task or phase,
feedback is taken from user and requirements are done. It is easy
to change during development itself which helps to create a good
product. Other stages in agile like concept, release, inception,
production, etc. are not there in any traditional methods. This
method being totally focused on customer satisfaction, it is
developing a good quality product [13].
The quality of software product while using the agile approach
is measured in every phase of the development cycle. In the
requirement gathering phase, quality attributes like functionality,
reliability, scalability and maintainability are seen depending on
agile attributes like user stories, complete-ness and correctness of
functionalities and consistency. In the designing phase, quality
attributes like efficiency, functionality, maintainability, re-
usability, reliability, portability and flexibility are achieved based
on the release date of design, number of sprints, story points, etc.
The software quality attributes like maintainability and reliability
are obtained from the productivity and sprint factor in software
implementation. The user stories, review effectiveness and pre
delivery dates tell us about the reliability, functionalities,
portability and performance of software while testing. The
removal of defects and maintaining the efficiency of product after
delivery of product is also an important part of agile which has an
impact on quality of product to the customer. It shows efficiency,
maintainability and reliability of the product. [13] By adopting
agile, organizations have increased to customer satisfaction to
more than 90 percentage and the defect ratio is less than 20
percentage. Every quality attribute has a positive effect on the
quality of the software product [14].
The quality of the software can be measured by counting the
defects that are found in production or mentioned by the clients
and also by counting the total number of users this affects. We
should not let the catastrophic defects go till the production
phase. We have to follow the agile metric to find the proper
quality of the product. The metric can be of two types i.e.,
functional and non-functional. Functional metric can be like how
many user stories are accepted, what is the ratio of defects in
review and in production or the amount of code that was covered
while testing, etc. The non-functional metric includes portability,
security, usability, reliability, performance etc. This metric is
used to detect future problems [13].
As a part of metric, the user stories play a powerful role to
define the quality of the product. A user story includes the type of
user, the goal and an action that the specific user can perform.
User stories should be written in both positive and negative way.
The positive user stories help us to identify the functionalities of
the system while the negative stories can help to identify the
functionality which a user can perform in a wrong manner or an
attacker to attack the system. The structure of positive user story
involves all positive goals, user and action. The structure of
negative user story involves positive or negative user and goal
with an action which is negative. Good user stories mean proper
definition of user requirements and good requirements means
good quality of product [15].
Some of the issues that are faced by many organizations while
adopting agile are cultural issues, lack of requirements,
communication between the team, software project management.
The key barriers like inadequate training for agile adoption,
increase in risk of project failure, lack of guidelines, lack of peer
support, organizational resistance, etc. are also faced by
organizations [14].
V. CONCLUSION
The software industry has numerous changing demands in
today’s world. As per the agile manifesto, the four
values/principles are interactive teams, working software,
customer collaboration and responsiveness to changes. Hence,
the adoption of agile development has been a crucial part for
many organizations. Agile, being an iterative process, changes
are done and errors are rectified from iterations to iterations.
Quick delivery and customer satisfaction is the major benefit of
agile process. So, for this benefit, the agile has to be followed in
different phases like inception, construction, etc. as discussed.
International Journal of Engineering Applied Sciences and Technology, 2021
Vol. 5, Issue 12, ISSN No. 2455-2143, Pages 73-78
Published Online April 2021 in IJEAST (http://www.ijeast.com)
78
These steps play a vital role to in the agile development process.
Agile has different frameworks like scrum, Kanban, lean, XP.
Each of them has its own benefits. Scrum is always used when
the project consists of lots of features and has large
goals/milestones. Kanban is used when the project needs small
improvements of bug/defect fixes. XP is used when there are
small deliveries of software involved and when rapid
development is needed. Lean is used when only important
functionalities are to be developed. But above all, mostly scrum
is used by many organizations. The product quality of the
software is always measured in defects. Hence, lesser the defects,
more the quality of the product and vice versa. Hence, agile
makes huge impact on the quality of the software product by
reducing the maximum number of defects while developing the
product itself. Agile is therefore used by various organizations
both at small scale and at large scale levels. Due to all this, the
future of the project management will be the agile development.
VI. REFERENCES
[1] Gonen B. and Sawant D. (2020). Significance of Agile
Software Development and SQA Powered by Automation. In
2020 3rd International Conference on Information and Computer
Technologies (ICICT) (pp. 7-11).
[2] Jain P., Sharma A., and Ahuja L. (2018). The Impact of
Agile Software Development Process on the Quality of Software
Product. In 2018 7th International Conference on Reliability,
Infocom Technologies and Optimization (Trends and Future
Directions) (ICRITO) (pp. 812-815).
[3] Shi Zhong, Chen Liping, and Chen Tianen (2011). Agile
planning and development methods. In 2011 3rd International
Conference on Computer Research and Development (pp. 488-
491).
[4] Khong Loo, Yu Beng Leau, Yip Tham and Fun Tan.
(2012). Software Development Life Cycle AGILE vs Traditional
Approaches. In 2012 International Proceedings of Computer
Science and Information Technology (IPCSIT Volume 37) (pp.
162-167).
[5] Pawar R.P. (2015) A Comparative Study of Agile Software
Development Methodology and Traditional Waterfall Model.
IOSR Journal of Computer Engineering (pp. 1-8).
[6] Faniran V., Badru A., and Ajayi N. (2017). Adopting
Scrum as an Agile approach in distributed software development:
A review of literature. In 2017 1st International Conference on
Next Generation Computing Applications (NextComp) (pp. 36-
40).
[7] Srivastava A., Bhardwaj S., and Saraswat S. (2017).
SCRUM model for agile methodology. In 2017 International
Conference on Computing, Communication and Automation
(ICCCA) (pp. 864-869).
[8] Saleh S., Huq S., and Rahman M. (2019). Comparative
Study within Scrum, Kanban, XP Focused on Their Practices. In
2019 International Conference on Electrical, Computer and
Communication Engineering (ECCE) (pp. 1-6).
[9] Ereiz Z., and Musiˇc´ D. (2019). Scrum Without a Scrum
Master. In 2019 IEEE International Conference on Computer
Science and Educational Informatization (CSEI) (pp. 325-328).
[10] Sharma P., and Hasteer N. (2016). Analysis of linear
sequential and extreme programming development methodology
for a gaming application. In 2016 International Conference on
Communication and Signal Processing (ICCSP) (pp. 1916-1920).
[11] Herdika H., and Budiardjo E. (2020). Variability and
Commonality Requirement Specification on Agile Software
Development: Scrum, XP, Lean, and Kanban. In 2020 3rd
International Conference on Computer and Informatics
Engineering (IC2IE) (pp. 323-329).
[12] Wang X. (2011). The Combination of Agile and Lean in
Software Development: An Experience Report Analysis. In 2011
Agile Conference (pp. 1-9).
[13] Jain P., Sharma A., and Ahuja L. (2018). The Impact of
Agile Software Development Process on the Quality of Software
Product. In 2018 7th International Conference on Reliability,
Infocom Technologies and Optimization (Trends and Future
Directions) (ICRITO) (pp. 812-815).
[14] Ruk S., Khan M., Khan S., and Zia S. (2019). A survey on
Adopting Agile Software Development: Issues Its impact on
Software Quality. In 2019 IEEE 6th International Conference on
Engineering Technologies and Applied Sciences (ICETAS) (pp.
1-5).
[15] Chopade M., and Dhavase N. (2017). Agile software
development: Positive and negative user stories. In 2017 2nd
International Conference for Convergence in Technology (I2CT)
(pp. 297-299).
... This degree is the only Informatics degree in Africa with this accreditation, making it essential for the institution to adhere to ABET's regulations while also adapting the curriculum to meet industry demands and align with future work trends. As business strategies, academic approaches, social interactions, and the future of work evolve, it is crucial to prepare student to actively participate in the industry [19][20][21]. ...
... These values prioritise individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan [29]. Agile methodologies are driven by the need for faster delivery of software, adaptability to changing requirements, and continuous customer feedback [20]. By breaking down projects into small, manageable tasks and delivering working software in short iterations, Agile enables teams to respond quickly to changing market conditions and customer needs [21]. ...
Conference Paper
Full-text available
Information Systems Development (ISD) is a critical component of Informatics education, providing students with essential skills for designing and implementing information systems. Traditionally, ISD has been dominated by plan-driven Waterfall methodologies, such as the FAST Systems Development Life Cycle (SDLC). Agile methodologies, such as Scrum, Extreme Programming (XP), and Dynamic Systems Development Method (DSDM), prioritize adaptability, collaboration, and customer feedback over rigid planning and documentation. Hybrid approaches, which combine elements of both plan-driven and Agile methodologies, have gained traction in recent years as organizations seek to strike a balance between predictability and flexibility in software project management. This paper explores the need for a hybrid approach in systems analysis and design (SAD) education and outlines the project aims and objectives. Drawing upon insights from the literature on ISD education, ABET accreditation requirements, and ISD methodologies, we seek to identify the strengths and weaknesses of existing approaches and propose a framework for integrating Agile principles into the curriculum. By critically evaluating existing approaches through a design-based approach, using an interactive workshop of ISD lecturers, a hybrid framework informed by industry standards and educational principles is proposed. This research aims to bridge the gap between academic theory and industry practice, ensuring that graduates are well-prepared to tackle the challenges of modern information systems development.
... The software design industry has undergone a fundamental reevaluation of its strategies for improving its competitive edge. Organizations can engage with their consumers continuously to enhance their products and processes through the implementation of an agile approach (Waja et al., 2021). The agile project management method is a novel procedure, and a more effective solution is being devised using a creative, modern approach. ...
Article
Full-text available
This study explores the role of Agile methodologies in achieving a higher project success rate. Additionally, we sought to determine the extent to which management support influences the effectiveness of Agile techniques in project success. Moreover, our study looks into the influence of project innovation on project success and explores strategies to enhance its effect. Using a qualitative approach, data were collected from Agile administrators working in various project-based organizations. A total of 15 organizations across Pakistan participated in this study. Our research demonstrates that Agile methodologies promote innovation, which in turn enhances the success of projects. Our results revealed that the Agile methodology is a major contributor to project success and prioritizes finding early solutions to problems. We emphasize the vital importance of project innovation and management support in raising a project's overall success. The findings of this study provide valuable implications for practitioners and recommend several new insights for theory development.
... This approach was adopted for this research as the application is being constructed based on realworld experiences. The term Agile refers to the frequent reassessment and adaptation of plans and techniques and the dividing of tasks into shorter tasks for efficiency (Waja, 2021) [14]. Compared to other models, agile methodology is variable and more flexible regarding adaptation of needs. ...
... Since 2001, majority of organizations have adopted and implemented agile software development because the traditional approach to software development is grossly inefficient and does not allow for change (Koi-Akrofi et al., 2019;Waja et al., 2021). In the traditional approach, customer's requirements are fixed at the beginning of the project. ...
Article
In this work, maintainability as a function of time to correct codes was examined among various categories of software developers. Deliberate errors, ranging from two to ten, were introduced into sets of agile codes written in python programming language and given to 100 programmers each in the groups of Individual Junior, Individual Expert, Random, Expert pairs, junior pairs and Junior Expert pairs. The time spent to correct the errors was analysed using regression model for prediction. Bivariate correlation was used to check the relationships between the number of bugs in projects and the time spent to correct the errors. The correlation between the number of bugs and time of debugging was highly significant, strong and positive. This revealed that the time spent in correcting system software errors increased significantly as the number of bugs increased. Linear, logarithmic, inverse, quadratic, cubic and exponential regression models were used to generate metrics with time spent on error as dependent variable and number of bugs as independent variable for each of the pair and individual programmers. On the average, cubic model gave the highest R 2 value of 0.639 in comparison to other models. Therefore, Cubic model gave the best fit as it explains the patterns of the relationship between the dependent and independent variable most appropriately.
... Agile development methodology utilizes an iterative and incremental process to deliver software applications in a timely and efficient manner while reducing the bugs [1,2]. Through breaking tasks into small increments, agile development aims to minimize cost and planning efforts and allow projects to quickly adapt to changes [3]. ...
Conference Paper
Full-text available
Test automation is crucial for agile software projects to enable frequent delivery of working software with cost and time and minimal bugs. However, selecting the right automated testing tool is considered challenging due to the wide range of such existing tools. Additionally, the challenges occur clearly due to several issues such as the programming code language, the categorization of the developed system, and the tester's knowledge and skills. This paper aims to address this gap by proposing an evaluation framework for comparing and classifying the existing automated testing tools used in agile projects. The framework is developed based on an extensive literature review of existing agile testing methodologies and common commercial automation testing techniques. The key criteria for tool evaluation are identified to cover the main testing objective aspects such as test design support, testing interfaces, reporting capabilities, etc. These criteria are considered the core methodology for this study used to analyze and compare the popular open-source and commercial tools. The proposed evaluation framework provides agile practitioners with guidelines to assist in selecting the appropriate tools based on their specific project needs such as budget, timelines, and technical expertise. This study is considered a comparative evaluation of existing agile testing tools to highlight their key strengths and limitations. The findings of this study categorized the testing tools based on the interface, code, design, and report features. This research contributes to assisting the project developer and tester in selecting suitable tools for the adoption of automated testing tools in their agile software projects. It also identifies the direction for future work, such as integrations with modern development methodologies and technologies.
Chapter
This paper introduces Malwa, a web-based tool implementing our new method of learnability by design that is designed to significantly reduce the main entry hurdle, the design of learning alphabets, for lifelong learning of web applications. Technically, Malwa is based on iHTML, a domain-specific extension of HTML, tailored to instrument the web services’ code in a fashion that releases the quality assurance team from defining any learning alphabet. In fact, deterministic, instrumented, purely client-side web applications can be learned out of the box. Learnability by design is a typical ‘left-shift-technology’: The effort of learning alphabet design is shifted to the GUI-developer. This makes sense for two reasons: She (1) knows the intended interactions points and the way to implement them and (2) has the required technological background. The paper illustrates the impact of learnability by design via a Malwa-based case study. Malwa will be made open source-available for replication, experimentation, and extension.
Thesis
Full-text available
This Master Thesis elaborates on the effectiveness of Agile methodologies in improved project management and provides their detailed framework for Agile practices to effectively manage SaaS projects in the domain of Software as a Service (SaaS). While introducing an integrative approach with a detailed thorough literature review and a qualitative case study of a SaaS company, this thesis specifes the most important factors, challenges, and best practices that play a role in influencing a significant way for implementing Agile methodologies in SaaS environments. This empirical data analysis, together with the systematic review of Agile practices, including Scrum, Kanban, SAFe, and Scrumban, would reveal their specific difference in impacts related to the SaaS industry, whether on project management efficiency or stakeholder satisfaction or the success of the project as a whole. This in-depth case study, with the aid of project data analysis, was able to reveal unique insights into the practical application of Agile methodologies within SaaS project management, particularly focusing on the project delivery times, bug resolution efficiency, and customer satisfaction metrics post-Agile implementation. Further, this research tries to propose a new built-up hybrid Agile framework for SaaS, which captures complex dynamics of the SaaS project management domain and proposes a scalable model for the integration of Agile methodologies to optimize outcome realization from the software project. This demonstrated a customized Agile approach to organizational and project contexts, a significant improved level of flexibility, responsiveness, and efficiency in the practice of SaaS project management. This thesis will provide a strategic implementation to the academic and practical understanding of Agile methodologies in the SaaS industry, which will be valuable guidance for practitioners or organizations putting in efforts toward adopting Agile practices. This underpins the need for a flexible framework, Agile, which can be in a position to meet the growing demands in the SaaS industry by providing recommendations balancing several Agile principles that drive continuous improvement, innovation, and development focused on the customer for SaaS projects. Keywords: Software as a Service (SaaS), Agile Software Project Management, Scrum, Kanban, SAFe, Scrumban, customer satisfaction, hybrid Agile framework.
Chapter
Full-text available
The uncertainty of the pandemic needs agile change management to tackle COVID-19 in business. Agile change management is a proactive technique for managing COVID-19 in a fast-paced business context. It improves corporate agility to respond to uncertainty, driving competitive growth and efficiency. As consumer and technology markets evolve, agile change management has become an alternative in modern organizations. Leaders must be agile to fight COVID-19 effectively. The uncertainty caused by COVID-19 demands leaders to use agile change management to explore new business continuity methods. Change management insights and best practices help organizations minimize COVID-19’s impact on people, operations, and companies. Agile change management improves incremental people and environment results. Practical application to optimize organizational productivity in a distressing environment involves critical awareness, desire, knowledge, ability, and reinforcement. Strategic concepts for executives to align the company with COVID-19 disruption. The principles strive to achieve quantifiable goals within a set timeframe and collaborate and integrate processes throughout the organization.
Article
Full-text available
The stock administration program architecture involves user roles, such as managers, administrators, and staff, interacting with the system's components to access and process data. The system's development relies on hardware and application elements, including databases, front-end and back-end systems, code editing tools, and local servers. A use-case approach organizes stock administration, with diagrams showing users' interactions with the system. Administrators can manage stock by adding, modifying, or deleting items, while the system provides reports for analysis and decision-making. Staff members can view inventory, adjust stock levels, and receive alerts for low stock. Managers oversee stock requests, analyze reports, and manage staff accounts. A SUS questionnaire was administered to assess usability, revealing user perceptions based on ease of use, efficiency, and satisfaction. Comparing SUS scores across user roles helps identify usability challenges. High scores indicate that the system is user-friendly and effective, while lower scores suggest areas for improvement through training, redesign, or feature enhancements. Users reported high usability for ease of use, with support requirements scoring second highest. Staff ratings highlighted areas for improvement, such as stock level notifications, which can be addressed through redesign or training to enhance system usability.
Chapter
The Moroccan National Institute of Agronomic Research “INRA” has set the design and development of a new Enterprise Resource Planning including three components: “Finance”, “Human Resources, Training and Payroll” and “Agronomic Research” as its objective in 2021. INRA used before the Waterfall method, it certainly had certain advantages given the constraints which pushed the IT department to use such a method, but little by little, the limitations of this methodology become more apparent, and a more agile method was required. An agile software development method Scrum was proposed to overcome the inability of the traditional waterfall method to meet changing needs at INRA. This chapter will describe the INRA's experience use of agility with the Scrum method. A description of the good practices recommended by Scrum and how the IT Department adapted and complied with them to achieve agility within the institute will be described.
Article
Full-text available
This paper will focus on traditional SDLC method like Waterfall model and will brief on comparative study of same with Agile. Traditional SDLC models like Waterfall model is sequential development methodology where output of one development phase becomes input for other. To brief cons, like risk of failure are high and process itself is not flexible for change. Agile software development methodology is widely used software development process which overcomes the drawbacks of traditional software development methods.It provides means for rapid development and great deal of flexibility to adopt new changes during development process. The primary data collection method was interviews of the industryexpertise. The secondary source of data is reference books and Internet articles. This paper will help to understand basics of Agile methodology.
Conference Paper
Full-text available
Conference Paper
Full-text available
There are quite a few up-to-date and every so habitually used Agile style but among those Serum, Kanban and XP (Extreme Programming) are generally the most mutual. On instance, organizations use typically tools and techniques from any but rather a lot they use roughly of the amalgamations of those approaches. Devouring in cognizance that those approaches are just a framework they allow firms to adapt it for their particular tasks as well as for other limits. Serum, Kanban, and XP frameworks manage and deal with the advancement of Software Development. These frameworks are utilized in various circumstances and work processes. Subsequently, they are compelling for various Agile collaborators and tasks in different circumstances. However, the utilization of a wrong approach or practice prompts Software System Development procedures that are unbendable and inefficient, affecting the association and instigating wasteful advancement. Incorporators of Serum, Kanban, XP trust that the erroneous performs of these frameworks remain hazardous and in this manner, Agile workmates ought to be aided in their basic leadership. The idea of this paper is to decide the fundamental variables to ruminate amid the determination of Serum, XP and Kanban frameworks. The recognizable proof of elements was directed over a top to bottom audit of the essential task, subsequently, the documents scrutiny was utilized in the investigation concerning information. By way of finding, system recommendation, people, and tasks, adoption phase, team capacity, group stature, prioritizing of requirements, functionality scope, prime interval, operational observes, budget and eminence were the primary aspects that lead Agile coworkers in preference Serum, XP or Kanban and in accumulation their practices. This paper portrays a strategy to perform inspections on Agile approaches, in view of an arrangement of important highlights and characteristics.
Conference Paper
Full-text available
The concept of Agile software development has attracted substantial interests of organisations in achieving rapid and functional software development goals. This could be due to its features of concentrating more on delivering a working software rather than being presented with a bulk-load of documentation; rapid response to changes in requirements rather than following a prescribed plan; collaboration with customers rather than negotiation of contracts and giving more preference to individuals and interactions over processes and tools. Over the years, Agile approach (AA) has been perceived to be incompatible with distributed software development. However, recent studies have shown that Scrum, one of the popular Agile approaches, has been adopted and customized by organisations in alignment with distributed software development projects. This study presents the possibilities of adopting Scrum practices as an Agile approach in distributed software development projects based on different studies and reports that have been carried out in DSD projects using Scrum. Findings were presented from different studies showing Scrum being adopted successfully in DSD. The paper also investigated different ways in which these Scrum practices have been successfully adopted, thereby examining innovative approaches to Scrum practices, such as daily Scrum meetings, sprints, Scrum-of-Scrum and backlogs.
Conference Paper
There exist various software development methodologies under agile software development method. Extreme programming (XP) is known as one of the agile development methods that has gained popularity in the recent past. Waterfall model which is termed as linear sequential development model has been the traditional model of development. Both extreme programming and waterfall focus on different aspects during the process of software development and management. In this work we have analyzed the linear sequential software development methodology and the extreme programming method with regard to time constraints and risk mitigation. Our study shows that though there is no single methodology suited in all scenarios of development yet extreme programming gives fast delivery and less exposure to risks.
Conference Paper
There has been a noticeable focus shift from agile methods such as extreme Programming (XP) and Scrum to lean software development in the last several years, which is indicated as "from agile to lean". However, the reality may not be as simple or linear as the term implies. To provide a better understanding of the combined use of agile and lean approaches in software development, a set of experience reports were analysed. These reports were published in the past conferences dedicated to agile software development and report experiences of using both agile and lean. The results of the analysis show that agile and lean can be combined in different manners for different purposes in software development. Lean is often applied as guiding principles for agile development. When combined at practice level, flow-based lean processes tend to substitute time-boxed agile processes.