Agile model

From apppm
Revision as of 15:40, 20 February 2022 by S202256 (Talk | contribs)

Jump to: navigation, search

Contents

Abstract

Recently, the world has become much more complex and unpredictable, a special acronym has appeared to describe it, “VUCA”, which states for volatile, unpredictable, complex and ambiguous. [1]

The fast pace of changing technology and evolving markets, leads to the need of adaptative and flexible project management approaches. Agile is an iterative development process that consists of putting people first and focusing the project development on small iterations and feedback. Requirements and solutions evolve through collaboration between cross-functional teams. It encourages frequent inspection and adaptation for rapid delivery of high-quality solutions that are aligned with customer needs.

Agile first appeared in the early 1990s within the software development industry and is based on the Agile Manifesto [2] and its 12 principles. Since then, many Agile frameworks have emerged such as scrum, kanban, lean, and Extreme Programming (XP). Nowadays, Agile has become very popular within many organizations.

This article introduces the Agile concept and presents the principles and main values of the Agile Manifesto. Next, it describes the different Agile frameworks and its applications. On the other hand, it presents in which situations it is useful to follow Agile. The last part of the article mentions possible limitations of Agile.

Big idea

What is Agile model?

Agile methodology is a project management process that is based on splitting the project development into smaller iterations. It mainly focuses on the collaboration between the development team and their customers, and it requires adaptability and flexibility.

Agile aims to deliver fast solutions that will be tested with the customers in order to get their feedback. This feedback will allow the team to make changes and improvements through a following iteration. In Agile is very important to respond to changes during the process.

Specially, software industry is highly competitive because of the fast changing and continuously updates of the technology, so this means that developers need to constantly improve and evolve.

Mainly, the Agile process could be divided/break up into different phases:

  • Concept. Scope. Defining the project scope, analyze concepts and define requirements.
  • Plan. Organize teams and tools and planification of sprints.
  • Iteration.
  • Plan requirements
    • Development
    • Test
    • Deliver
    • Feedback
  • Release
  • Maintenance

[3]

[4]

Agile Manifesto

The publication of the Agile Manifesto in 2001 marks the birth of agile as a methodology. It was created by a group of software developers who wanted a better approach to the traditional development process. It outlines 4 values and 12 principles that guide the Agile philosophy:

Values:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

and 12 principles:

  1. Satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome and harness changes for the customer's competitive advantage, even late in development.
  3. eliver working software frequently, from a couple of weeks to a couple of months, with a preference for shorter timescales.
  4. Have daily collaboration between business people and developers throughout the project.
  5. Build projects around motivated individuals. Create the environment and support developers need, and trust them to get the job done.
  6. Prioritize face-to-face conversation as the most efficient and effective method of conveying information to and within a development team.
  7. Measure progress by the amount of working software completed.
  8. Maintain a constant and sustainable pace of development indefinitely.
  9. Enhance agility through continuous attention to technical excellence and good design.
  10. Keep it simple. Simplicity—the art of maximizing the amount of work not done—is essential.
  11. Recognize that the best architectures, requirements, and designs emerge from self-organizing teams.
  12. Regularly reflect and adapt behavior for continual improvement.

Application

Agile methodologies

Agile metrics

Limitations

References

  1. Bennis, Warren; Nanus, Burt (1987) "VUCA"
  2. Beck, K., et al (2001) "Manifesto for Agile Software Development"
  3. Pimonova S. (2020) Agile Methodology in Education of IT Students, Application of. In: Tatnall A. (eds) Encyclopedia of Education and Information Technologies. Springer, Cham. https://doi.org/10.1007/978-3-030-10576-1_214
  4. da Silva, Tiago Silva; Estácio, Bernardo (2017) Agile Methods. Springer International Publishing.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox