DevOps Mod 2 AGILE MANIFESTO Flashcards

1
Q

approaches to product development that are aligned with the values and principles described in the Agile Manifesto for software development.

A

Agile Methodology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  • 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.

A

Application of Agile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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.

A

Agile Manifesto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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.

A

Individuals and Interactions over processes and tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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.

A

Working software over comprehensive documentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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.

A

Customer collaboration over contract negotiation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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.

A

Responding to change over following a plan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  • 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.
A

12 Agile Principles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the Agile Methodologies?

A
  • Scrum
  • Extreme Programming (XP)
  • Adaptive Software Development (ASD)
  • Dynamic Software Development Method (DSDM)
  • Feature Driven Development (FDD)
  • Kanban
  • Behavior Driven Development (BDD)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  • 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.
A

SCRUM Methodology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The overall product functionality is broken down by the PRODUCT OWNER into smaller features typically described as:

A

Epics, User stories - or just Stories.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

The Scrum method is characterized by specific ceremonies such as:

A

Daily Standup meeting, Sprint Review Meeting, Demo to the Product Owner and the Sprint Retrospective meeting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  • 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.
A

Extreme Programming (XP) or Paired Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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.

A

Adaptive Software Development (ASD)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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.

A

Speculate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

This is the phase where most of the development is centered, maintaining coordination between teams that ensures what is learned by one team is communicated to the rest and does not have to be learned again by other teams from scratch.

A

Collaborate

17
Q

The last stage ends with a series of collaboration cycles - the job is to capture what has been learned, both positive and negative. This stage is critical for the effectiveness of the project.

A

Learn

18
Q
  • It was developed in the year 1994 by a group of vendors and experts in the field of Software Development. It focuses on Software projects that are characterized by tight budgets and schedules. It focuses on frequent delivery of product cycles, and development is iterative and incremental.
  • Is an agile model that can undoubtedly help organizations that are used to working on projects to change their mentality and way of working to improve their capacity to deliver value and reduce time to market.
A

Dynamic Software Development (DSDM)

19
Q
  • This methodology is mainly oriented for larger teams with more people than those to whom other agile methodologies such as Scrum are normally applied. It was developed by Jeff De Luca and Peter Coad in the year 1997. This methodology focuses on short iterations, which allow tangible deliveries of the product in a short period of time (2 weeks).
  • Is a 5 - stage process, the first 3 of which are sequential and the final two stages are iterative. All agile methodologies follow a series of principles that make them resemble each other.
A

Feature Driven Development (FDD)

20
Q
  • Was defined by David Anderson in the early-to-mid 2000s, in response to some of the challenges of the various Agile methods, especially Scrum. These methods, while trying to solve the challenges of traditional/waterfall methods, became victim to some of the same challenges themselves.

-The 2-3 week sprint cycle became too long to wait for many business contexts, and the changes required in organization structure ( new roles and responsibilities) and project management/ planning processes put too much strain on organizations, and many teams found themselves not meeting event sprint-level commitments of scope and quality. For most organizations, implementing these methods became very disruptive

  • Was defined as the opposite of that - a non-disruptive evolutionary method for improvement, that ultimately enables teams to deliver continuously instead of in time-buckets of 2-3 weeks, get feedback faster and reduce the lead time to deliver value to the customer
  • Is a visual system for managing work as it moves through a process. It visualizes both the process (the workflow) and the actual work passing through that process. The goal of this methodology is to identify potential bottlenecks in your process and fix them, so work can flow through it cost-effectively at an optimal speed or throughput.
A

Kanban Method

21
Q

Kanban is defined as as a highly effective and efficient production system. The origin of the Kanban methodology lies in the?

A

Just-in-time (JIT) - devised by Toyota

22
Q
  • Is a behavior-oriented agile development methodology.
  • It was created by Dan North in 2003 as an evolution of the TDD (Test-Driven Development) methodology. Dan North aimed to bring non-technical people together in the process of creating the system’s technical functionality. It happens that when we develop software, we involuntarily fail to include business concepts present in the functionality, resulting in a possible flow for recurring and even serious bugs.
  • It uses universal language concepts that encourage collaboration between people with or without technical knowledge in a software project. This development process is based on writing test scenarios and features.
A

Behavior Driven Development (BDD)

23
Q

Agile and DevOps Compared
Is a philosophy about how to develop and deliver software.

A

Agile

24
Q

Agile and DevOps Compared
Describes how to continuously deploy code through the use of modern tools and automated processes.

A

DevOps

25
Q
  • It is a software development process for object-oriented models. It is also known as the Unified Process Model. It is created by Rational Corporation and is designed and documented using UML (Unified Modeling Language)
  • This process is included in IBM Rational Method Composer (RMC) product. IBM (International Business Machine Corporation) allows us to customize, design, and personalize the unified process
  • Proposed by Ivar Jacobson, Grady Bootch and James Rambaugh. Some characteristics of RUP include use-case driven, Iterative (repetition of the process), and Incremental (increase in value) by nature, delivered online using web technology, can be customized, or tailored in modular and electronic form,
  • Reduces unexpected development costs and prevents wastage of resources.
A

Rational Unified Process (RUP)

26
Q

What are the Phases of RUP?

A
  • Inception
  • Elaboration
  • Construction
  • Transition
  • Production
27
Q
  • Communication and planning are the main ones.
  • Identifies the scope of the project using a use-case model allowing managers to estimate costs and time required.
  • Customers’ requirements are identified and then it becomes easy to make a plan for the project.
  • The project plan, Project goal, risks, use-case model, and Project description, are made.
  • The project is checked against the milestone criteria and if it couldn’t pass these criteria then the project can be either canceled or redesigned.
A

Inception

28
Q
  • Planning and modeling are the main ones
  • A detailed evaluation and development plan is carried out and diminishes the risks.
  • Revise or redefine the use-case model (approx. 80%), business case, and risks.
  • Again, checked against milestone criteria and if it couldn’t pass these criteria then again project can be canceled or redesigned.
  • Executable architecture baseline.
A

Elaboration

29
Q
  • The project is developed and completed
  • System or source code is created and then testing is done.
  • Coding takes place.
A

Construction

30
Q
  • The final project is released to the public.
  • Transit the project from the development into production.
  • Update project documentation
  • Beta testing is conducted.
  • Defects are removed from the project based on feedback from the public.
A

Transition

31
Q
  • The final phase of the model.
  • The project is maintained and updated accordingly.
A

Production

32
Q

ADVANTAGES AND DISADVANTAGE OF RATIONAL UINIFIED PROCESS

  • It provides good documentation; it completes the process in itself.
  • It provides risk-management support.
  • It reuses the components, and hence total time duration is less.
  • Good online support is available in the form of tutorials and training.
A

Advantage

33
Q

ADVANTAGES AND DISADVANTAGE OF RATIONAL UINIFIED PROCESS

  • A team of expert professionals is required, as the process is complex.
  • Complex and not properly organized process.
  • More dependency on risk management.
  • Hard to integrate again and again.
A

Disadvantages

34
Q

i

A