Class 3 - Agile Business Practices Flashcards

1
Q

What are the steps involved in creating a sprint plan?

A
  1. Create a sprint goal
  2. Report the project velocity from the last sprint
  3. Determine all potential user stories for the sprint, break them down into tasks
  4. Developers must create estimates for each task
  5. After estimates have been made, revisit chosen user stories
  6. The development team must sign up for tasks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

True or False: It is best to have the scrum master assign tasks to the development team to assign tasks efficiently.

A

False. Preferably, tasks should be self-assigned

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

Sprint Velocity

A

Number of story points completed over a sprint. A measurement of the work that can be taken on and finished over the length of a sprint.

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

True or False: Partially finished tasks count towards sprint velocity.

A

False. Partially finished tasks do not count towards velocity. It is better to complete 80% of your sprint tasks entirely than having every task 80% done (no completed tasks).

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

Velocity-driven Development

A

Using previous sprint velocities combined with the amount of work completed in previous sprints to plan for the next sprint.

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

Release Planning

A

Includes:
- User stories
- Story points
- Velocity
- Release burndown charts

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

Iteration (Sprint) Planning

A

Includes:
- Tasks
- Hours
- Task Boards
- Burndown charts

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

Release Burndown Chart

A

A graph representation of the number of story points remaining after each sprint. It reflects both progress and changes to story points. It can be used to see if a project is spinning out of control.

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

How should the time to complete a task be estimated?

A

You can use the Central Limit Theorem to compute the expected time to complete a task by using the most probable time, an optimistic time, and a pessimistic time. This will give you a better estimate than using a single time estimate that may be inaccurate.

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

What are the 4 Agile Values?

A
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Agile Value: Individuals and interactions

A
  • Trust motivated individuals
  • Have face-to-face conversations
  • Self-organizing teams work the best
  • Team adjusts their behaviour
  • Promote sustainable pace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Agile Value: Working software

A

Working software is the main measure of progress. Prioritize continuous, frequent delivery of value

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

Agile Value: Customer collaboration

A

Focus on satisfying customers early. Customers and developers need to work together to create a quality product.

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

Agile Value: Responding to Change

A

The development team should welcome changing requirements, even late into development. They should also prioritize the most important work (engage in the art of maximizing work not done)

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

XP Practices

A

Extreme Programming practices include:
- Fine scale feedback
- Continuous process
- Shared understanding
- Programmer welfare

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

Fine scale feedback

A

Includes:
- Pair programming
- The Planning Game
- Test Driven Development
- Whole Team (product owner)

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

The Planning Game

A

A meeting that occurs at the beginning of a sprint. The development team and customer get together to discuss and approve a product’s features. At the end of the planning game, developers plan for the upcoming iteration and release, assigning tasks for each of them

18
Q

Whole Team (product owner)

A

Person who is familiar with the client’s requirements. They aim to minimize the physical distance between managers, testers, technical writers, etc.

19
Q

Continuous Process

A

Includes:
- Continuous Integration
- Design Improvement
- Small Releases

20
Q

Shared Understanding

A

Includes:
- Coding standards
- Collective code ownership
- Simple design
- System metaphor

21
Q

Programmer Welfare

A

The development team is working at a sustainable pace (i.e. do not exceed 40 hours of work per week)

22
Q

What are some potential communication barriers in software development?

A
  • Language
  • Assumptions
  • Hasty judgements
  • Time and place
  • Gestures
  • Status
  • Topic
  • Style
23
Q

What are the different communication methods that can be used for communication between development teams and clients?

A
  • E-mail
  • Voicemail
  • Phone
  • Chat/Discussion Forum
  • Video Conference
  • Face-to-face meeting
24
Q

Waterfall Model

A

A widely used approach in software engineering that follows a sequential and linear process. This approach is inflexible and does not leave room for revision

25
Q

Spiral Model

A
26
Q

What are the main risks that arise is software development?

A
  • Scope risks
  • Technology risks
  • Customer (stakeholder) risks
  • Personnel risks
27
Q

Analysis Paralysis

A

Project stalls in its specification phase, often due to clients or product managers over-analyzing requirements

28
Q

Cart before the horse

A

When a team spends too much time developing features that are not required at the moment and not enough time on developing critical features

29
Q

Groupthink

A

People tend to follow the general opinions of a group, regardless of whether or not their own individual opinions are different. Their opinions would be different without the influence of the group

30
Q

Silos

A

Occurs when teams lose touch with each other and communication is limited, which can lead to the development of counterproductive strategies and product features

31
Q

Vender lock-in

A

Occurs when a dev team creates a product that relies heavily on a single technology, which can be problematic if the technology cannot cover what is needed, becomes outdated, or cannot adapt to change

32
Q

Over-engineering

A

Occurs when extra or needless features are added to a product, making it confusing for the majority of users

33
Q

Gold Plating

A

Occurs when so much effort is put into one part of a project that it reaches a point of diminishing returns

34
Q

Viewgraph Engineering

A

Occurs when a team has to spend more time working on documentation, presentations, or reports than the project itself

35
Q

Fire Drills

A

Occurs when the development team does very little work throughout most of the project and then makes a big push towards the end of the project, resulting in overtime work to meet deadlines

36
Q

Heroics

A

Occurs when the development team ends up relying on only one person’s technical skills to get the project done

37
Q

Death March

A

Occurs when the development team and the management team are at odds

38
Q

Micromanagement

A

Occurs when a manager is very controlling and wants to be involved in every detail of a project, no matter how small. The manager needs to constantly know what their developers are doing

39
Q

Seagull Management

A

Occurs when a manager is only present when problems arise or right before deadlines. This results in an otherwise absent manager swooping in, dumping a lot of information or requests on the development team, and then disappearing again

40
Q

Loose cannons

A

An unpredictable person (or thing) who can negatively affect other, unless it is managed somehow. In software engineering, loose cannons tend to be people who make significant project decisions without consulting the rest of the team

41
Q

Intellectual Violence

A

A person who asserts their opinion on every topic and impedes progress by questioning every decision and action or using their advanced knowledge in an area to intimidate or look down on other team members. They repeat their opinions so much that the rest of the group concedes to them to avoid confrontation