Methodologies and Frameworks Flashcards

1
Q

Framework

A
  • The processes, tasks, roles, and guiding principles that form the structure of completing work.
  • The framework significantly influences how a project moves from start to finish.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does DevOps promote?

A

Continuous integration, continuous delivery, and continuous deployment (CI/CD)

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

Scaled Agile Framework (SAFe)

A
  • Methodology used to expand Agile practices across multiple teams in an organization.
  • SAFe is best suited for companies with projects involving multiple teams that need to communicate and collaborate effectively.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software Development Life Cycle (SDLC)

A
  • Flexible framework designed to produce high-quality, low-cost, and thoroughly tested software through continual improvement.
  • SDLC also relies heavily on thorough advance planning, which may not suit agile-focused teams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Waterfall Methodology

A
  • A sequential development process that flows like a waterfall through all phases of a project
  • Initially used in manufacturing, and eventually made its way to software development because it was in common use by that time, serving as an early starting point.
  • It follows a linear sequence
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the 6 phases of a Waterfall methodology?

A
  1. Requirements
  2. Design
  3. Implementation
  4. Testing
  5. Delivery
  6. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the advantages of Waterfall methodology?

A
  • Waterfall framework is easy to understand and deploy
  • The documentation required for these projects is very thorough.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the disadvantages of Waterfall methodology?

A
  • Not very flexible
  • The plan is designed up front and changes or revisions down the line are often costly in time, money or other resources.
    -Makes change management very expensive to conduct in a waterfall based project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When would you use waterfall?

A
  • Fixed requirements with no unknowns
  • Change costs are very high
  • Short and simple
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Agile methodology?

A

A project management approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement.

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

What are the differences between Waterfall and Agile?

A

Waterfall
- Structured and delivers value at the end
- Big design upfront approach
- Best with no unknowns
Agile
- Flexible and delivers value early and often
- Iterative and incremental
- Adaptable to change

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

Iterative Development

A
  • A software development approach that emphasizes the continuous refinement and improvement of a system or product
  • The main goal of each iteration is to identify issues, make improvements, and incorporate feeback from users or stakeholders
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the key benefits of Iterative Development?

A
  • Ability to respond quickly to changing requirements or emerging user needs
  • Opportunity for early and frequent user feedback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Incremental Development

A
  • A software development approach that focuses on delivering small, functional parts of a system or product in a step-by-step manner.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the key benefits of Incremental Development?

A
  • Reduced risk and predictable project outcomes
  • Developers manage complexity, minimize errors, and maintain a higher level of control over the developmental process
    -Allows for faster delivery in new features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the advantages of Agile?

A
  • Adaptability
  • Shorter release cycles
  • Higher quality results
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What are the disadvantages of Agile?

A
  • Potential scope creep
  • Missed deadlines
  • Less documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is Scrum?

A

Scrum is the most common agile framework; it delivers iterative and adaptive value while intentionally covering only the barest requirements.
- It uses empiricism and lean thinking to continuously improve results.

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

What does Empiricism encourage?

A

For teams to make decisions based on what they see and know.

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

What is Lean thinking?

A

It is focused on driving improved efficiency by reducing waste, redundancy, and other unnecessary work within a given project.

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

What are the 5 Key Values of Scrum?

A
  1. Commitment
  2. Focus
  3. Openness
  4. Respect
  5. Courage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What are the 3 Fundamental Pillars of Scrum?

A
  1. Transparency
  2. Inspection
    3.Adaptation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the 4 basic steps of the Scrum process?

A
  • Product owner prioritizes work into a product backlog
  • Scrum team selects the top items in the backlog
  • Scrum team and stakeholders review the sprint results
  • Steps repeat as long as the product backlog exists
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What are the 4 Roles in Scrum?

A
  1. Scrum Team
    -Group of people who work together to deliver increments of value
  2. Product Owner
    -Creates, maintains, and owns the product backlog
  3. Scrum Master
    -The team’s coach which helps the team, product owner, and organization improve the implementation of scrum.
  4. Developer
    -Describes the remaining team members and isn’s exclusive to software engineers.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Product Backlog

