Chapter 3: XP and Scrum Flashcards

1
Q

What are the main components of an user story?

A

-User requirements
-breakdown of them into implementation tasks.

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

What is refactoring?

A
  • Basically, it’s the remaking of code to anticipate for change.
  • This will make implementation of future code easier.
  • You make the improvements even though there is no need for it right now.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is refactoring?

A
  • Basically, it’s the remaking of code to anticipate for change.
  • This will make implementation of future code easier.
  • You make the improvements even though there is no need for it right now.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are some examples of refactoring?

A

re-organization of a class hierarchy to remove duplicate code

tidying up and renaming attribute to make them easier to understand

replacement of inline code with method calls.

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

What is test-first development?

A

Writing out the test cases before you start coding. This clarifies the requirements to be implemented.

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

What is done after every release with test-first development?

A

Automated test harnesses are used to run all component test each time that a new release is built.

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

Problems with test-first development

A

-Programmers prefer programming to testing
- it is difficult to judge the completeness of a set of tests. Although you may have a lot of system tests, your test set may not provide complete coverage.
- increases dev time

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

What is pair programming?

A
  • Involves programmers working in pairs, developing code together.
  • Programmers sit together at the same computer to work together
  • Pairs are created dynamically (variation)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the benefits of pair programming?

A

This helps develop common ownership of code

serves as an informal review process (code is looked at by more than 1 person)

Sharing of knowledge

Not necessarily inefficient

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

What is scrum?

A

Agile method that focuses on managing iterative development.

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

What are the three phases of scrum?

A
  1. Planning - general objectives for project and design of architecture
    2 - series of sprint cycles
    3- wraps up the project and completes required documentation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a scrum master?

A

Facilitator who arranges daily meetings, tracks the backlog of work to be done, records decisions, measure progress against the backlog, and communicates with customers and managements outside of the team.

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

XP and Agile principles:

A

People,not process, are supported through pair programming, collective ownership and a process that avoids long working hours.
Maintaining simplicity through constant refactoring of code.
Customer involvement means full-time customer engagement with the team.
Change supported through regular system releases.
Incremental development is supported through small, frequent system releases

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

Problems with XP:

A

It can be difficult to keep the interest of customers who are involved in the process.
Team members may be unsuited to the intense involvement that characterizes agile methods.
Prioritizing changes can be difficult where there are multiple stakeholders.
Maintaining simplicity requires extra work.
Contracts may be a problem as with other approaches to iterative development.

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