Week 1 - Week 2 Flashcards

1
Q

Definition of Software Engineering

A

the principles, methods, techniques and tools for the specification, development, management and evolution of software systems

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

What are the 5 Agile Manifesto Principles?

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
3
Q

Risks of Agile Development

A
  • Lack of customer engagement.
  • Stakeholder conflict.
  • Complex contractual arrangements.
  • Loss of organisational memory.
  • Poor code quality.
  • Poor team coordination or cohesion.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Agile Methods and Practices

A
  • Xtreme Programming;
  • Scrum;
  • Test driven development;
  • Behaviour driven development;
  • Refactoring;
  • Pair programming;
  • Retrospectives;
  • Continuous integration and deployment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Scrum?

A

The scrum framework is heuristic (mental shortcuts that allow people to solve problems and make judgments quickly and efficiently);
It’s based on continuous learning and adjustment to fluctuating factors. It acknowledges that the team doesn’t know everything at the start of a project and will evolve through experience. Scrum is structured to help teams naturally adapt to changing conditions and user requirements, with re-prioritization built into the process and short release cycles so your team can constantly learn and improve.

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

What are the roles in scrum?

A

Main roles: Scrum Master, Product Owner.
Other Roles: Team Manager, Quality assurance manager, Toolsmith, Chief architect, UX designer and Developer.

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

Scrum Workflow

A

Most projects start with a sprint entitled a Project Launch Meeting

1- Sprint Planning Meeting.
2- Sprint Backlog.
3- Sprint Automation.
4- Sprint Execution / Daily Scrum/ Stand Up (Can take place during the sprint).
5- Sprint Review Meeting
6- Sprint Retrospective.
Repeat the process.

A release can have of one or more sprints and each sprint last 1 to 3 weeks.

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

Project Launch Meeting Tasks

A
  • Determines the major features to be delivered to a customer over a series of sprints.
  • Understand customers long term objectives and identify a minimum viable product.
  • Decide on the goals for within the project course.
  • Develop an initial set of user stories.
  • Refine the user stories into tasks and populate a backlog of issues on GitLab.
  • Triage items in the backlog to establish cost estimates and priorities.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Release Planning Meetings Tasks

A
  • Longer projects will comprise multiple releases, each of several sprints.
  • Identify the high level set of features or improvements to be delivered in a release.
  • Create a roadmap of milestones aligned with your customer priorities and the customer days.
  • Populate the roadmap with key features from the backlog.
  • Assume that these will be changed in the sprint planning meetings.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Sprint Planning Meeting Tasks

A
  • Decide on main goal for the sprint.
  • Select tasks from the backlog on your issue tracker that match the goal.
  • Ensure all selected issues are sufficiently detailed, such as Cost estimates, Priorities and Assignees.
  • Ensure that task cost estimates are within the project velocity.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Project Velocity?

A

Velocity in Agile is a simple calculation measuring units of work completed in a given timeframe. Units of work can be measured in several ways, including engineer hours, user stories, or story points.

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

Burn Down Charts

A

A burndown chart or burn down chart is a graphical representation of work left to do versus time. The outstanding work is often on the vertical axis, with time along the horizontal. Burn down charts are a run chart of outstanding work. It is useful for predicting when all of the work will be completed.

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

Reviewing a Sprint Tasks

A
  • Review the progress on the project in the Sprint Review Meeting.
  • Review the software team’s process in the Retrospective Meeting.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Sprint Review Meeting Tasks

A
  • Deliver and demonstrate new version of software developed over the course of the sprint.
  • Summarise progress compared with planned work for sprint like Additional work completed and Missed features.
  • Explain reason for deviations from plan.
  • Identify new features to be added to the system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Key Point about Agile Methods

A

Agile methods manage project risk through frequent reviews and small adjustments to project objectives and process.

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