agile software engineering Flashcards

(30 cards)

1
Q

incremental development

A

implementing the most important features first, then pushing updates to improve them or add other features later on

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

extreme programming

A

rapid incremental software development;
test-frirst development, refactoring, small releases, simple design

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

Kent Beck

A

coined Extreme Programming in 1998

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

test-driven development

A

writing tests first, then code;
clarifies what the code will actually do / return;
an automated unit test framework is used to run the tests after every change, and new code should not break old code

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

refactoring

A

improving the structure, readability, efficienty and security of a program;
reorganizing code to be more readable, cleaner, perform better;
optimization of code after a first/early version

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

scrum

A

a daily team meeting where progress is reviewed and goals for the day are discussed and agreed upon

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

potentially shippable product increment

A

output of a sprint which should be of high enough quality to be deployed for customer use

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

velocity

A

estimate of the amount of worok a team can do in a single sprint

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

backlog

A

a to-do list of items to be implemented

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

refinement

A

existing PBIs are analysed and refined to create more detailed PBIs

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

estimation

A

the team estimate the amount of work required to implement a PBI and add this assessment to each analysed PBI

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

creation

A

new items are added to the backlog; may be suggested by product manager,required feature changes…

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

prioritization

A

implement most important items first; product backlog items are reordered to take circumstances into account

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

agile software development

A

scrums/standups, sprints, small self-organized team (3-5 members), test-driven dev, feedback + refactoring

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

waterfall software development

A

gather requirements and slowly implement; no feedback or communication; long periods of developing the entire platform

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

scrum

A

meeting where priorities are discussed, progress is discussed and tasks are delegated to others

17
Q

sprint

A

2-week period of implementing a backlog into a program

18
Q

backlog

A

to-do list of items to be implemented, including bug fixes; if an item takes longer than a sprint, it is added to the backlog again for the next sprint

19
Q

epic

A

a backlog item that is broken into smaller pieces for implementation, as a result of taking longer than a sprint to implement

20
Q

technical debt

A

inefficient code that needs to be optimized

21
Q

iron triangle

A

budgets/scope/time; project is made up of three things that all impact one another; in the same way a triangle’s angles always add up to 180º, changing budgets, scope or time will affect everything proportionally in return

22
Q

unit testing

A

simple, fast tests to test individual pieces ocode

23
Q

refactoring

A

cleaning up code, optimizing it

24
Q

extreme programming

A

coined by Kent Beck in 1998; rapid incremental test-driven development with small releases

25
product owner
team member responsible for identifying product features; review and test product
26
benefits of timeboxed sprints
more efficient work planning; demonstratale progress/tangible output; problem discovery - reworking of errors limited to the duration of a sprint
27
test automation
developing a suite of executable tests to be run at any time
28
continuous integration
when changes are made to the software being developed, they should be integrated with other components to create a system
29
benefits of test-driven development
tests are clearly linked to sections of the code - if one fails, you know where to look;
30
code review
examining code for errors, issues and anomalies; after testing, find bugs