0% found this document useful (0 votes)
80 views7 pages

Agile Software Development Methods

The document discusses agile software development methods and methodologies. It defines the key differences between methods and methodologies, describes common agile values and principles, and lists popular agile methods and practices. The document also discusses tailoring agile methods to specific project situations by making responsive changes based on context, intentions, and method fragments. While some agile proponents support tailoring, others caution that efforts should focus on changes needed within the enterprise rather than perfecting a methodology.

Uploaded by

Roya Jaferi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views7 pages

Agile Software Development Methods

The document discusses agile software development methods and methodologies. It defines the key differences between methods and methodologies, describes common agile values and principles, and lists popular agile methods and practices. The document also discusses tailoring agile methods to specific project situations by making responsive changes based on context, intentions, and method fragments. While some agile proponents support tailoring, others caution that efforts should focus on changes needed within the enterprise rather than perfecting a methodology.

Uploaded by

Roya Jaferi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

qwertyuiopasdfghjklzxcvbnmqwerty

uiopasdfghjklzxcvbnmqwertyuiopasd
fghjklzxcvbnmqwertyuiopasdfghjklzx
AGILE SOFTWARE DEVELOPMENT
cvbnmqwertyuiopasdfghjklzxcvbnmq
METHODS/METHODOLOGIES
ASSIGNMENT 2
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
ROYA F. JAFERI
1421-314089

hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmrtyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyuiopas
Agile Software Development Methods and Methodologies

Contents
Agile Software Development Methods and Methodologies..................................................................2
Method vs. Methodology..................................................................................................................2
What is agile software development.................................................................................................3
Agile software development values...............................................................................................3
Agile software development principles.........................................................................................3
Agile software development methods...............................................................................................4
Agile software development practices..........................................................................................4
Method tailoring................................................................................................................................5
Agile Methodology vs. The Waterfall Methodology..........................................................................5
Citations.............................................................................................................................................6

Method vs. Methodology


While “method” and “methodology” are closely intertwined, they serve different roles in
the research process and should be treated accordingly.

A method is simply the tool used to answer your research question - how; in short, you will
go about collecting your data. Examples of research methods include:
 Contextual inquiry
 Interview
 Usability study
 Survey
 Diary study
 Card sort

A methodology is the rationale for the research approach, and the lens through which the
analysis occurs. Said another way, a methodology describes the “general research strategy
that outlines the way in which research is to be undertaken”. The methodology should
impact which method(s) for a research endeavour are selected in order to generate the
compelling data.
Examples of methodologies, courtesy of Elin Bjorling, include:
 Phenomenology: describes the “lived experience” of a particular phenomenon
 Ethnography: explores the social world or culture, shared beliefs and behaviors
 Participatory: views the participants as active researchers
 Ethnomethodology: examines how people use dialogue and body language to
construct a world view

2
 Grounding theory*: assumes a blank slate and uses an inductive approach to develop
a new theory

What is agile software development


Agile software development is an approach to software development under which
requirements and solutions evolve through the collaborative effort of self-organizing and
cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning,
evolutionary development, early delivery, and continual improvement, and it encourages
rapid and flexible response to change.

Agile software development values


Based on their combined experience of developing software and helping others do that, the
seventeen signatories to the manifesto proclaimed that they value:
 Individuals and Interactions over processes and tools
 Working Software over comprehensive documentation
 Customer Collaboration over contract negotiation
 Responding to Change over following a plan
 That is to say, the items on the left are valued more than the items on the right.

As Scott Ambler elucidated:

 Tools and processes are important, but it is more important to have competent
people working together effectively.
 Good documentation is useful in helping people to understand how the software is
built and how to use it, but the main point of development is to create software, not
documentation.
 A contract is important but is no substitute for working closely with customers to
discover what they need.
 A project plan is important, but it must not be too rigid to accommodate changes in
technology or the environment, stakeholders' priorities, and people's understanding
of the problem and its solution.
Some of the authors formed the Agile Alliance, a non-profit organization that promotes
software development according to the manifesto's values and principles.

Agile software development principles


The Manifesto for Agile Software Development is based on twelve principles:

1. Customer satisfaction by early and continuous delivery of valuable software


2. Welcome changing requirements, even in late development
3. Working software is delivered frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. Face-to-face conversation is the best form of communication (co-location)
7. Working software is the primary measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design

3
10. Simplicity—the art of maximizing the amount of work not done—is essential
11. Best architectures, requirements, and designs emerge from self-organizing teams
12. Regularly, the team reflects on how to become more effective, and adjusts
accordingly

Agile software development methods


Agile software development methods support a broad range of the software development
life cycle. Some focus on the practices (e.g., XP, pragmatic programming, agile modeling),
while some focus on managing the flow of work (e.g., Scrum, Kanban). Some support
activities for requirements specification and development (e.g., FDD), while some seek to
cover the full development life cycle (e.g., DSDM, RUP).

