Agile Development

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

1/24

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.

25 Terms

1
New cards

What is the Waterfall Approach?

Design approach where development is separated into phases, where each phase is ‘waterfalled’ to the next, and there is not back-tracking to previous phases

2
New cards

What is the Agile approach?

A disciplined design approach where each phase is re-entered continuously (spiral approach), and heavily emphasizes customer involvement

3
New cards

What are the principles of Agile Development?

-Deliver working software frequently (weeks to months)
-Progress is primarily measured by working software
-Simplicity - maximizing the amount of work not done
-Team reflection at regular intervals

4
New cards

What are the benefits of Agile development?

-Flexible to quickly changing priorities and features
-Increased team productivity
-Improved project visibility (no experts)

5
New cards

What is the Stakeholder Scrum role?

Anyone with an interest in the project; end users, project sponsors, anyone else you need to interface with to complete the project

6
New cards

What is the Product Owner/Project Manager Scrum role?

Holds the vision for the project, is responsible for maintaining, prioritizing, and updating the product backlog

7
New cards

What is the Scrum Master role?

Helps the team clear impediments from getting work done, could be the product owner or a member of the dev team

8
New cards

What is a Sprint?

A short iteration of developing features and fixing bugs, last about 2 weeks on average

9
New cards

What is Sprint Planning, and when does it occur?

Meeting with the team and product owner to plan a sprint, occurs before the sprint

10
New cards

What is Sprint Review?

Meeting with everyone involved to see where the project is and how to adapt as needed, occurs after the sprint

11
New cards

What is Sprint Retrospective?

Meeting of the dev team to inspect their last sprint, concentrating on how it was done

12
New cards

What are the components of Sprint Planning?

-Planning involves user stories, which are short descriptions of desired features, provide value to the customer, and are testable.
-PM’s and devs write requirements (specifications) and prioritize them
-Requirements are broken up into tasks, e.g. analyzing, design, coding, testing, spike (a short research task)
-Team members assign tasks

13
New cards

What do frequent short meetings in the Agile development approach help developers do?

-Understand requirements and write user stories to represent what the system will do
-Analyze and design the system
-Talk about the project
-Assign tasks

14
New cards

What is a Daily Standup?

A daily 15-minute or so meeting for team to share progress, report impediments, and make commitments
“What have I done since the last Scrum meeting?”
“What will I do before the next Scrum meeting?”
“What prevents me from performing my work as efficiently as possible?”

15
New cards

How does the Agile Development approach provide feedback to the developer?

-Regular code reviews
-Feedback after sprints
-Continuous integration
-Computed feedback from compiler, unit tests, and acceptance testing

16
New cards

What is continuous integration?

-Integrating code often to the system (with code reviews)
-Sync code with running system, which helps with consistency and version control
-Constant testing ensuring the system is running after change in the code

17
New cards

When are tests written during Agile development?

At the same time as the production code

18
New cards

What is regression testing?

Regular testing to ensure that changes in the code do not “break” previously working code

19
New cards

What can not be tested with unit tests?

GUIs, Networks, Views such as animations and drawings, and Strategies involving randomness

20
New cards

What is the On-Site Customer agile practice?

Act of having a real client as part of the team, which helps define the needs for the software, answers questions, prioritize features, and helps prevent developers from making decisions based off intuition about the client

21
New cards

What is Refactoring practice in agile development?

Restructuring code without changing functionality
-Change bad design when you see it
-Remove dead code

22
New cards

What is key idea surrounding refactoring?

Keep the refactoring small so that the code does not break each time

23
New cards

What is the agile practice Pair Programming?

Two people writing production code on one machine:
-Person #1 implements the method
-Person #2 thinks about potential improvements, test cases, issues, etc.
Pairs switch frequently, helping avoid any one person becoming an expert in any part of the system

24
New cards

What are the potential issues with pair programming?

-Not everyone gets along or likes pair programming
-Must schedule time to work synchronously together
-Requires tolerance for different styles of coding

25
New cards

What is the agile practice of Collective Ownership?

-All code can be changed by anyone on the team (no experts)
-Everybody is expected to fix bad code when they see it
-Everyone is responsible for the whole system