Agile Flashcards

1
Q

12 principles of Agile:

A
  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
  4. Business people and developers must work together daily throughout the project
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
  6. The most efficient and effective method of conveying information to and within a
    development team is face-to-face conversation
  7. Working software is the primary measure of progress
  8. Agile processes promote sustainable development. Team members should be able to maintain a constant pace indefinitely
  9. Continuous attention to technical excellence and good design enhances agility
  10. Simplicity–the art of maximizing the amount of work not done–is essential
  11. The best architectures, requirements, and designs emerge from self-organizing teams
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

benefits of Agile:

A
  • improved quality
  • increased team motivation
  • better business
  • greater frequency of release
    etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Agile team:

A

Agile teams are self-organizing. Everyone in the team:
- is responsible for the outcome
- Evolves the solution collaboratively
- Participates in most or all decisions
- Contributes to stories, testing, planning, sweeping floors, …

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

Incremental development

A

?

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

Value driven

A
  • Focus on minimum viable
    product (MVP)
  • Learn from customer feedback
  • Adapt plan
  • Iterate & increment
  • Progressive elaboration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Plan driven

A
  • Focus on project completion
  • No value increments of product
  • Big bang value at the end
  • No feedback cycles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Continuous delivery

A

the ability to get changes of all types into production, or into the hands of users, safely and quickly in a sustainable way

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

Continuous delivery, goal and achievement method:

A
  • goal: to make deployments predictable, routine affairs that can be performed on demand
  • Achieve this by: ensuring our code is always in a deployable state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Advantages/benefits of continuous delivery:

A
  • Low risk releases
  • Faster time to market
  • Higher quality
  • Lower cost
  • Better products
  • Happier teams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Customer (Agile)

A

Agile advocates customer and developers work together, daily.

  • customer provides direction for product
  • Customer heavily involved:
    • Making known requirements
    • Quantifying when requirements are met
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Customer (Scrum)

A

Product Owner that is customer/represents customer

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

customer (XP)

A

customer as member of the team

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

Planning, traditional:

A
  • massive upfront planning
  • little to no re-plan
  • plan driven
  • non-adaptive planning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

planning, agile:

A
  • Small upfront planning
  • Continuous planning
  • Value driven
  • Adaptive planning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

User stories =

A

agile requirements. Defining a user story:
- Reminders
- Cards to have conversation
- JIT analysis

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

User story, exercise:

A

As “who” I want
“what” so that
“why”

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

INVEST in great user stories:

A
  • Independent
  • Negotiable
  • Valuable
  • Estimable
  • Scalable (small sized)
  • Testable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

acceptance criteria:

A

written in Given-When-Then format:

  • Given “a precondition”
  • When “I preform XYZ function”
  • Then “I expect ABC result”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Timeboxing =

A

end date of iteration is “fixed”.

Unfinished stories move to next iteration.

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

Timeboxing, advantages:

A
  • Good for customer confidence in team
  • Prevents compromised quality
  • Contributes to sustainable work pace
21
Q

story points + sprints

A

?

22
Q

Project adaption -> rapid feedback cycle (Agile):

A

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

Our chosen framework must accommodate time to
showcase our complete
functionality/product
* Build feedback cycles into the system
* Short feedback cycles ->
quicker learning and
adaption

23
Q

Agile:

A
  • encourage doing the least amount of documentation. (post-its, index cards)

aanvullen….TODO?

24
Q

Agile method:

A
  • Scrum
  • Extreme programming
25
Q

Scrum =

A

an agile way to manage a project, usually software development. Agile software
development with Scrum is often perceived as a methodology; but rather than viewing Scrum as methodology, think of it as a framework for managing a process.

26
Q

3 scrum roles:

A
  • Product owner
  • Scrum master
  • Team member
27
Q

scrum, product owner:

A
  • Customer advocate
  • Sets product vision, direction
  • Accountable for ROI on product
  • Responsible to work with team to get user stories ready for next sprint
  • Prioritizes backlog based on business value
  • Has final say in any priority
    quibbles
28
Q

Scrum master:

A
  • Keeper of the Scrum process
  • Removes impediments
  • Coaches team members to become more effective
  • Guards/protects the team from interruptions
  • Continuously looking for ways to improve self and team
  • The glue between project
    stakeholders
29
Q

Scrum, team member:

A
  • Anyone on the team doing work
  • BA, developer, UX designer, tester etc.
  • T-Shaped people
  • Cross functional
  • Learning mindset as opposed to fixed mindset
