Aspects of Agile Approaches Flashcards

There are a number of Agile approaches in use by organizations. Common practices across most Agile organizations include collaborative user story creation, retrospectives, continuous integration, and planning for each iteration as well as for overall release.

1
Q

Aspects of Agile Approaches include?

A

Collaborative user story creation
Retrospectives
Continuous integration
Planning for each iteration as well as for overall release

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

What are Agile Software Development Approaches?

A

Extreme Programming (XP), Scrum, and Kanban.

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

Extreme Programming (XP) five values to guide development are?

A

Communication
Simplicity
Feedback
Courage
Respect

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

XP describes a set of principles as?

A

Humanity, economics, mutual benefit, self-similarity, improvement, diversity, reflection, flow, opportunity, redundancy, failure, quality, baby steps, and accepted responsibility.

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

XP describes thirteen primary practices as?

A

sit together
whole team
informative workspace
energized work
pair programming
stories
weekly cycle
quarterly cycle
slack
ten-minute build
continuous integration
test first programming
incremental design

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

Define Scrum?

A

Scrum is an Agile management framework.

Scrum (as opposed to XP) does not dictate specific software development techniques (e.g., test first programming). In addition, Scrum does not provide guidance on how testing has to be done in a Scrum project.

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

List Scrum practices?

A

*Sprint

*Product Increment

*Product Backlog

*Sprint Backlog

*Definition of Done

*Timeboxing

*Transparency

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

Scrum Practice: Define Sprint?

A

Scrum divides a project into iterations (called sprints) of fixed length (usually two to four weeks).

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

Scrum Practice: Define Product Increment?

A

Each sprint results in a potentially releasable/shippable product (called an increment).

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

Scrum Practice: Define Product Backlog?

A

The product owner manages a prioritized list of planned product items (called the product backlog). The product backlog evolves from sprint to sprint (called backlog refinement).

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

Scrum Practice: Define Sprint Backlog?

A

At the start of each sprint, the Scrum team selects a set of highest priority items (called the sprint backlog) from the product backlog. Since the Scrum team, not the product owner, selects the items to be realized within the sprint, the selection is referred to as being on the pull principle rather than the push principle.

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

Scrum Practice: What is the Definition of Done?

A

To make sure that there is a potentially releasable product at each sprint’s end, the Scrum team discusses and defines appropriate criteria for sprint completion. The discussion deepens the team’s understanding of the backlog items and the product requirements.

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

Scrum Practice: What is Timeboxing?

A

Only those tasks, requirements, or features that the team expects to finish within the sprint are part of the sprint backlog. If the development team cannot finish a task within a sprint, the associated product features are removed from the sprint and the task is moved back into the product backlog. Timeboxing applies not only to tasks, but in other situations (e.g., enforcing meeting start and end times).

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

Scrum Practice: Define Transparency?

A

The development team reports and updates sprint status on a daily basis at a meeting called the daily scrum. This makes the content and progress of the current sprint, including test results, visible to the team, management, and all interested parties.

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

What are Scrum three roles?

A

Scrum Master
Product Owner
Development Team

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

What is a Scrum Master?

A

Ensures that Scrum practices and rules are implemented and followed
Resolves any violations, resource issues, or other impediments that could prevent the team from following the practices and rules. This person is not the team lead, but a coach.

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

What is the role of Product Owner?

A

Represents the customer, and generates, maintains, and prioritizes the product backlog. This person is not the team lead.

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

What is a role of a Development Team?

A

Develop and test the product. The team is self-organized: There is no team lead, so the team makes the decisions. The team is also cross-functional.

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

What is Kanban?

A

Is a management approach that is sometimes used in Agile projects. The general objective is to visualize and optimize the flow of work within a value-added chain.

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

What are Kanban instruments?

A

*Kanban Board: The value chain to be managed is visualized by a Kanban board. Each column shows a station, which is a set of related activities, e.g., development or testing. The items to be produced or tasks to be processed are symbolized by tickets moving from left to right across the board through the stations.

  • Work-in-Progress (WIP) Limit: The amount of parallel active tasks is strictly limited. This is controlled by the maximum number of tickets allowed for a station and/or globally for the board. Whenever a station has free capacity, the worker pulls a ticket from the predecessor station.
  • Lead Time: Kanban is used to optimize the continuous flow of tasks by minimizing the (average) lead time for the complete value stream.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Kanban and Scrum similarities?

A

*Visualizing the active tasks (e.g., on a public whiteboard) provides transparency of content and progress of tasks.
*Tasks not yet scheduled are waiting in a backlog and moved onto the Kanban board as soon as there is new space (production capacity) available.

Differences
*Iterations or sprints are optional in Kanban.
*The Kanban process allows releasing its deliverables item by item, rather than as part of a release
*Timeboxing as a synchronizing mechanism is option for Kanban
*Scrum synchronizes all tasks within a sprint.

