2/3 - Agile Processes and Extreme Programming Flashcards Preview

Comp Sci 506 > 2/3 - Agile Processes and Extreme Programming > Flashcards

Flashcards in 2/3 - Agile Processes and Extreme Programming Deck (15)
Loading flashcards...
1
Q

Test Driven Development

A
  1. Testing first clarifies the task at hand
  2. Forces you to think in concrete terms
  3. Helps identify and focus corner cases
  4. Testing forces simplicity
    a. Your goal is to pass the test
    b. Avoids premature optimization
  5. Test acts as a useful documentation. Expose the programmer’s intent.
2
Q

Bug Fixes

A
  1. Fail a unit test
  2. Fail an acceptance test (user story)
  3. Fail on beta testing
3
Q

Bug Fix for Unit Test

A

Fix the code to past the test

4
Q

Bug Fix for Acceptance Test (User Story)

A

Add a functional test to fix the code

5
Q

Bug Fix for Beta Testing

A
  1. Add user stories, acceptance tests

2. Make one or more tests from failing scenario

6
Q

When do we need to write code to fix tests?

A

ALWAYS write code to fix tests

7
Q

Refactoring

A
  1. It is done to make code easier to read, use and extend
  2. Change how code does something
  3. Tests should work as before
  4. Refactoring is also done to remove duplicated code
  5. Comprehensive suite is needed for refactoring
  6. Only refactor working code
  7. Plan it to allow frequent regression tests
8
Q

How should tests work during refactoring?

A

Tests should work AS BEFORE

9
Q

What does refactoring do to duplicated code?

A

Refactoring REMOVES duplicated code

10
Q

What kind of suite is needed for refactoring?

A

A COMPREHENSIVE suite is needed for refactoring

11
Q

Which kind of code can be refactored?

A

Only refactor WORKING code

12
Q

What’s Different About XP

A
  1. Every XP programmer participates as an analyst, tester, programmer, architects
  2. No complete upfront design and analysis
  3. Infrastructure and framework is developed as you develop the app
  4. Quick delivering business value
13
Q

When are infrastructure and framework developed in XP?

A

Infrastructure and framework is developed as you develop the app

14
Q

What do you use XP for?

A
  1. Dynamic project done in small teams
  2. Project requirements prone to change
  3. Customer is available
15
Q

When do you NOT use XP?

A
  1. Cost of late changes is very high

2. Customer is not available