DevOps Mod 2 AGILE MANIFESTO Flashcards
approaches to product development that are aligned with the values and principles described in the Agile Manifesto for software development.
Agile Methodology
- Is about being responsive to the market and to the customer by responding quickly to their needs and demands and being able to change direction as the situation demands.
- Be it Information Technology or software development or any other field where there is a flow of work and delivery of work products, Agile methods are applicable.
-Attempt to maximize the delivery of value to the customer and minimize the risk of building products that do not - or no longer - meet market or customer needs.
Application of Agile
is a statement of core values and principles for software development. It is for software development was set up in 2001 and it is a declaration of 4 vital rules and 12 principles that serve as a guide for people in agile software development. It was created by 17 professionals gathered in the snowy mountains of the US state of Utah, convened by Kent Beck.
Agile Manifesto
The first value emphasizes teamwork and communication. We must understand that software development is a human activity and that the quality of interaction between people is vital. Tools are an important part of software development, but making great software depends much more on teamwork, regardless of the tools team may use.
Individuals and Interactions over processes and tools
Documentation has its place and can be a great resource or reference for users and coworkers alike. The main goal of software development, however, is to develop software that offers business benefits rather than extensive documentation.
Working software over comprehensive documentation
Development teams must work closely and communicate with their customers frequently. By listening to and getting feedback, teams will understand what all stakeholders really want.
Customer collaboration over contract negotiation
Changes are a reality in Software development, a reality that your Software process should reflect. A project plan must be flexible enough to change, as the situation demands.
Responding to change over following a plan
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity-the art of maximizing the amount of work not done -is essential.
- The best architecture, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
12 Agile Principles
What are the Agile Methodologies?
- Scrum
- Extreme Programming (XP)
- Adaptive Software Development (ASD)
- Dynamic Software Development Method (DSDM)
- Feature Driven Development (FDD)
- Kanban
- Behavior Driven Development (BDD)
- A simple framework for working with complex projects, and it was created by Ken Schwaber and Jeff Sutherland.
- Are iterative, meaning the work is divided into iterations, which are called Sprints in this case. It is executed by small teams of between 7-9 people, including a Scrum Master and a Product Owner.
- projects are divided into cycles (typically 2- or 3-week cycles) called Sprints. The Sprints represents a timebox within which a set of features must be developed. Multiple sprints might be combined to form a Release - where formal software/product delivery is made to the customer/market.
SCRUM Methodology
The overall product functionality is broken down by the PRODUCT OWNER into smaller features typically described as:
Epics, User stories - or just Stories.
The Scrum method is characterized by specific ceremonies such as:
Daily Standup meeting, Sprint Review Meeting, Demo to the Product Owner and the Sprint Retrospective meeting.
- A methodology developed by Kent Beck in the early 90s.
- Focuses on enhancing interpersonal relationships as a key to success in software development. It also focuses on promoting teamwork, caring for the learning of developers, and fostering a good working environment. It is characterized by developers working in pairs where one developer programs while the other developer observes; and they switch these roles on a regular basis throughout the Sprint.
- Promotes continuous feedback between the client and the development teams, fluid communication between all participants, simplicity in the implemented solutions and the readiness to face changes. It is especially suitable for projects with indistinct and highly changing requirements and where there is high technical risk.
Extreme Programming (XP) or Paired Programming
Developed by Jim Highsmith and Sam Bayer in the early 1990s. It incorporates the principles of continuous adaptation, i.e., adapt to change and not fight against it. This software uses a dynamic development cycle known as SPECULATE, COLLABORATE, and LEARN. This cycle is dedicated to constant learning and intense collaboration between developers and customers due to the constant change in the business environment.
Adaptive Software Development (ASD)
This is the initiation phase of the project where it is necessary to establish the main objectives and goals of the project by understanding the limitations (risk areas) with which the project operates.
Speculate