Comprehensive Analysis of Agile Methodology in Software Development

Verified

Added on  2023/04/25

|19
|4543
|497
Report
AI Summary
This report provides a detailed overview of the Agile methodology, a project management approach widely used in software development. It discusses the core principles of Agile, its history, and various methodologies used during implementation, such as Extreme Programming (XP), Feature-Driven Development (FDD), and Scrum. The report also outlines the Agile development cycle, highlighting the importance of iterative and incremental work sequences, continuous feedback, and collaboration between developers and stakeholders. Furthermore, it examines the advantages and disadvantages of Agile methodologies, budget estimation techniques, and how Agile addresses software requirements. The report also explores the applicability of Agile methodology to projects outside of software development. Desklib offers a platform where students can access this and other solved assignments for academic support.
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: THE AGILE METHODOLOGY
The Agile Methodology
Name of the Student’
Name of the University
Author’s note
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1THE AGILE METHODOLOGY
Table of Contents
1. Introduction..................................................................................................................................2
2. Discussion....................................................................................................................................3
2.1 The General Principle of Agile Methodology.......................................................................3
2.2 History of Agile Methodology...............................................................................................4
2.3 Methodologies used during the Implementation of Agile.....................................................5
2.4 The Agile Development Cycle..............................................................................................7
2.5 Companies who make use of Agile Method..........................................................................9
2.6 Advantages of Agile Methodologies.....................................................................................9
2.7 Disadvantages of Agile Methodologies...............................................................................10
2.8 Estimation of Budget in Agile Methodologies....................................................................11
2.9 How would Agile address the Requirements within Software............................................11
3. Can Agile Methodology be used for Projects outside of Software Development.....................12
4. Conclusion.................................................................................................................................13
References......................................................................................................................................14
Document Page
2THE AGILE METHODOLOGY
1. Introduction
The Agile Methodology can be defined as a kind of particular approach within project
management and can be thus utilized in software development methods. This kind of method
primarily helps teams in making certain kind of decisions about the making of software and thus
respond to unpredictable situations during the development of software (Å pundak, 2014). The
agile methodology makes use of iterative, incremental and sequences of work that would be
commonly regarded as sprints. The development model of agile based software application is
entirely dependent on an iterative and incremental approach. The agile based methodologies are
adaptable to the different forms of changing requirements with the change in time. This kind of
approach would thus be able to encourage a constant form of feedback from the users who would
be making use of the software applications. There are several kind of cross-functional teams who
would be functioning on iterations within a certain product over a certain period of time. The
performed work would thus be organized into a kind of backlog (Patwardhan et al., 2016). This
work would be prioritized according to the needs of customer or business value.
In the Agile supported methodologies, the form of leadership quality would be able to
encourage accountability, teamwork and face-to-face communication. The developers and
business stakeholders should perform the work together in order to align the product according to
the goals of the company and accord to the needs of customers. The Agile methodology refers to
the process in which the concepts would primarily align with Agile Manifesto. In February 2001,
a group of 17 software developers had met in Utah in order to discuss on the methods on
lightweight development (Matharu et al., 2015). They had thus published the Manifesto for Agile
Software Development. This had covered the ways of development of software based on doing it
and also helping others. This had also included four values and a collection of 12 principles.
Document Page
3THE AGILE METHODOLOGY
2. Discussion
2.1 The General Principle of Agile Methodology
There are certain principles that are followed by the agile methodology of software
design. These are:
ï‚· Satisfaction of client based on continuous improvement s within the software
development techniques.
ï‚· Different forms of changing requirements are generally embraced based on the gaining an
advantage over expectation of client.
ï‚· Concentrating on delivering software on a frequent basis (Rigby, Sutherland & Takeuchi,
2016). The preference of delivery of software would be entirely be based on the shortest
possible time span of development.
ï‚· The business people and developers should be able to work together throughout the entire
project life cycle.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4THE AGILE METHODOLOGY
ï‚· The different project should be based on people who would be motivated from their work
(Brhel et al., 2015). A proper environment of development should be provided to the
people and a high-level of trust should also be gained.
ï‚· Face-to-face mode of communication should be generally followed within the
development team.
ï‚· A software that would work efficiently would be considered as a sign of progress of
work.
ï‚· There should be a constant level of attention based on technical excellence and designing
of good interface, which would further lead to enhancement of agility.
ï‚· The principle of simplicity is essential as it would help in maximizing the amount of
work to be done.
ï‚· The best kind of designs would only be created by self-organized teams.
ï‚· During regular intervals, the team would be able to reflect on the behaviours of becoming
effective (Mc Hugh et al., 2017). Thus they would be able to tune and adjust their
behavioural patterns in an according manner.
2.2 History of Agile Methodology
The different ideas of agile methodology had mainly surfaced in the early 1970s. Various
forms of studies were thus conducted on this method, which were fruitful for providing an
explanation about the emergence of this approach against the traditional approach based on the
development of a project (Çulha & Doğru, 2014). The various pioneers in the field of software
development had believed on an idea that if the developers had studied the process thoroughly,
then it would be more logical and prove to be a useful solutions based on the approaches of
software development.
Document Page
5THE AGILE METHODOLOGY
2.3 Methodologies used during the Implementation of Agile
Agile can be defined as a framework. There are certain specific kind of methods that
could be used within the agile based framework. The different methods are described as follows:
 Extreme Programming (XP) – This can be defined as form of software development