22
Q

Collaborative User Story Creation

A

In Agile development, user stories are written to capture requirements from the perspectives of developers, testers, and business representatives. In sequential development, this shared vision of a feature is accomplished through formal reviews after requirements are written; in Agile development, this shared vision is accomplished through frequent informal reviews while the requirements are being written.

23
Q

Collaborative User Story Creation: user stories must address?

A

User stories must address both functional and non-functional characteristics.

Each story includes acceptance criteria for these characteristics. These criteria should be defined in collaboration between business representatives, developers, and testers. They provide developers and testers with an extended vision of the feature that business representatives will validate.

24
Q

Collaborative User Story Creation: An Agile team considers a task finished when?

A

A set of acceptance criteria have been satisfied.

25
Q

Collaborative User Story Creation: Tester’s unique perspective:

A

Will improve the user story by identifying missing details or non-functional requirements. A tester can contribute by asking business representatives open-ended questions about the user story, proposing ways to test the user story, and confirming the acceptance criteria.

26
Q

Collaborative User Story Creation: The collaborative authorship of the user story can use techniques such as brainstorming and mind mapping. The tester may use?

A

INVEST technique.

27
Q

Collaborative User Story Creation: The INVEST technique include?

A
  • Independent
  • Negotiable
  • Valuable
  • Estimable
  • Small
  • Testable
28
Q

Collaborative User Story Creation: According to the 3C concept [Jeffries00], a user story is the conjunction of three elements?

A

Card
Conversation
Confirmation

29
Q

Collaborative User Story Creation: According to the 3C concept: Card?

A

The card is the physical media describing a user story. It identifies the requirement, its criticality, expected development and test duration, and the acceptance criteria for that story. The description has to be accurate, as it will be used in the product backlog.

30
Q

Collaborative User Story Creation: According to the 3C concept: Conversation:?

A

The conversation explains how the software will be used. The conversation can be documented or verbal. Testers, having a different point of view than developers and business representatives [ISTQB_FL_SYL], bring valuable input to the exchange of thoughts, opinions, and experiences. Conversation begins during the release-planning phase and continues when the story is scheduled.

30
Q

Collaborative User Story Creation: According to the 3C concept: Conversation:?

A

The conversation explains how the software will be used. The conversation can be documented or verbal. Testers, having a different point of view than developers and business representatives [ISTQB_FL_SYL], bring valuable input to the exchange of thoughts, opinions, and experiences. Conversation begins during the release-planning phase and continues when the story is scheduled.

31
Q

Collaborative User Story Creation: According to the 3C concept: Confirmation:?

A

The acceptance criteria, discussed in the conversation, are used to confirm that the story is done. These acceptance criteria may span multiple user stories. Both positive and negative tests should be used to cover the criteria. During confirmation, various participants play the role of a tester. These can include developers as well as specialists focused on performance, security, interoperability, and other quality characteristics. To confirm a story as done, the defined acceptance criteria should be tested and shown to be satisfied.

32
Q

Collaborative User Story Creation: Regardless of the approach taken to document user stories, documentation should be?

A

Concise
Sufficient
Necessary

33
Q

What is Retrospectives?

A

Retrospective is a meeting held at the end of each iteration to discuss what was:
*Successful
*What could be improved
*How to incorporate the improvements and retain the successes in future iterations.

34
Q

Retrospectives: Retrospectives cover topics such as:

A

Process
People
Organizations
Relationships
Tools

35
Q

Retrospectives can result in test-related improvement decisions focused on?

A

Effectiveness
Test productivity
Test case quality
Team satisfaction.

36
Q

Retrospectives: Which team members can provide input into restrospectives?

A

All team members, testers and non-testers, can provide input on both testing and non-testing activities.

37
Q

Continuous Integration

A

Delivery of a product increment requires reliable, working, integrated software at the end of every sprint. Continuous integration addresses this challenge by merging all changes made to the software and integrating all changed components regularly, at least once a day.

Configuration management, compilation, software build, deployment, and testing are wrapped into a single, automated, repeatable process. Since developers integrate their work constantly, build constantly, and test constantly, defects in code are detected more quickly.

38
Q

Continuous Integration: Continuous Integration process consists of the following automated activities?

A
  • Static code analysis: executing static code analysis and reporting results
  • Compile: compiling and linking the code, generating the executable files
  • Unit test: executing the unit tests, checking code coverage and reporting test results
  • Deploy: installing the build into a test environment
  • Integration test: executing the integration tests and reporting results
  • Report (dashboard): posting the status of all these activities to a publicly visible location or e-mailing status to the team
39
Q

Continuous Integration: Continuous integration allows Agile testers to?

A

