Thẻ ghi nhớ: SWE-Agile Software Development-Week4 | Quizlet

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/15

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 3:55 PM on 5/21/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

16 Terms

1
New cards

Note:

XP Overview

1/XP stands for eXtreme Programming and was formally introduced in 1996, although it was already in use informally for many years.

2/XP is based on a project at Chrysler managed by Kent Beck where a team of a dozen or so programmers implemented a financial system in two years that a team of 30 failed to implement over many years, making it popular.

3/The word "extreme" in XP comes from the idea of taking good practices to the extreme. For example, code review is taken to the extreme in XP, where developers constantly give feedback to each other and work together to do the work right the first time.

4/XP is not only about engineering practices, but also about social change and giving up old habits for new ways tailored to the new reality.

5/XP is lightweight compared to traditional methodologies like Waterfall, and it is adaptive in nature, designed to accept changing requirements.

6/XP defines a set of values, principles, and practices, and it has been widely accepted by the software community, despite some controversies around its prescriptiveness, pair programming, incremental design, and scalability to bigger teams.

7/XP emphasizes practices like code review, testing, and design on a daily basis, involving every team member, and taking good practices to the extreme to achieve high-quality software development.

2
New cards

Note:

XP Values

1/Simplicity: The value of simplicity emphasizes maximizing value by doing only what is necessary and keeping things simple. It encourages taking smaller steps towards the goal and iterating, rather than overengineering solutions.

2/Communication: The value of communication recognizes that effective communication is crucial for resolving issues quickly and correctly. XP promotes face-to-face communication among team members on a daily basis and encourages working together on everything from requirements to code.

3/Courage: The value of courage is about how the team acts in the face of fear. It emphasizes honesty, adaptability to change, and not making excuses for failure. It encourages a proactive and honest approach to addressing challenges.

4/Feedback: The value of feedback acknowledges that the team won't get everything right the first time and emphasizes the importance of iteration and improvement. XP teams strive to generate as much feedback as they can handle quickly, while also being mindful of not overwhelming the team with feedback they can't handle.

5/Respect: The value of respect is the foundation of the other four values. It highlights the importance of caring for team members and valuing their contributions equally. It emphasizes that every person involved in software development has equal value as a human being, and their contributions should be respected for both humanity and productivity to improve.

3
New cards

Note:

XP Practices - Part1

1/XP practices should be applied in their true spirit and purpose, not just as a ritual. For example, pairing should be done for communication, feedback, simplifying the system, error catching, and courage-building, not just to please a boss.

2/XP practices are ideal states and may not be achievable on day one, but progress should be made towards them. For example, having some automated tests is better than having none.

3/Experimentation with XP practices is encouraged to determine their usefulness, rather than debating their effectiveness.

4/XP practices work well together, and combining multiple practices can result in compounded benefits or dramatic changes.

5/XP has two sets of practices - Primary and Corollary. The lecture covers only the Primary practices, and Corollary practices can be referred to in additional resources.

6/The first XP practice covered in the lecture is "Sitting Together," which emphasizes collaboration and recommends team members to sit together in an open, collaborative environment.

7/The second XP practice is "Whole Team," which emphasizes having all team members needed for the project's success as part of the team and avoiding team members being part of multiple teams simultaneously to prevent lack of focus and multitasking.

8/The third XP practice is "Informative Workspaces," which involves setting up workspaces with relevant information on the walls or appropriate places to provide a quick overview of the project's status and keeping the workspace clean and updated.

9/The fourth XP practice is "Energized Work," which encourages team members to work as many productive hours as possible and avoid burning out by overworking. It also emphasizes taking rest when sick and continuously improving productivity during team time.

10/The fifth XP practice is "Pair Programming," which involves two team members working together on a single computer, but also allows for individual work as needed.

4
New cards

Note:

XP Practices - Part 2

1/Stories: Stories are a unit of functionality that represent a part of the user's needs. In XP, stories are a fundamental unit around which the whole development revolves. Stories are supposed to be flexible, stating only the intent of the user's needs, and the detailed functionality or implementation is discussed or decided during development.