method. This kind of method is mainly used for improving the quality and bringing an
enhancement on the responsiveness based on the evolving needs of customer
requirements (Salvador, Nakasone & Pow-Sang, 2014). The primary principles of XP
include the assumption of simplicity, feedback gaining and embracing the need for
changes.
 Feature-driven development (FDD) – This kind of incremental and iterative mode of
software development process would be able to blend the best practices that are used
within the software development industry (Firdaus, Ghani & Jeong, 2014). The five
major activities that are used within FDD are – development of an overall model,
building of a feature list, planning by feature, designing by feature and thus building by
feature.
 Adaptive System Development (ASD) – This kind of method helps in describing of the
ideas, which defined that certain projects should be in a certain state of continuous
adaptation (Surjono, 2014). The cycle based on ASD has a three form of repeating series.
These include: speculation, collaboration and learning.
 Dynamic Systems Development Method (DSDM) – The delivery framework based on
agile project is mainly used for the development of software within non-IT based
solutions. It would address the certain kind of failures that are undergone within several
IT projects. These include the exceeding the budget within projects, missing of deadlines
Document Page
6THE AGILE METHODOLOGY
and improper form of user involvement. There are certain eight principles within DSDM.
These are – focusing on business needs, delivering projects on time, collaboration, never
compromising on quality, building of form foundations, development in an iterative
manner, communication in a clear and continuous manner and demonstrating of control.
 Lean Software Development (LSD) – The LSD incorporated lean based manufacturing,
and the lean based IT principles would apply to software development. It could thus be
categorized based on seven principles (Patwardhan et al., 2016). These include – the
elimination of waste, amplification of learning, deciding on a late basis, delivering fast
solutions, empowerment of team, building of integrity and overviewing the entire
structure.
 Kanban – This method is defined as a visual framework that would be meant for the
implementation of Agile based framework. It would thus promote small and continuous
mode of changes within the existing system (Stellmand & Greene, 2014). The different
principles used within Kanban are: Visualization of workflow, limiting work within
progress, management and enhancing of workflow, making of explicit policies and
focusing of continuous improvement.
 Crystal Clear – This method is considered as a within a certain family of methodologies.
This kind of method can be thus used within teams that would comprise of six to eight
developers. This method primarily focuses on people and not on artefacts or processes.
The Crystal clear method requires the use of these activities – frequent delivery of some
usable piece of code to different users, osmotic mode of communication, reflective
improvement and re-location.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7THE AGILE METHODOLOGY
 Scrum – This kind of method is mainly used for the implementation of agile
methodology. The scrum can be defined as an iterative model of software, which follows
certain set of responsibilities, roles and some meeting that might not change (Maximini,
Maximini & Rauscher, 2018). There are some kind of sprints, which would continue for
one to two weeks. This would thus allow the entire team for the delivery of software on a
regular form of basis.
2.4 The Agile Development Cycle
(Fig 1: The Agile Development Lifecycle)
(Source: )
The above figure helps in developing the ideas based on the agile development lifecycle.
These phases should occur in proper level of succession. They would thus be flexible and would
Document Page
8THE AGILE METHODOLOGY
be in the process of continuous evolvement. In some of the cases, the different phases might
occur on a parallel basis.
 Requirement Analysis – This phase within the Agile methodology involves several level