Run automated tests regularly, in some cases as part of the continuous integration process itself, and send quick feedback to the team on the quality of the code.

40
Q

Continuous Integration: When the regression testing is automated?

A

The Agile testers are freed to concentrate their manual testing on new features, implemented changes, and confirmation testing of defect fixes.

41
Q

Continuous integration: Continuous integration can provide the following benefits?

A
  • Allows earlier detection and easier root cause analysis of integration problems and conflicting changes
  • Gives the development team regular feedback on whether the code is working
  • Keeps the version of the software being tested within a day of the version being developed
  • Reduces regression risk associated with developer code refactoring due to rapid re-testing of the code base after each small set of changes
  • Provides confidence that each day’s development work is based on a solid foundation
  • Makes progress toward the completion of the product increment visible, encouraging developers and testers
  • Eliminates the schedule risks associated with big-bang integration
  • Provides constant availability of executable software throughout the sprint for testing, demonstration, or education purposes
  • Reduces repetitive manual testing activities
  • Provides quick feedback on decisions made to improve quality and tests
42
Q

Continuous integration: Continuous integration risks and challenges?

A
  • Continuous integration tools have to be introduced and maintained
  • The continuous integration process must be defined and established
  • Test automation requires additional resources and can be complex to establish
  • Thorough test coverage is essential to achieve automated testing advantages
  • Teams sometimes over-rely on unit tests and perform too little system and acceptance testing
43
Q

Continuous integration: Continuous integration requires the use of which tools?

A
  • Tools for testing
  • Tools for automating the build process
  • Tools for version control.
44
Q

Release and Iteration Planning: For Agile lifecycles, which two kinds of planning occur?

A
  • Release planning
  • Iteration planning
45
Q

Release and Iteration Planning: Release planning

A

Release planning looks ahead to the release of a product, often a few months ahead of the start of a project.

Release planning defines and re-defines the product backlog, and may involve refining larger user stories into a collection of smaller stories.

Release planning provides the basis for a test approach and test plan spanning all iterations.

Release plans are high-level.

Business representatives establish and prioritize the user stories for the release, in collaboration with the team.

Based on these user stories, project and quality risks are identified and a high-level effort estimation is performed.

46
Q

Release and Iteration Planning: Testers are involved in release planning and especially add value in the following activities:

A
  • Defining testable user stories, including acceptance criteria
  • Participating in project and quality risk analyses
  • Estimating testing effort associated with the user stories
  • Defining the necessary test levels
  • Planning the testing for the release
47
Q

Release and Iteration Planning: Iteration planning

A

Iteration planning looks ahead to the end of a single iteration and is concerned with the iteration backlog

In iteration planning, the team selects user stories from the prioritized release backlog, elaborates the user stories, performs a risk analysis for the user stories, and estimates the work needed for each user story. If a user story is too vague and attempts to clarify it have failed, the team can refuse to accept it and use the next user story based on priority. The business representatives must answer the team’s questions about each story so the team can understand what they should implement and how to test each story.

48
Q

Release and Iteration Planning: Iteration planning: The number of stories selected is based on?

A

Established team velocity and the estimated size of the selected user stories. After the contents of the iteration are finalized, the user stories are broken into tasks, which will be carried out by the appropriate team members

49
Q

Release and Iteration Planning: Iteration planning: Testers are involved in iteration planning and especially add value in the following activities:

A
  • Participating in the detailed risk analysis of user stories
  • Determining the testability of the user stories
  • Creating acceptance tests for the user stories
  • Breaking down user stories into tasks (particularly testing tasks)
  • Estimating testing effort for all testing tasks
  • Identifying functional and non-functional aspects of the system to be tested
  • Supporting and participating in test automation at multiple levels of testing
50
Q

Release and Iteration: Release plans may change as the project proceeds, including changes to individual user stories in the product backlog. These changes may be triggered by?

A

Internal or external factors. Internal factors include delivery capabilities, velocity, and technical issues. External factors include the discovery of new markets and opportunities, new competitors, or business threats that may change release objectives and/or target dates. In addition, iteration plans may change during an iteration. For example, a particular user story that was considered relatively simple during estimation might prove more complex than expected.

51
Q

Release and Iteration: Particular test-related issues to address include?

A
  • The scope of testing, the extent of testing for those areas in scope, the test goals, and the reasons for these decisions.
  • The team members who will carry out the test activities.
  • The test environment and test data needed, when they are needed, and whether any additions or changes to the test environment and/or data will occur prior to or during the project.
  • The timing, sequencing, dependencies, and prerequisites for the functional and non-functional test activities (e.g., how frequently to run regression tests, which features depend on other features or test data, etc.), including how the test activities relate to and depend on development activities.
  • The project and quality risks to be addressed
  • The larger team estimation effort should include consideration of the time and effort needed to complete the required testing activities.