2/Estimate and Visibility: It is recommended to provide estimates to stakeholders or customers as soon as possible in XP. This allows for meaningful conversations about the worthiness of a story or whether only a part of the story should be done. 3/Stories should be kept visible in the workspace and not computerized into a program.

4/Weekly Cycle: Planning is done weekly in XP. During the weekly planning sessions, progress is reviewed, a week's worth of work is selected, and stories are broken down into tasks. Planning time should be gradually reduced as it does not directly add value to the customer.

5/Quarterly Cycle: Planning is done quarterly at a high level in XP. Themes for the quarter are identified, stories are picked to address those themes, and bottlenecks outside the team are identified.

6/Slack: Some buffer time, called slack time, should be built into the process to avoid feeling rushed to finish something. This can be achieved by adding lower-priority tasks to the weekly plan, having a "geek week" every eighth week for developer-driven tasks, or adding 20% time every week for programmer-chosen tasks. Avoid aggressive timelines or commitments and make commitments that can be met.

7/Ten-Minute Build: The team should be able to build their complete code and run tests within 10 minutes. This gives teams confidence in making changes and reduces stress.

8/Continuous Integration: As soon as a developer makes a change to their code, it is integrated with the rest of the code to validate if anything broke due to the change. Feedback should be obtained as quickly as possible, no later than a couple of hours. 9/There are two types of integration - asynchronous and synchronous.

10/Test First Programming (TDD): Write tests first for the functionality to be built, then make those tests fail, and then write code until all tests pass. TDD helps avoid scope creep, builds trust among team members, and reduces coupling between components.

11/Incremental Design: XP recommends investing in incremental design, where good design practices are followed every day during development.

5
New cards

Note:

XP Process Model

1/Release Planning: XP process starts with release planning where the next release is planned, and the team selects what functionality will be delivered as part of the next release. User stories and architectural spikes are used as sources for determining what work needs to be done.

2/User Stories and Architectural Spikes: User stories are small units of functionality to be built, while architectural spikes are used to explore potential solutions to tough technical or design problems. 3/Spike stories only address the problem under examination and may involve throwing away most of the work done under the spike.

4/Iterations: XP follows an iteration-based approach, where a team works in one to two-week cycles called iterations. The team selects specific stories to work on from the release plan during iteration planning and commits to finishing them in the given iteration.

5/XP Practices: During iterations, the team follows XP practices such as pair programming, task force programming, continuous integration, incremental design, and other XP practices.

6/Acceptance Tests: Acceptance tests are created from user stories and are used to validate the correctness of the work completed during an iteration. Customers are responsible for verifying the acceptance tests and deciding if user stories have been correctly implemented.

7/Defect Fixing: If any acceptance tests fail, defects or bugs are created, and they are incorporated into the next iteration to be fixed.

8/Project Velocity: At the end of each iteration, the project velocity, which represents how much work can be done in a sprint by the team, is updated based on the work completed.

9/Customer Feedback and New Stories: Based on customer feedback, new stories could be created to represent new functionality that needs to be developed. Once a sprint is closed, the next sprint begins, and the same process repeats.

10/Release and Production: Once there is enough functionality to make a release and the team has customer approval, the updated software is released to production.

11/Overall XP Process: The XP process follows a cycle of release planning, iterations with XP practices, acceptance testing, defect fixing, project velocity updating, and customer feedback, leading to software releases and production releases.

6
New cards

Note:

Scrum vs XP

1/Iteration Length: Scrum teams work in iterations called sprints that are typically two weeks to one month long, while XP teams work in iterations that are usually one or two weeks long.

2/Changes within Iterations: Scrum teams do not allow changes into their sprints once the sprint planning is completed and commitment is made, whereas XP teams are more amenable to change within their iterations. XP teams can swap a new feature of equivalent size into the iteration in exchange for an unstarted feature.