of meeting with the managers, stakeholders and other users who would be able to identify
the different business requirements (Popli & Chauhan, 2014). The analysis of
requirements should be relevant, quantifiable and on a detailed basis.
 Planning – After the idea of the project has been discussed as feasible, the project team
would join together and thus would work together for the identification of different
features (Papadopoulos, 2015). The primary aim of this phase is based on breaking of
smaller pieces of work.
 Design – The design of software and the system would be mostly be prepared based on
identification of the requirements. The project should be efficient for thinking about the
future outcome of the solution or product. The testing team would also be able to come
up with efficient plans for planning on proceeding to the next stage.
 Development – This phase involves the creation of the project and testing features.
During this phase, the idea of deployment of the product is also taken into account. The
phase of development primarily begins with the iteration at 0 as because no features
would be delivered. This kind of iteration would normally lay the foundation for the
phase of development (Dingsøyr & Lassenius, 2016). This would also comprise of task
such as the finalization of contracts, preparing the developing and testing environments
and funding strategies.
 Testing – After the development of code, it would be needed to get test in order to ensure
that each of the requirements are fulfilled. This would also ensure that the project might
Document Page
9THE AGILE METHODOLOGY
be able to solve the needs of the customer and also match with their stories (ben Othmane
et al., 2014). In this phase, integration testing, unit testing, acceptance testing and system
testing would also be performed.
 Deployment – After the period of testing is performed, the final product would be