A

An ordered list of product changes or enhancements

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

Product Goal

A

Describes the product’s longer term target, and the product backlog should deliver the product goal.

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

Sprint Backlog

A

Includes what the team will do, why they think it is important, and how they will get it done.

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

Sprint Goal

A

Summarizes the value of the sprint

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

How many increments can a sprint have?

A

one or many

30
Q

Sprint

A

Scrum iteration and the container for all other Scrum events

31
Q

Sprint Planning

A

Lasts no more than eight hours for one month sprints, and even less for shorter sprints

32
Q

Daily Scrum

A

Where the developers meet to review progress toward the sprint goal and then plan the next 24 hours of work.

33
Q

Sprint Review

A

Uncovers issues early when they are small and easy to fix, reveals previously unknown development ideas, or confirms that the team is on track.

34
Q

Sprint Retrospective

A

Occurs when the team inspects how they worked in the past sprint and identifies improvement opportunities.

35
Q

What is the advantage of Scrum?

A

Scrum is flexible and can be used across any industry, and its short cycles allow for responsive learning and complex problem solving.

36
Q

What are the disadvantages of Scrum?

A
  • Scrum relies on the organization to respect the product owner’s decisions about the backlog and priorities
  • Scrum’s framework is designed for a single, high-performing and cross functional team, which means that less-experienced teams may struggle and scaling up to larger groups might be difficult.
37
Q

What is Scrum best suited for?

A

Highly cohesive, cross-functional teams that are focused on continual improvement

38
Q

What is Kanban?

A

Kanban is used to control in progress levels, known as WIP levels, and manage workflows in software and business processes

39
Q

What are the 6 Core Practices of Kanban?

A
  1. Visualizing work: Create a Kanban board that shows the specific phases that work moves through on your team.
  2. Limit work in progress: Prevents team members from getting overwhelmed and helps increase productivity and degradation of product quality.
  3. Make policies explicit: Clearly define how work gets completed and moves from one phase to another.
  4. Manage flow: This embraces the roots of lean manufacturing and reduces waste in the system.
  5. Implement feedback loops: You bake feedback directly into the system and stay informed about performances
  6. Improve collaboratively while evolving experimentally: This means that we need to use the scientific method to test ideas and measure the results in the Kanban signals.
40
Q

What are the 3 phases that Work moves through?

A
  1. To Do
  2. In Progress
  3. Done
41
Q

What is the 4-part Workflow of Kanban?

A
  1. the product owner prioritizes and orders the backlog
  2. A team member selects the top-ordered item in the backlog and pulls it into progress
  3. The team moves the work item through the workflow, keeping within the work in progress limits.
  4. When the team is ready to start new work, they select the next item in the backlog.
42
Q

What are the differences of Scrum and Kanban?

A

Scrum
- Helps teams solve complicated issues
- Better for unpredictable work
Kanban
- Helps teams focus on a reasonable amount of work
- Excels at most routine tasks

43
Q

What do Scrum teams use to visualize their boards?

A

Kanban boards

44
Q

What are Agile teams classified as?

A
  1. Scrum
  2. Kanban
  3. Scrumban
45
Q

What are the advantages of Kanban?

A
  1. Kanban is the simplest agile framework to learn and can be applied to any industry
  2. It’s lightweight and focuses on routine work over iteration planning
46
Q

What are the disadvantages of Kanban?

A
  1. Kanban can be less effective if teams are oversized or have high turnover
  2. Inaccuracies or changes between work items can disrupt the team’s focus, and cycle times may stretch out in the absence of set iterations, if performance is not properly managed.
47
Q

What is Extreme Programming?

A

(or XP) is another type of agile framework designed specifically for software development.

48
Q

What are the 5 values in Extreme Programming Framework?

A
  • Communication
  • Simplicity
  • Feedback
  • Respect
  • Courage
49
Q

What are the 3 roles in Extreme Programming?

A
  1. Customer: Decides which features are needed and which are needed next.
  2. Tracker: Captures metrics, measures progress, and looks for improvement opportunities
  3. Coach: Mentors team members on how to use Extreme Programming practices
