System Analysis 2 - Extreme Programming

0.0(0)
studied byStudied by 4 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/33

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

34 Terms

1
New cards
XP Core Values
Communication, Simplicity, Feedback, Courage, Respect.
2
New cards
When to Use XP
Dynamic requirements, fixed-time projects with new technology, small co-located teams, and support for automated testing.
3
New cards
XP Practices
The Planning Game, small releases, system metaphor, simple design, testing, refactoring, pair programming, collective code ownership, continuous integration, 40-hour work week, on-site customer, coding standards.
4
New cards
Roles in XP
Developer, Manager (Tracker), Coach.
5
New cards
Extreme Programming (XP)
An agile software development framework aiming to produce high-quality software and improve the development team's quality of life.
6
New cards
XP Values
Communication, Simplicity, Feedback, Courage, Respect.
7
New cards
Communication (XP Value)
Prioritizes face-to-face discussions with visual aids (e.g., whiteboards) to transfer knowledge within the team.
8
New cards
Simplicity (XP Value)
Focuses on the simplest solution that works, avoiding unnecessary complexity and future predictions.
9
New cards
Feedback (XP Value)
Continuous input to improve designs, implementation, and team practices.
10
New cards
Courage (XP Value)
Addressing organizational issues, stopping ineffective practices, and acting on feedback.
11
New cards
Respect (XP Value)
Mutual respect among team members to foster collaboration and effective communication.
12
New cards
Dynamically Changing Requirements
XP is suitable when software requirements frequently evolve.
13
New cards
Fixed-Time Projects with New Technology
Mitigates risks in time-constrained projects using unfamiliar tech.
14
New cards
Small Co-Located Teams
Ideal for small, physically close teams.
15
New cards
Automated Testing Support
Requires technology that allows automated unit/functional tests.
16
New cards
The Planning Game
Business prioritizes user stories; developers estimate effort and schedule iterations.
17
New cards
Small Releases
Deliver minimal useful features early and iterate frequently.
18
New cards
System Metaphor
A shared naming convention/story to guide system design.
19
New cards
Simple Design
Design must pass tests, communicate intent, avoid duplication, and minimize components.
20
New cards
Testing
Developers write unit tests; customers define acceptance tests.
21
New cards
Refactoring
Continuously improve code structure without changing functionality (backed by tests).
22
New cards
Pair Programming
Two developers work together at one machine for real-time code review.
23
New cards
Collective Code Ownership
Any developer can modify any code to improve it.
24
New cards
Continuous Integration
Integrate and test code multiple times daily; discard changes if tests fail.
25
New cards
40-Hour Work Week
Avoid overtime to maintain sustainability and productivity.
26
New cards
On-Site Customer
A customer works full-time with the team to clarify requirements.
27
New cards
Coding Standards
Uniform code style to ensure consistency and anonymity of authorship.
28
New cards
Developer (Programmer)
Writes code, tests, refactors, and integrates continuously. Key rights: clear priorities, quality work, self-estimation.
29
New cards
Customer
Defines user stories, writes acceptance tests, sets priorities, and communicates requirements.
30
New cards
Manager (Tracker)
Facilitates planning, monitors progress, tracks defects, and ensures adherence to schedules.
31
New cards
Coach
Guides the team in XP practices, identifies problems, and ensures self-reliance.
32
New cards
33
New cards
Unit Tests
Automated tests by developers for individual code components.
34
New cards
Acceptance Tests
Customer-defined tests to validate system functionality.