Warm-up: Software Processes and Agile Sprint Planning Flashcards

1
Q

What are the main software engineering activities?

A
  1. Specification
  2. Development
  3. Validation
  4. Evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Draw the diagram relating to requirement specification. Including: Requirements elicitation and analysis, Requirements specification and Requirement validation.

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

Draw the key steps in development.

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

Draw the validation diagram steps.

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

Draw the evolution diagram steps.

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

What is the diffenrences between software and systems engineering? (Ouline 4 sub)

A

Systems Engineering also includes:
* Software
* Hardware
* Deployment to physical environment
* Human-in-the-loop

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

Draw the diagram of the software engineering process of Waterfall.

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

Name the pros (2) of the waterfall process and what they are used to design (2).

A

Pros:
* Rigid formal process
* Precise plan-driven

Used to design:
- Embedded systems
- Safety-critical
systems

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

Give the con (1) of the waterfall process and what issues (2) it implies.

A

Activities are isolated:
- Late-changing requirements require
a lot of rework!
- Promotes “silo” mindset

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

Draw the diagram of the software engineering process of Incremental Development.

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

Name the pros (2) of the incremental development process and what they are used to design (3).

A

Pros:
* Flexible
* Informal
Fits well:
- Consumer software
- Web-based systems
- Mobile apps

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

Give the con (1) of the Incremental process and what issues (3) it implies.

A

Con:
Too Flexible
Issues:
- Large organizations with many teams
struggled to adopt
- Nowadays even safety-critical
systems industry is
iterative
- Wrong architecture degrades quickly

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

Name all the Principles of the Agile Manifesto (4)

A
  1. Individuals & interactions > Processes & tools
  2. Working software > Comprehensive documentation
  3. Customer collaboration > Contract negotiation
  4. Reacting to change > Following a plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Within the Principles of the Agile Manifesto explain:
1. Individuals & interactions > Processes & tools

A

Build projects around motivated individuals
* Give them support they need
* Trust them to get the job done
Face-to-face conversation is the most effective method of
conveying information
* Applies to inter- and intra-team communication

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

Within the Principles of the Agile Manifesto explain:
2. Working software > Comprehensive documentation

A

Working software should be the primary measure of progress
* Iterate on prototypes that deliver Minimum Viable Products (MVPs)
Top priority is customer satisfaction
* Achieved through early and continuous delivery of valuable software
Simplicity is essential
* Maximizing the amount of work NOT done

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

Within the Principles of the Agile Manifesto explain:
3. Customer collaboration > Contract negotiation

A

Developers must work together with other team members
* Daily interaction throughout the project
Deliver working software frequently every:
* Month, Week, Day, Hour
* Preference is given to shorter timescales!
Project cadence should be sustainable
* Stakeholders should maintain a constant pace

17
Q

Within the Principles of the Agile Manifesto explain:
4. Reacting to change > Following a plan

A

Changing requirements are welcomed
* Even late in development!
Continuous attention to technical details
* Good design enhances “agility”
Team regularly reflects on how to become more effective
* Behavior is adjusted accordingly

18
Q

Explain the Iterative approach from Concepts in Agile Project Planning

A
  • Release planning
  • looks several months ahead, which features
    should be in a release
  • Sprint / Iteration planning
  • plan next increment of system – typically 2-4
    weeks
  • Examples: Scrum, Kanban, Mixed, …
19
Q

Explain Sprints are… from Concepts in Agile Project Planning

A
  • Units of time for agile (scrum-based) software projects
  • Time-boxed rather than story-bound
20
Q

How long are sprints?

A
  • From one week to one month (mode: two weeks)
  • For your project, we will adopt 2-3 week sprints
21
Q

How are sprints organized?

A
  • Sprints begin with a planning session (backlog tasks are selected)
  • End with a retrospective (can we improve the process for the next sprint?)
22
Q

Explain backlogs from Concepts in Agile Project Planning

A

The backlog is a list of outstanding tasks yet to be completed
* New tasks can be added, priorities can be changed
* But a task / user story is never removed from backlog
* Ordered by priority—tasks to which team members assign greater importance are addressed first

23
Q

Explain User stories are… from Concepts in Agile Project Planning

A
  • User requirement written in customer’s language
  • Short descriptions of functionality explained from the perspective of a type of user
    A useful user story template is of the form…
  • As a <type>, I would like <feature> so that</feature></type>

<rationale>
* E.g.: “As a course instructor, I would like to add content to a
course so that enrolled students can access it on demand”
</rationale>

24
Q

Explain Epics are… from Concepts in Agile Project Planning

A
  • Long-term objectives in agile software projects
  • Composed of a set of related user stories that may span multiple sprints
25
Q

Explain Story Points from Concepts in Agile Project Planning

A
  • Story Points: Unit of effort estimation
  • Purpose: know how long it takes to complete the story
  • Examples:
  • Small standard story: 1, Complex stories: 2, 4, 8,…
  • Planning poker:
    each participant votes for effort, then it is discussed
    0, 1, 2, 3, 5, 8, 13, 20, 40 and 100
26
Q

Explain Velocity from Concepts in Agile Project Planning

A

How many ranked user stories can be
completed in a given time?
* counted in the unit of story points
* gives an idea about the capacity of the development team

27
Q

Name the 4 types of Meetings in Scrum

A
  1. Sprint Planning
  2. Daily Scrum (Stand-up)
  3. Sprint/Iteration Review
  4. Sprint Retrospective