Konubinix' opinionated web of thoughts

Agile Methods

Fleeting

People often forget that customer is a central role in agile and confuse it with Rapid Application Development or adaptive software development. Also, some people tend to think that agile is about removing the unnecessary, which is more about lean.

In software development, agile (sometimes written Agile)[1] practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s),[2] adaptive planning, evolutionary development, early delivery, continual improvement, and flexible responses to changes in requirements, capacity, and understanding of the problems to be solved.

https://en.wikipedia.org/wiki/Agile_software_development

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

https://agilemanifesto.org/

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

https://agilemanifesto.org/principles.html

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

https://agilemanifesto.org/principles.html

  1. Business people and developers must work together daily throughout the project.

https://agilemanifesto.org/principles.html

  1. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

https://agilemanifesto.org/principles.html

individuals and interactions over processes and tools

individuals and interactions over processes and tools

https://agilemanifesto.org/

working software over comprehensive documentation

working software over comprehensive documentation

https://agilemanifesto.org/

customer collaboration over contract negotiation

customer collaboration over contract negotiation

https://agilemanifesto.org/

responding to change over following a plan

responding to change over following a plan

https://agilemanifesto.org/

agile encourages continuous improvement

  1. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

https://agilemanifesto.org/principles.html

most efficient and effective method of conveying information to and within a development team is face-to-face conversation

  1. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

https://agilemanifesto.org/principles.html

quotes

The term Agile was coined in 2001 in the Agile Manifesto. The manifesto set out to establish principles to guide a better approach to software development.

https://docs.microsoft.com/en-us/devops/plan/what-is-agile

is not a thing; you don’t do Agile. Rather, Agile is a mindset that drives an approach to software development. As there is no single approach that works for all situations, the term Agile has come to represent a variety of methods and practices that align with the value statements in the manifesto.

https://docs.microsoft.com/en-us/devops/plan/what-is-agile

Agile Methodology is a people-focused, results-focused approach to software development that respects our rapidly changing world. It’s centered around adaptive planning, self-organization, and short delivery times. It’s flexible, fast, and aims for continuous improvements in quality, using tools like Scrum and eXtreme Programming.

https://stackify.com/agile-methodology/

phrase “agile methodology” is misleading because it implies that agile is a singular approach to software development. Agile is not a set of prescriptions for exactly which actions to take in software development. Instead, it is a way of thinking about collaboration and workflows and it is a set of values which guide our choices in regards to what we make and how we make it.

https://www.redhat.com/en/topics/devops/what-is-agile-methodology

agile software development methodologies are all about delivering small pieces of working software quickly to improve customer satisfaction.

https://www.redhat.com/en/topics/devops/what-is-agile-methodology

Agile as we know it today traces its history to 2001. Reacting to waterfall approaches to project management, which organizes a software project as a series of linear sequences, a group of software developers penned The Manifesto for Agile Software Development.

https://www.redhat.com/en/topics/devops/what-is-agile-methodology

Agile methodology is a practice that encourages continuous development and testing throughout the software development lifecycle of a project. Unlike the Waterfall methodology, the Agile methodology allows for parallel development and testing.

https://www.atatus.com/glossary/agile-methodology/

Agile methodologies attempt to produce the proper product through small cross-functional self-organizing teams that produce small pieces of functionality on a regular basis, allowing for frequent customer input and course correction as needed.

https://www.atatus.com/glossary/agile-methodology/

Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment. The authors of the Agile Manifesto chose “Agile” as the label for this whole idea because that word represented the adaptiveness and response to change which was so important to their approach. It’s really about thinking through how you can understand what’s going on in the environment that you’re in today, identify what uncertainty you’re facing, and figure out how you can adapt to that as you go along.

https://www.agilealliance.org/agile101/

Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. When you approach software development in a particular manner, it’s generally good to live by these values and principles and use them to help figure out the right things to do given your particular context.

https://www.agilealliance.org/agile101/

Solutions evolve through collaboration between self-organizing cross-functional teams utilizing the appropriate practices for their context.

https://www.agilealliance.org/agile101/

teams are cross-functional. Those teams don’t have to have specific roles involved so much as that when you get the team together, you make sure that you have all the right skill sets on the team.

https://www.agilealliance.org/agile101/

provide the environment that allows the team to be successful.

https://www.agilealliance.org/agile101/

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

Simplicity–the art of maximizing the amount of work not done–is essential

Notes linking here