Popular agile software development frameworks include (but are not limited to):

 Adaptive software development (ASD)


 Agile modeling
 Agile unified process (AUP)
 Disciplined agile delivery
 Dynamic systems development method (DSDM)
 Extreme programming (XP)
 Feature-driven development (FDD)
 Lean software development
 Kanban
 Rapid application development (RAD)
 Scrum
 Scrumban

Agile software development practices


Agile software development is supported by a number of concrete practices, covering areas
like requirements, design, modeling, coding, testing, planning, risk management, process,
quality, etc. Some notable agile software development practices include:[43]

 Acceptance test-driven development (ATDD)


 Agile modeling
 Agile testing
 Backlogs (Product and Sprint)
 Behavior-driven development (BDD)
 Business analyst designer method (BADM)[44]
 Continuous integration (CI)
 Cross-functional team
 Domain-driven design (DDD)
 Information radiators (scrum board, task board, visual management board,
burndown chart)
 Iterative and incremental development (IID)
 Low-code development platforms

4
 Pair programming
 Planning poker
 Refactoring
 Retrospective
 Scrum events (sprint planning, daily scrum, sprint review and retrospective)
 Story-driven modeling
 Test-driven development (TDD)
 Timeboxing
 User story
 User story mapping
 Velocity tracking.

Method tailoring
In the literature, different terms refer to the notion of method adaptation, including
'method tailoring', 'method fragment adaptation' and 'situational method engineering'.
Method tailoring is defined as:

A process or capability in which human agents determine a system development


approach for a specific project situation through responsive changes in, and dynamic
interplays between contexts, intentions, and method fragments.

— Mehmet Nafiz Aydin et al., An Agile Information Systems Development Method in use.

Situation-appropriateness should be considered as a distinguishing characteristic between agile


methods and more plan-driven software development methods, with agile methods allowing
product development teams to adapt working practices according to the needs of individual
products.
Potentially, most agile methods could be suitable for method tailoring, such as DSDM tailored in a
CMM context. And XP tailored with the Rule Description Practices (RDP) technique.
Not all agile proponents agree, however, with Schwaber noting "that is how we got into trouble in
the first place, thinking that the problem was not having a perfect methodology.
Efforts [should] centre on the changes [needed] in the enterprise”.
As Vodde reinforced this viewpoint, suggesting that unlike traditional, large methodologies that
require you to pick and choose elements, Scrum provides the basics on top of which you add
additional elements to localise and contextualise its use.

Agile Methodology vs. The Waterfall Methodology


Agile was formally launched in 2001 when 17 technologists drafted the Agile Manifesto.
They wrote four major principles for developing better software:

 Individuals and interactions over processes and tools


 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan

The core reason is that agile is designed for flexibility and adaptability. You don’t define all
the answers up front as you do in the waterfall method, but break the problem into

5
digestible components that you then develop and test with users. If something isn’t working
well or as expected, or if the effort reveals something that hadn’t been considered, you can
adapt the effort quickly to get back on track quickly—or even change tracks if that’s what’s
needed. Agile lets each team member contribute to the solution, and it requires that each
takes personal responsibility for his or her work.

For many problems, agile development is better because its principles, frameworks, and
practices are designed around today’s operating conditions. Agile frameworks and
development processes that prioritize delivering working software iteratively and promote
leveraging feedback to improve the application and process is more suitable to today’s
world of operating smarter and faster.

Product owners may think they know exactly how they want to develop an application that
fulfills their vision, but rarely do they want to give up the ability to improve that vision as
they talk to more users and see how an application actually performs for them. Likewise,
development teams think they know how to engineer the perfect application, but they can’t
demonstrate it until the entire application is integrated, functionality demonstrated, and
changes in requirements rationalized.

Agile development is also better because it encourages an ongoing process of improvement.


Imagine if Microsoft ended Windows development after version 3.1 or Google stopped
improving its search algorithms in 2002. Software is in constant need of being updated,
supported, and improved; agile processes that are iterative in nature establish both a
mindset and process for that continuous improvement.

Finally, agile development is better because people on the team are more productive and
happier working with this process. Engineers have a say in how much work they are taking
on, and they are proud to show their results. Product owners like seeing their vision
expressed in software sooner and being able to change prioritize based on the latest
insights. Users like getting software that does what they actually need, in a way that meets
or enhances their processes.

Today, enterprises need software competency to deliver good digital experiences in a


hypercompetitive world, great customer experiences. They need to attract and keep great
talent to do that. Agile development is how enterprises get there.

Citations

1. Collier, Ken W. (2011).  Agile Analytics: A Value-Driven Approach to Business Intelligence and
Data Warehousing. Pearson Education.
2. "What is Agile Software Development? ". Agile Alliance. 8 June 2013. Retrieved  4 April2015.
3. Method vs. Methodology - https://uxdesign.cc/method-vs-methodology-whats-the-difference-
9cc755c2e69d
4. www.google.com
5. Wikipedia

6
7

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy