Software Development Life Cycle: Traditional and Agile- A Comparative Studyijsrd.com
In the field of software development, software development lifecycle is the most important component. There is a number of software development methodologies used in software industry today. The paper discussed below focuses on the modern SDLC which are traditional methods and the agile methods. It also explains the compensation and shortcomings of the traditional as well as agile methods. Along with this, it suggests some improvements which could help in improving current agile development
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
There are various SDLC models widely accepted and employed for developing software.
SDLC models give a theoretical guide line regarding development of the software. Employing proper
SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its
advantages and disadvantages making it suitable for use under specific condition and constraints for
specified type of software only. We need to understand which SDLC would generate most successful
result when employed for software development. For this we need some method to compare SDLC
models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC
models is a complex task as there is no mathematical theorem or physical device available. The essence
of this paper is to analyse some methodologies that could result in successful comparison of the SDLC
models. For this we have studied various available tools, techniques and methodologies and have tried
to extract most simple, easy and highly understandable method for comparing SDLC models.
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSijseajournal
Recently, the software development in the industry is moving towards agile due to the advantages provided
by the agile development process. Main advantages of agile software development process are: delivering
high quality software in shorter intervals and embracing change. Testing is a vital activity for delivering a
high quality software product. Often testing accounts for more project effort and time than any other
software development activities. Testing strategies for conventional process models are well established,
but these strategies are not directly applicable to agile testing without modifications and changes. In this
paper, a novel method for agile testing in the scrum software development environment is proposed and
presented. The sprint and testing activities which form the context for the proposed testing method are
presented. The proposed method is applied on two cases studies. The results indicated that the testing time
can be reduced considerably by applying the proposed method
Software Development Life Cycle: Traditional and Agile- A Comparative Studyijsrd.com
In the field of software development, software development lifecycle is the most important component. There is a number of software development methodologies used in software industry today. The paper discussed below focuses on the modern SDLC which are traditional methods and the agile methods. It also explains the compensation and shortcomings of the traditional as well as agile methods. Along with this, it suggests some improvements which could help in improving current agile development
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
There are various SDLC models widely accepted and employed for developing software.
SDLC models give a theoretical guide line regarding development of the software. Employing proper
SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its
advantages and disadvantages making it suitable for use under specific condition and constraints for
specified type of software only. We need to understand which SDLC would generate most successful
result when employed for software development. For this we need some method to compare SDLC
models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC
models is a complex task as there is no mathematical theorem or physical device available. The essence
of this paper is to analyse some methodologies that could result in successful comparison of the SDLC
models. For this we have studied various available tools, techniques and methodologies and have tried
to extract most simple, easy and highly understandable method for comparing SDLC models.
A NOVEL METHOD FOR REDUCING TESTING TIME IN SCRUM AGILE PROCESSijseajournal
Recently, the software development in the industry is moving towards agile due to the advantages provided
by the agile development process. Main advantages of agile software development process are: delivering
high quality software in shorter intervals and embracing change. Testing is a vital activity for delivering a
high quality software product. Often testing accounts for more project effort and time than any other
software development activities. Testing strategies for conventional process models are well established,
but these strategies are not directly applicable to agile testing without modifications and changes. In this
paper, a novel method for agile testing in the scrum software development environment is proposed and
presented. The sprint and testing activities which form the context for the proposed testing method are
presented. The proposed method is applied on two cases studies. The results indicated that the testing time
can be reduced considerably by applying the proposed method
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
The growth of the software development industry approaches the new development methodologies to deliver the
error free software to its end-user fulfilling the business values to product. The growth of tools and technology
has brought the automation in the development and software testing process, it has also increased the demand of
the fast testing and delivery of the software to end customers. Traditional software development methodologies
to trending agile software development trend have brought new philosophy, dimensions, and processes having
invested new tools to make process easy. The Agile development (Scrum, XP, FDD, BDD, ATDD, ASD,
DSDM, Kanban, Crystal and Lean) process also faces the software testing model crises because of the fast
development of life cycles, fast delivery to end users without having appropriate test metrics which make the
software testing process slow as well as increase the risk. The analysis of the testing metrics in the software
testing process and setting the right lean test metrics help to improve the software quality effectively in agile
process.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
SDLC is the acronym of Software Development Life Cycle. It is also called as Software development process. The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process.
Question Bank (Short answer type) covering Traditional and Object-Oriented Software Development, User Interface Design, Coding, Testing, Metrics, Estimation, Management and Quality based on book by Jibitesh & Mohanty, Pressman, SWEBOK
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
The growth of the software development industry approaches the new development methodologies to deliver the
error free software to its end-user fulfilling the business values to product. The growth of tools and technology
has brought the automation in the development and software testing process, it has also increased the demand of
the fast testing and delivery of the software to end customers. Traditional software development methodologies
to trending agile software development trend have brought new philosophy, dimensions, and processes having
invested new tools to make process easy. The Agile development (Scrum, XP, FDD, BDD, ATDD, ASD,
DSDM, Kanban, Crystal and Lean) process also faces the software testing model crises because of the fast
development of life cycles, fast delivery to end users without having appropriate test metrics which make the
software testing process slow as well as increase the risk. The analysis of the testing metrics in the software
testing process and setting the right lean test metrics help to improve the software quality effectively in agile
process.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
SDLC is the acronym of Software Development Life Cycle. It is also called as Software development process. The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process.
Question Bank (Short answer type) covering Traditional and Object-Oriented Software Development, User Interface Design, Coding, Testing, Metrics, Estimation, Management and Quality based on book by Jibitesh & Mohanty, Pressman, SWEBOK
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...ijseajournal
Agility is bringing in responsibility and ownership in individuals, which will eventually bring out effectiveness and efficiency in deliverables. Agile model is growing in the market at very good pace.Companies are drifting from traditional Software Development Life Cycle models to Agile Environment for the purpose of attaining quality and for the sake of saving cost and time. Nimbleness nature of Agile is helpful in frequent releases so as to satisfy the customer by providing frequent dual feedback. In Traditional models, life cycle is properly defined and also phases are elaborated by specifying needed input
and output parameters. On the other hand, in Agile environment, phases are specific to methodologies of Agile - Extreme Programming etc. In this paper a common life cycle approach is proposed that is applicable for different kinds of teams. The paper aims to describe a mapping function for mapping of traditional methods to Agile method.
Mapping of traditional software development methods to agile methodologycsandit
Agility is bringing in responsibility and ownership in individuals, which will eventually bring
out effectiveness and efficiency in deliverables. Companies are drifting from traditional
Software Development Life Cycle models to Agile Environment for the purpose of attaining
quality and for the sake of saving cost and time. In Traditional models, life cycle is properly
defined and also phases are elaborated by specifying needed input and output parameters. On
the other hand, in Agile environment, phases are specific to methodologies of Agile - Extreme
Programming etc. In this paper a common life cycle approach is proposed that is applicable for
different kinds of methods. This paper also aims to describe a mapping function for mapping of
traditional methods to Agile methods
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYcscpconf
Agility is bringing in responsibility and ownership in individuals, which will eventually bring out effectiveness and efficiency in deliverables. Companies are drifting from traditional Software Development Life Cycle models to Agile Environment for the purpose of attaining quality and for the sake of saving cost and time. In Traditional models, life cycle is properly defined and also phases are elaborated by specifying needed input and output parameters. On the other hand, in Agile environment, phases are specific to methodologies of Agile - Extreme
Programming etc. In this paper a common life cycle approach is proposed that is applicable for different kinds of methods. This paper also aims to describe a mapping function for mapping of traditional methods to Agile methods.
The Many approaches and methodologies are available in the development of software with error free to its end user by fulfilling the values of stake-holders. Among the available methodologies Agile is a popular methodology which is introduced in 2001. Agile consists of various development processes such as Scrum, XP, Kanban, Lean and others. Among them Lean is one of the methodology in development of software domain which is adapted from Toyota Production System. This paper concentrates on how Lean sustains in the business stagnation because there exists some problems such as missing deadline, over development and ineffective management. Lean is having its own advantages and pitfalls. To overcome the pitfalls of Lean an adaptive approach is needed which may fit with existing industry standards.
Guidelines to minimize the cost of software quality in agile scrum processijseajournal
This paper presents a case stud
y of Agile Scrum process
followed
in Retail Domain project. This paper also
reveals the impa
cts of Cost of Software Quality,
when agile scrum process is not followed efficiently. While
analyzing the case study, the gaps were found and guidelines for proces
s improvements were also
suggested in this paper.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Agile process
1. Agile Processes and Methodologies: A
Conceptual Study
Sheetal Sharma
Amity School of Engineering & Technology
Amity University Noida
Sheetal.meenu@gmail.com
Darothi Sarkar
Amity School of Engineering & Technology
Amity University Noida
darothisarkar@rediffmail.com
Divya Gupta
Amity School of Engineering & Technology
Amity University Noida
Fromdivya81@gmail.com
Abstract— This paper deals with the comparative study of agile processes. The paper will serve as guide to
other software development process models. Agile processes have important applications in the areas
of software project management, software schedule management, etc. In particular the aim of agile
processes is to satisfy the customer, faster development times with lower defects rate. This paper compares the
agile processes with other software development life cycle models. Agile processes are not always
advantageous, they have some drawbacks as well; the advantages and disadvantages of agile processes are
also discussed in this paper.
Keywords: Agile Development, Software Development Life Cycle (SDLC).
I. INTRODUCTION
In software development life cycle, there are two main considerations, one is to emphasize on process and the
other is the quality of the software and process itself. Agile software processes is an iterative and incremental
based development, where requirements are changeable according to customer needs. It helps in adaptive
planning, iterative development and time boxing. It is a theoretical framework that promotes foreseen interactions
throughout the development cycle. There are several SDLC models like spiral, waterfall, RAD which has their
own advantages. SDLC is a framework that describes the activities performed at each stage of a software
development life cycle[1]. The software development activities such as planning, analysis, design, coding,
testing and maintenance which need to be performed according to the demand of the customer. It depends on the
various applications to choose the specific model. In this paper, however, we will study the agile processes and its
methodologies. Agile process is itself a software development process[2]. Agile process is an iterative approach
in which customer satisfaction is at highest priority as the customer has direct involvement in evaluating the
software[3].
The agile process follows the software development life cycle which includes requirements gathering, analysis,
design , coding , testing and delivers partially implemented software and waits for the customer feedback. In the
whole process , customer satisfaction is at highest priority with faster development time. The following Figure. 1 ,
depicts the software development life cycle of Agile Process.
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 892
2. Figure 1. Phases of Agile Process.
This paper is organized as follows: Characteristics of Agile processes are presented in section II. Section III
discusses the agile methodologies. Section IV discusses the advantages of Agile Process, Section V discusses the
disadvantages of Agile Process, Section VI discusses the comparison of Agile with other SDLC models. Finally,
conclusions are discussed in the section VII.
II. CHARACTERISTICS OF AGILE PROJECTS
Agile process requires less planning and it divides the tasks into small increments. Agile process is meant for
short term projects with an effort of team work that follows the software development life cycle. Software
development life cycle includes the following phases 1.Requirements gathering, 2.Analysis, 3.Design, 4.Coding
, 5.Testing, 6.Maintenance. The involvement of software team management with customers reduces the risks
associated with the software. This agile process is an iterative process in which changes can be made according to
the customer satisfaction. In agile process new features can be added easily by using multiple iterations.
1. Iterative
The main objective of agile software processes is satisfaction of customers, so it focuses on single
requirement with multiple iterations.
2. Modularity
Agile process decomposes the complete system into manageable pieces called modules. Modularity plays a
major role in software development processes.
3. Time Boxing
As agile process is iterative in nature, it requires the time limits on each module with respective cycle.
Requirement
gathering
Analysis
Design
Coding
Testing
Delivery of
partially
incremented
software
Feedback from
customer
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 893
3. 4. Parsimony
In agile processes parsimony is required to mitigate risks and achieve the goals by minimal number of
modules.
5. Incremental
As the agile process is iterative in nature, it requires the system to be developed in increments, each increment
is independent of others, and at last all increments are integrated into complete system.
6. Adaptive
Due to the iterative nature of agile process new risks may occurs. The adaptive characteristic of agile process
allows adapting the processes to attack the new risks and allows changes in the real time requirements.
7. Convergent
All the risks associated with each increment are convergent in agile process by using iterative and incremental
approach.
9. Collaborative
As agile process is modular in nature, it needs a good communication among software development team.
Different modules need to be integrated at the end of the software development process.
10. People Oriented
In the agile processes customer satisfaction is the first priority over the technology and process. A good
software development team increases the performance and productivity of the software.
III. METHODOLOGIES
There are several methodologies through which we can implement Agile Projects. Here we have discussed three
methodologies which are most widely used in Industry. The agile methods are focused on different aspects of
the software development life cycle. Some focus on the practices (extreme programming, pair programming),
while others focus on managing the software projects (the scrum approach).
A. Extreme Programming (XP)
XP is the most successful method of developing agile software because of its focus on customer satisfaction.
XP requires maximum customer interaction to develop the software. It divides the entire software development
life cycle into several number of short development cycles. It welcomes and incorporates changes or requirements
from the customers at any phase of the development life cycle.
Figure 2 : Method of Developing Agile Processes using Extreme Programming
Iteration
Planning
Project tracing
Development
(Iteration)
Iteration plan
User
Requirements
Priority
checking
Effort estimation
New user
requirements
Acceptance
testing
Latest developed
version
Release of the
latest version
Bug
New
requirementsRequirements
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 894
4. The above diagram shows the complete method of developing agile process using XP method. Extreme
programming starts with collecting user requirements. Depending upon these requirements the whole
development process is divided into several small no of cycles. So the next phase is iteration planning i.e.
deciding the no of cycles, prioritizing the requirements and estimating the amount of effort required to implement
each cycle. Now each iteration is developed using pair programming. During the development phase new user
requirements may come and the iteration plan should be adjusted according to that. Next step is to test the latest
developed version for bugs, if detected; the bugs will be removed in the next iteration. After every acceptance
testing project tracing should be done in which feedback is taken from the project that how much job has already
been done.
XP has introduced many new things for developers like pair programming, extensive code review, code
refactoring and open workspace [4].
B. Scrum
Scrum is another popular method of agile development through which productivity becomes very high. It is
basically based on incremental software development process. In scrum method the entire development cycle is
divided into a series of iteration where each iteration is called as a sprint. Maximum duration of a sprint is 30
days.
Figure 3: Method of Developing Agile Processes using Scrum
The method starts with collecting user requirements but it is not expected that all the requirements should
come out from the user at the beginning. User can change their mind at any time during development; they can
add new features, remove or update some existing features. Next phase is to prioritize the requirements and the
list is known as product backlog [5]. A proper planning for sprint should be done i.e. how many sprints are
needed to develop the software, duration of the sprint, and what are the requirements from the product backlog
should be implemented in each sprint. This particular list is known as sprint backlog. During each sprint one
sprint meeting is held every day to take the feedback how much work has been done. After each sprint review is
taken to determine whether all the requirements for that particular sprint have already been implemented or not
and to decide the requirements should be implemented at the next sprint. After each sprint we get a working
increment of the software
C. Feature Driven Development (FDD)
FDD is one of the agile development methods. The key advantage of this method is to design the domain of
the software to be produced before development.
User
requirements Product
backlog
Planning of
sprint
Sprint
backlog
Sprint
Review of sprint
meeting
Latest increment
of the software
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 895
5. Figure 4: Method of Developing Agile Processes using FDD Graph
The method starts with collecting the requirements from the users and building up the overall model of the
project. The model gives the clear idea about the scope of the software. Next step is to make a list of features
which are the client-valued functions [5]. For example ‘authenticate the password’, ‘calculate the salary for each
employee’, ‘calculate the income tax for each employee’. Now several groups of features are made based on their
domains i.e. related features are combined into a single group. Next step is to make a plan for developing the
features. Each group of features is assigned to a development team which is headed by one chief programmer.
Last step is modeling iteration in which first UML modeling is done for each feature and then developing that
particular feature. This step continues unless all the features get implemented successfully.
IV. ADVANTAGES
1) Adaptive to the changing environment: In agile software development method, software is developed
over several iterations. Each iteration is characterized by analysis, design, implementation and testing. After
each iteration the mini project is delivered to the customer for their use and feedback. Any changes that upgrade
the software are welcome from the customer at any stage of development and that changes are implemented.
2) Ensures customer satisfaction: This methodology requires active customer involvement throughout the
developmen[6]t. The deliverables developed after each iteration is given to the user for use and improvement is
done based on the customer feedback only. So at the end what we get as the final product is of high quality and
it ensures the customer satisfaction as the entire software is developed based on the requirements taken from
customer.
3) Least documentation: The documentation in agile methodology is short and to the point though it
depends on the agile team. Generally they don’t make documentation on internal design of the software. The
main things which should be on the documentation are product features list, duration for each iteration and date.
This brief documentation saves time of development and deliver the project in least possible time.
User
requirements
Developing
overall model
Preparing list of
features
Planning by
features
Modeling
iteration
Designing UML
model for each
feature
Developing by
features
Successful and
properly developed
feature
Modeling iteration
Complete
working
software
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 896
6. 4) Reduces risks of development: As the incremented mini software is delivered to the customers after
every short development cycle and feedbacks are taken from the customers, it warns developers about the
upcoming problems which may occur at the later stages of development. It also helps to discover errors quickly
and they are fixed immediately.
V. DISADVANTAGES
1) Customer interaction is the key factor of developing successful software: Agile methodology is based
on customer involvement because the entire project is developed according to the requirements given by the
customers. So if the customer representative is not clear about the product features, the development process
will go out of the track.
2) Lack of documentation: Though the least documentation saves development time as an advantage of
agile method, on the other hand it is a big disadvantage for developer. Here the internal design is getting
changed again and again depending on user requirements after every iteration, so it is not possible to maintain
the detail documentation of design and implementation because of project deadline[7]. So because of less
available information, it is very difficult for the new developers who join the development team at the later stage
to understand the actual method followed to develop the software.
3) Time consuming and wastage of resources because of constant change of requirements: If the
customers are not satisfied by the partial software developed by certain iteration and they change their
requirements then that incremented part is of no use. So it is the total wastage of time, effort and resources
required to develop that increment.
4) More helpful for management than developer: The agile methodology helps management to take
decisions about the software development, set goals for developers and fix the deadline for them. But it is very
difficult for the baseline developers to cope up with the ever changing environment and every time changing the
design, code based on just in time requirements.
VI. COMPARISON OF AGILE PROCESS WITH OTHER SDLC MODELS
TABLE I. PRCOESS MODELS
Features
Different Process Models
Agile Process Spiral Model RAD Model
Definition
Agile process is the ability to both
create and respond to changing
requirements of software.
Spiral model is the
software development
model which focuses on
managing risks.
RAD model is “high speed
adaptation of linear sequential
model, in which component
based construction is used.
Adaptability X
Testing Phase Unit, Integration , System testing
Unit, Integration and
System testing
Unit
Quality Factors X
Risk Analysis X X
Off-the- Tools X X
Failure normally due to Code Code Architecture and design
Knowledge Required Product and domain Product and domain Domain
Entry & exit Criteria X X
Mock up X
Extendability X
Project management involvement X
Higher Reliability X
Time Boxing X
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 897
7. Features
Different Process Models
Agile Process Spiral Model RAD Model
Status of Development Team Less experience required Less experience required More experience required
Use of reusable components X X
Flexibility X
Customer Involvement X
VII. CONCLUSION
In this paper we have discussed the software development life cycle models, the characteristics of agile
process, and spiral model, methodologies of agile process, advantages and disadvantages. In the comparative
study of agile software development with other software development models we conclude that agile project is
much better than other software development process in terms of productivity, performance, faster time cycles,
risk analysis. Agile processes are implemented in important applications such as web based, testing tools, etc.
REFERENCES
[1] Tobin J Lehman, Akhilesh Sharma , “Software Development as a service: Agile Experiences”, in annual SRII Global
Conference (2011).
[2] A. Ahmed, S. Ahmad, Dr. N Ehsan, E. Mirza, S.Z. Sarwar,“Agile Software Development: Impact on Productivity and Qulaity”,
in the Proceedings of IEEE ICMIT.(2010).
[3] B.Boehm and R.Turner, “Balancing Agility and Discipline: A Guide for the Perplexed, Addison, Wesley, 2003.
[4] Jeffery A. Livermore, “Factors that Impact Implementing an Agile Software Development Methodology” in the Proceedings of
IEEE (2007)
[5] http://en.wikipedia.org/wiki/Scrum_(development)
[6] B.Boehm, “ Anchoring the Software Process,” IEEE Software, July 1996.
[7] B. Boehm and D.Port,”Balancing Discipline and Flexibility with the Spiral Model and MBASE”. Crosstalk, Dec. 2001.
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 898