50
Q

Most Common Practices in Extreme Programming

A

-Paired Programming: 2 software engineers work side by side to create code at once.
-Ten Minute Building: States that it should take less than 10 minutes to build, test, and deploy an entire system.
-Continuous Integration: Merges local code into the main repository at least a few times each day.
-Test First Programming: A practice where developers write tests and then write code to pass the tests

51
Q

What are the advantages of extreme programming?

A

-Very efficient
-Continuous integration, automation, and high rate of adaptability
-Team-focused practices and less project failures

52
Q

What are the disadvantages of Extreme Programming?

A
  • Has limited scope
  • Code - centric practices can result in less optimal design
  • Rapid pace of the work can cause stress
  • Minimal documenation can hinder new team members’ understanding
  • Relies on face-to-face interaction between team members and customers
53
Q

What is DevOps?

A

A set of practices and tools that integrates and automates the work of software development and IT operations as a means for improving and shortening the systems development life cycle.

54
Q

What are the 2 categories of the Software Delivery Process?

A
  1. Software Development: The development team designs and creates software across four workflow phases: plan, code, build, and test.
  2. IT Operations: The operations team would then deploy and support software across the four workflow phases of release, deploy, operate, and monitor.
55
Q

Continuous Integration (CI)

A

Individual developers check their code into the main branch frequently, and automated tests run against the new code.

56
Q

Continuous Delivery (CD)

A

Prepares the code for release to production.

57
Q

Continuous Deployment (CD)

A

After integration, the continuous deployment process prepares the code for production release and deploys it to production.

58
Q

What are the strengths of DevOps?

A
  • Great for teams that want to release code often
  • Companies that want to limit friction
  • Organizations with the resource to staff cross-functional teams
59
Q

What are the weaknesses of DevOps?

A
  • Require significant expertise and groups may struggle to find enough team members with the necessary skills
  • Large or legacy systems with minimal automation will find it difficult to quickly switch over to DevOps.
59
Q

Scaled Agile Framework (SAFe)

A

A methodology used to expand Agile practices across multiple teams in an organization.
Strikes a balance between keeping teams aligned and preserving the team’s autonomy.

60
Q

Scaled Agile

A

Term used to describe any methodology that expands agile tools to more than one team

61
Q

Agile Team

A

Teams are made of three to ten cross-functional people working together to deliver increments of value

62
Q

Agile Release Train (ART)

A

Groups the related teams to simplify communication, planning, and schedules

63
Q

Iteration

A

Agile methodology iteratively develops a product in fixed time increments

64
Q

Program Increment

A
  • Similar to a quarterly cycle in extreme programming, and it serves as a long-term planning cycle
  • Lasts 8-12 weeks instead of 3 months
  • It is a shared timebox for all the teams on an ART
65
Q

Program Increment Planning

A

Serves as the ART’s planning event and is similar to sprint planning for a single Scrum team.

66
Q

Strength of SAFe

A

SAFe is great for bringing the benefits of agile to a larger organization and meets the scaling needs of scaling

67
Q

Weakness of SAFe

A

Needs to add layers of terms, overhead, organization, and staff, which can grind the gears of Agile’s ground-up approach.

68
Q

Software Development Life Cycle (SDLC)

A
  • A flexible software development framework that aims to produce high- quality, low-cost, and thoroughly tested software.
    SLDC users incorporate best practices and lessons learned into the framework to be more efficient every subsequent cycle
69
Q

What are the 7 phases in the SDLC Framework?

A
  1. Planning: Where we outline the project and define the software’s scope and purpose
  2. Requirements: We define the resources needed for the project and determine what the software needs to do
  3. Design and Prototyping: Defines how the software needs to work, such as which programming language to use, which security protocols to use, and how the user interface behaves
  4. Development: When the software is actually created
  5. Testing: When tests are carried out to ensure the software performs as expected
  6. Deployment: When the software enters production
  7. Operations and Maintenance: When the software is supported as long as it remains in production