Agile Software Development Methods
Agile Software Development Methods
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
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
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.
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
Popular agile software development frameworks include (but are not limited to):
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:
— Mehmet Nafiz Aydin et al., An Agile Information Systems Development Method in use.
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.
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.
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