Agile methodology: Difference between revisions

From A Technological Wiki
Jump to navigation Jump to search
imported>Unknown user
No edit summary
(No difference)

Revision as of 18:51, 19 October 2025

It is a set of principles for software development under which requirements and solutions evolve through the collaborative effort of cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change. The term "Agile" was coined in 2001 when the Agile Manifesto was formulated, emphasizing interactions over processes, working solutions over extensive documentation, and responding to changes over following a set plan. Agile methodologies, like Scrum and Kanban, provide specific practices and tools for teams to be agile. They emphasize regular feedback, short iterations, and adaptability. With Agile, stakeholder satisfaction is prioritized by delivering small, functional bits of software quickly and frequently, thereby allowing stakeholders to review and adjust requirements throughout the development process. This approach contrasts with traditional waterfall models, which emphasize linear phases and extensive pre-planning.

values

The Agile manifesto define methodologies values as "uncovering better ways of developing software by doing it and helping others do it" through:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

principles

Guidelines that explain how can we achieve values.

  1. Satisfy client delivering early and continuous delivery of valuable software, providing competitive advantage.
  2. Development and business must work together with face-to-face conversations, motivated and with the support they need.
  3. Working software with technical excellence and good design is the primary measure of progress.
  4. Simplicity is essential until complexity is required.
  5. Self-organized teams reflect regulary how to evolve and define their own architectures, requirements and designs, avoiding ivory tower architect anti-pattern

Phases

  • Inception: gather and analyze requirements, commonly known as Grooming.
  • Initiation: phase where all technical aspects should be acommplished before development starts

Types of agile methodologies

The methodology to use depends on the type of problem we have. We need to know WHAT we need to solve, HOW we are going to solve it and the working environment to take our decissions: predictable and intervalic (defined) or uncertain and chaotic (empiric).

Feedback loop

Feedback loops in are essential mechanisms that facilitate continuous improvement and adaptability within systems, applications, and processes. They function as channels of communication, ensuring that information about performance or outcomes is relayed back to the relevant parties or systems for adjustment. It is imporant to minimize the time from the development to production in order frequent feedback of the result.

Adapt to change

It is not the strongest of the species that survives, but the one most adaptable to change

  • Leon C. Megginson

Adapting to change is crucial for survival and progress. In our rapidly evolving world, the ability to adjust to new situations defines the resilience and flexibility of individuals, organizations, and societies. Change is inevitable; it represents growth, innovation, and new possibilities. By embracing it, we open ourselves to new learning experiences and opportunities. Conversely, resistance can lead to stagnation and missed potential. Adapting to change fosters cognitive flexibility, encouraging problem-solving and creative thinking. For businesses, it means staying relevant in a competitive market. For individuals, it nurtures personal development and improves mental well-being. Moreover, in our interconnected global society, adapting to cultural, technological, and environmental shifts is paramount. In essence, our capacity to adapt is a testament to our willingness to evolve, learn, and thrive in the face of uncertainties and challenges. It is a fundamental quality that ensures the continuity and advancement of our collective journey.