delivered to the customers for their use. After the customers would use the product, there
could be some kind of problems (Salah, Paige & Cairns, 2014). The project team should
also take the responsibility of addressing the raised problems in order to satisfy the client.
2.5 Companies who make use of Agile Method
In the recent times, most companies make use of Agile based methods for the
development of various kind of software products. In this approach, the IBM is one such
company that make use of the method based on the development of software (Stellmand &
Greene, 2014). There are many companies that would adopt the use of the method within the
development structure.
According to different interviews conducted at IBM, the agile method have been fruitful
for making significant changes towards the industry. They also believe in the fact that agile
based methods would help in increasing the chances for the success of the project (Paternoster et
al., 2014). They would thus help the clients for the implementation of different strategies based
on the development of projects. This method provides a critical form of guidance for the various
development teams based on avoiding of adoption, expansion and implementation of pitfalls
during the development process.
2.6 Advantages of Agile Methodologies
The advantages of Agile methodologies are:
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
10THE AGILE METHODOLOGY
ï‚· The changes within the organisational structure and project changes are easily embraced
ï‚· The end goal of the projects could be unknown (Rover et al., 2014). During the
development of projects, the goal would be understood and thus project can adapt to the
evolving requirements.
ï‚· High-quality delivery of project would be made. The high-quality of software would be
delivered faster based on successive and consistent iterations.
ï‚· They would focus on high mode of communication with team members. The different
teams would together and thus take responsibility for the projects.
ï‚· The customer needs are highly followed. These customers would thus be able to gain
ownership based on working with the project team.
ï‚· Agile focuses on the feedback of users and thus be able to make improvements from the
lessons learned from such feedbacks.
2.7 Disadvantages of Agile Methodologies
The disadvantages of Agile methodologies are:
ï‚· There can be some kind of problems based on estimating of the date of delivery of
projects that would follow the agile methodology. Any kind of additional sprints might be
added within the project that would be added to overall timeline.
ï‚· The agile based teams should be highly knowledgeable. They should thus be able to get
comforted with the use of this methodology.
ï‚· There should be an active form of development from the development team (Lang, 2017).
They should be entirely be committed throughout the entire project.
ï‚· The documentation cannot be neglected. The agile based project teams should be able to
balance between discussion and documentation.
Document Page
11THE AGILE METHODOLOGY
ï‚· As the agile based method does not support a definitive plan, hence the final product
could be different.
2.8 Estimation of Budget in Agile Methodologies
The creation of budget for the agile based projects could be done in the following ways.
These are:
ï‚· Creation of a burndown chart. This chart could be thus used for estimating the number of
sprints within the project (Nelson & Morris, 2014). Once the initial budget is estimated,
there could be addition in costs that would include travel, technology or equipment.
ï‚· Each of user stories could be broken down into separate tasks. The estimation of the
project budget could be done after the calculation of the time taken for the completion of
the project.
ï‚· A planning poker could be used for the estimation of effort that would be required for the
goals of development (Edeki, 2015). Each team member would be able to make estimates
based on the time taken for the completion of the project.
2.9 How would Agile address the Requirements within Software
The agile methodology would be helpful for the development teams to keep their focus
on the most important requirements of the customer. This should occur on a quick basis. Based
on continuous feedback and frequent form of face-to-face interactions, the different stakeholder
and project team would be able to understand the basic needs of the client and thus be able to
understand the complete set of requirements.
The various agile teams make use of backlogs based on user stories in order to manage
the different set of requirements. Before the initiation of an iteration, the team would agree for
Document Page
12THE AGILE METHODOLOGY
focusing on requirements that would be highly be needed for the next step of delivery. This form
of collaborative approach within the team would be able to ensure the most kind of important
features that would need to be prioritized. There could be several instance in which the client
would change requirements. These updated procedures should be continuously updated
throughout the entire duration of the project. This would be needed as new kind of information
would be surfaced.
3. Can Agile Methodology be used for Projects outside of Software Development
Although the agile based methodology was primarily designed for the development of
software, it could also be used within different industries and projects in order to gain a better
form of outcome. The emergence of agile based method of software development was based on
the principles based on organisational learning and lean manufacturing. The generation of these
kind of ideas were not based on software (Conforto et al., 2014). There are many kind of
practices within the agile framework that could be applied to any kind of industry. The different
practices include visual management methods and stand-up meetings.
There have been many kind of case studies that have made use of the agile based
methodology. Agile could thus be definitely applied to different projects besides software
development. There should be a right form of approach for the purpose of development.
Although Agile and Scrum make use of the same systems, there are still some kind of differences
during the comparison of Scrum versus Agile methods. The Agile methodologies follow certain
principles based on building of software through the process of iterative development (Estler et
al., 2014). On the other hand, the Scrum methodology follows certain specific set of rules during
the practicing of agile mode of software development.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
13THE AGILE METHODOLOGY
As Scrum could be one way of implementation of Agile, they would both be able to share
the same kind of similarities. Both of these methodologies primarily focus on the delivery of
software often and early. They also encourage the level of transparency and continuous form of
improvement.
4. Conclusion
Based on the discussion from the above topic of research, there have been several
conclusion that could be drawn. Based on the discussion, it could be understood that scrum and
agile could be used altogether in order to achieve certain results. Scrum is defined as one of the
frameworks based on the implementation of Agile based processes. Agile can be defined as an
umbrella term that would be able to include different processes such as Kanban, Crystal Clear,
Extreme Programming and Scrum. This discussion help in understanding that Scrum can be
formed as Agile but the opposite is not true.
A certain recommendation on the use of Scrum is defined. Scrum can be used when the
requirements of the project would be changing on a continuous basis and there would be a need
of evolvement. There should be a continuous level of feedback that would be needed. It could
also be used when there would be a need for figuring out of the larger part of the work that was
not done previously. Scrum would thus work well on such projects that would have a lot of
unknown factors and that would evolve on a timely basis.
Agile based methodology could be used in certain cases when the final product delivery
is not defined properly. This methodology could also be used when the stakeholders or client
would recommended to change the scope of the project. The methodology would also help in
Document Page
14THE AGILE METHODOLOGY
situations where the developers would be adaptable for thinking independently. The
methodology would also help in optimizing for rapid form of development.
Document Page
15THE AGILE METHODOLOGY
References
ben Othmane, L., Angin, P., Weffers, H., & Bhargava, B. (2014). Extending the agile
development process to develop acceptably secure software. IEEE Transactions on
dependable and secure computing, 11(6), 497-509.
Brhel, M., Meth, H., Maedche, A., & Werder, K. (2015). Exploring principles of user-centered
agile software development: A literature review. Information and Software
Technology, 61, 163-181.
Conforto, E. C., Salum, F., Amaral, D. C., da Silva, S. L., & de Almeida, L. F. M. (2014). Can
agile project management be adopted by industries other than software
development?. Project Management Journal, 45(3), 21-34.
Çulha, D., & Doğru, A. (2014, April). Towards an agile methodology for business process
development. In International Conference on Subject-Oriented Business Process
Management (pp. 133-142). Springer, Cham.
Dingsøyr, T., & Lassenius, C. (2016). Emerging themes in agile software development:
Introduction to the special section on continuous value delivery. Information and
Software Technology, 77, 56-60.
Edeki, C. (2015). Agile Software Development Methodology. European Journal of Mathematics
and Computer Science Vol, 2(1).
Estler, H. C., Nordio, M., Furia, C. A., Meyer, B., & Schneider, J. (2014). Agile vs. structured
distributed software development: A case study. Empirical Software Engineering, 19(5),
1197-1224.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
16THE AGILE METHODOLOGY
Firdaus, A., Ghani, I., & Jeong, S. R. (2014). Secure feature driven development (SFDD) model
for secure software development. Procedia-Social and Behavioral Sciences, 129, 546-
553.
Lang, G. (2017). Agile Learning: Sprinting Through the Semester. Information Systems
Education Journal, 15(3), 14.
Matharu, G. S., Mishra, A., Singh, H., & Upadhyay, P. (2015). Empirical study of agile software
development methodologies: A comparative analysis. ACM SIGSOFT Software
Engineering Notes, 40(1), 1-6.
Maximini, D., Maximini, & Rauscher. (2018). Scrum Culture. Springer International Publishing
AG, part of Springer Nature.
Mc Hugh, M., McCaffery, F., Casey, V., & Pikkarainen, M. (2017). Integrating agile practices
with a medical device software development lifecycle.
Nelson, R. R., & Morris, M. G. (2014). IT Project Estimation: Contemporary Practices and
Management Guidelines. MIS Quarterly Executive, 13(1).
Papadopoulos, G. (2015). Moving from traditional to agile software development methodologies
also on large, distributed projects. Procedia-Social and Behavioral Sciences, 175, 455-
463.
Paternoster, N., Giardino, C., Unterkalmsteiner, M., Gorschek, T., & Abrahamsson, P. (2014).
Software development in startup companies: A systematic mapping study. Information
and Software Technology, 56(10), 1200-1218.
Document Page
17THE AGILE METHODOLOGY
Patwardhan, A., Kidd, J., Urena, T., & Rajgopalan, A. (2016). Embracing Agile methodology
during DevOps Developer Internship Program. arXiv preprint arXiv:1607.01893.
Popli, R., & Chauhan, N. (2014, February). Cost and effort estimation in agile software
development. In Optimization, Reliabilty, and Information Technology (ICROIT), 2014
International Conference on (pp. 57-61). IEEE.
Rigby, D. K., Sutherland, J., & Takeuchi, H. (2016). Embracing agile. Harvard Business
Review, 94(5), 40-50.
Rover, D., Ullerich, C., Scheel, R., Wegter, J., & Whipple, C. (2014, October). Advantages of
agile methodologies for software and product development in a capstone design project.
In Frontiers in Education Conference (FIE), 2014 IEEE(pp. 1-9). IEEE.
Salah, D., Paige, R. F., & Cairns, P. (2014, May). A systematic literature review for agile
development processes and user centred design integration. In Proceedings of the 18th
international conference on evaluation and assessment in software engineering (p. 5).
ACM.
Salvador, C., Nakasone, A., & Pow-Sang, J. A. (2014, April). A systematic review of usability
techniques in agile methodologies. In Proceedings of the 7th Euro American Conference
on Telematics and Information Systems (p. 17). ACM.
Špundak, M. (2014). Mixed agile/traditional project management methodology–reality or
illusion?. Procedia-Social and Behavioral Sciences, 119, 939-948.
Stellman, A., & Greene, J. (2014). Learning agile: Understanding scrum, XP, lean, and kanban.
" O'Reilly Media, Inc.".
Document Page
18THE AGILE METHODOLOGY
Surjono, H. D. (2014). The evaluation of a moodle based adaptive e-learning
system. International Journal of Information and Education Technology, 4(1), 89.
chevron_up_icon
1 out of 19
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]