3/Priority Order: XP teams work on features in a strict priority order set by the customer (Scrum's Product Owner), while in Scrum, the product owner prioritizes the product backlog but the team determines the sequence in which they will develop the backlog items. Scrum teams may choose to work on slightly lower priority items if it makes sense for the sprint being planned.

4/Engineering Practices: Scrum does not prescribe any specific engineering practices, while XP has specific engineering practices such as test-driven development, automated testing, pair programming, simple design, refactoring, etc. The passage suggests that while these XP practices are valuable, teams should discover and adopt them on their own rather than being mandated.

5/Starting Point: The passage suggests that Scrum can be a good starting point for teams, and they can then invent their own version of XP by gradually adopting XP practices based on their needs and discoveries.

6/Aim for XP practices: The passage mentions that true XP can be a small target for teams to aim for, but even if teams do not hit the bull's eye, Scrum itself can bring big improvements through its focus and timeboxed iterations.

*These differences between Scrum and XP may seem subtle, but they can have a significant impact on how teams work and deliver their products.

7
New cards

Which of the following is the right sequence when developing software using the XP practice of Test First Programming?

A. Write a test

Make sure the test fails

Write enough code so the test passes

Refactor as necessary

B. Write code

Refactor as necessary

Write a test

Make the test pass

C. Design

Write code

Write a test

D. Write code

Write a test

Make the test pass

Refactor as necessary

A

8
New cards

Which XP practice prescribes that "the code [always be] written by two programmers at one machine"?

A. Buddy Programming

B. Twin Programming

C. Peer Programming

D. Pair Programming

D

9
New cards

Which of the following are primary practices prescribed by XP?

A. Weekly Retrospectives

B. Daily Standups

C. Continuous Integration

D. Pair Programming

E. Whole Team

C D E

10
New cards

One of the practices of XP is "Whole Team". Which of the following statements align with its meaning?

A. All the skills necessary to deliver the software product should be present on the team.

B. The whole team should be working together to meet the team's commitment

C. The whole team should be energized and passionate about the product they are building.

D. The whole team should always sit together in a room.

A

11
New cards

If an XP team cannot provide an estimate for a story, what should they do to gain a better understanding of the story?

A. Create a spike story---a new story under which the team will do some research or other work to gain a better understanding of the original story.

B. Provide their best guess based on what they know.

C. No action required; keep the story with no estimates.

D. Skip that story and exclude that story from the release.

A

12
New cards

According to XP's principles, what should you do when a story's acceptance test fails?

A. Release the software without fixing; a few bugs are ok.

B. Create a bug report so it can be fixed.

C. Extend the iteration's duration so the bug(s) can be fixed in the same iteration.

D. As a team, update the acceptance test so the test passes.

B

13
New cards

What activities occur as part of XP's "Weekly Planning" practice?

A. Selecting the next week's work.

B. Planning who is going to facilitate meetings for the rest of the week

C. Reviewing the previous week's progress.

D. Breaking stories into smaller tasks.

A C D

14
New cards

According to the concept of "Whole Team", which of the following statements are true?

A. All of the skills the team needs to be successful should be in the team.

B. The team members never change. Once a team member is part of the team, that team member always remain part of the team.

C. It is not recommended for a team member to be part of multiple teams.

D. If the team finds out that they need a particular skill in the team, they can add a person with that skill to the team.

A C D

D - Learning the required skill may take too much time and can hurt the team's ability to deliver software. Rather than waste this time, XP encourages adding new people to the team

15
New cards

An XP team is getting feedback more frequently than they can handle. What should they do?

A. Ignore the extra feedback.

B. Slow down the frequency of feedback.

C. Further increase the frequency and quantity of feedback.

D. Work extra hours each day to address all of the feedback.

B

16
New cards

Which of the following statements are true about the XP value of "Simplicity"?

A. No matter what you are building, just choose a simple design even if it only partially solves the problem.

B. Select the simplest design that could possibly work.

C. Generalize your solution so it can work for unanticipated future requests.

D. The software design for each component should fit on a single page.

B