30
Q

Scrum Artefacts:

A
  • Product Backlog
  • Sprint Backlog
  • Burndown chart
31
Q

Scrum, product backlog:

A
  • The list of work pertaining to a product
  • May or may not get done
  • Prioritized by product owner
  • Top priority items on top (priority descending)
  • Enough work for 2-3 iterations must be groomed
  • Product owner’s responsibility
32
Q

Scrum, Sprint backlog:

A
  • The work committed to by the team
  • Work that must get done in the iteration
  • Sprint backlog should not be changed
  • Estimated in story points
  • Team owns the sprint backlog
33
Q

Scrum ceremonies:

A
  • Backlog grooming
  • Sprint planning
  • Daily Scrum
  • Product demo
  • Retrospective
34
Q

Scrum, backlog grooming:

A
  • It is advised teams spend 5% of time grooming the Backlog. - Ken Schwaber (co-founder of Scrum)
  • Engage the Team
  • Grooming:
    • Adding, removing stories
    • Sizing, Breaking down stories
    • Reprioritizing stories
    • Adding info to stories
35
Q

Scrum, sprint planning:

A
  • Product Owner sets sprint goal
  • Product Owner presents the dev team with candidate user stories
  • Team asks questions about the work that has not been covered in backlog grooming
  • Team commits to work until velocity threshold reached
  • Product owner responsible for the ‘What’ and Scrum team for ‘How’
  • Scrum Master facilitates ceremony
36
Q

Scrum, product demo:

A
  • Goal: Get approval from
    PO & feedback from as
    many possible
  • Demo fully integrated
    end-to-end product
  • Team takes PO and
    interested parties through
    the sprint’s product
    increment
  • Successes, impediments
    and future goals are shared
37
Q

Scrum, retrospective:

A
  • Continuous improvement opportunity
  • What worked well?
  • Where can we improve?
  • Make plans to improve, assign a driver and check in regularly
38
Q

Extreme programming

A
  • Selected the minimal set of effective practices
  • “Turned the knob up to 10” on each practice
    • Very short cycles
    • Continuous code reviews (pair programming)
    • Extensive testing (automatic tests, test first)
    • Constant design improvement (refactoring)
    • Etc…
39
Q

Extreme programming, XP project community:

A
  • Emphasis on the “Whole Team”
  • Collaboration and colocation
  • Three general roles:
    • Customer
    • Developer
    • Manager
  • Specific job functions neither specified nor excluded (e.g., QA)
40
Q

Extreme programming, customer:

A
  • On site!
  • Accountability for:
    • Knowing and communicating business needs
    • Definition of features
    • Prioritization
    • Test for acceptance of features
41
Q

Extreme programming, developer:

A
  • Accountability for:
    • Knowing and communicating solutions
    • Cost estimations and explaining trade-offs
    • Delivering usable functionality that meets requirements and priorities
42
Q

Extreme programming, manager:

A
  • Accountability for:
    • Interfacing with organizational entities (status)
    • Environmental issues (facilities, equipment)
    • Personnel administration (reviews, hiring)
    • Business administration (budgets)
43
Q

Extreme programming, development episodes:

A
  • Developer obtains a pair partner
  • Pair verifies understanding of story for this task (analysis)
  • Pair determines detailed
    implementation approach (detailed design)
  • Pair begins test-driven cycle of write test, implement to pass, refactor
  • At appropriate intervals, pair integrates to code base
44
Q

Extreme programming, XP cycle in small:

A
  • analysis
  • test
  • code
  • design
    (repeat!)
45
Q

extreme programming, refactoring:

A
  • Improve the design of existing code without changing its functionality
  • Allows design to incrementally evolve
  • Refactoring can occur just prior or just after writing new code
46
Q

extreme programming, the original 12 practices:

A
  • The Planning Game
  • On-Site Customer
  • Testing
  • Pair Programming
  • Small Releases
  • Simple Design
  • Refactoring
  • Continuous Integration
  • Collective Ownership
  • Coding Standards
  • Metaphor
  • 40-Hour Week
47
Q

Scaling XP/Agile:

A
  • XP seems to allow smaller teams to accomplish an awful lot
  • XP seems to hit single-team challenges around 10 developers
  • XP can scale by building recursive teams
48
Q

XP/Agile is excellent if:

A

-You are in a world of rapid change
- You have uncertain requirements
- The project is small or medium sized