Week 5 Agile Flashcards

1
Q

What are the benefits of the waterfall model for the SLDC.

A

Requirements are clearly defined, easy to arrange tasks, process and results are well documented, easy to manage due to specific deliverables due to rigidity.

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

What are the disadvantages of the waterfall model?

A

No working software produced until late in cycle when changes are most expensive, rigid and inflexible, difficult to accommodate changing requirements. Poor model for long and ongoing projects.

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

What are the 3 models for software development?

A

Waterfall model and Iterative/incremental model and finally the spiral model.

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

What is the iterative/incremental model

A

Break down the projects into smaller projects, then waterfall and repeat.

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

What are the weaknesses of the iterative/incremental model?

A

Each iteration is still rigid, and if the breakdown of projects is not good requirements may change between the development of various modules.

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

What are the cons of the spiral model.

A

Heavy on documentation from intermediate stages, a complex process which must be adhered to strictly, slow convergence on a finished product.

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

What is the general aim of agile?

A

The aim is to reduce overhead during SD and to be adaptable to changing requirements.

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

What is the manifesto for Agile software development?

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

How many agile principles are there?

A

12

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

What is agile principle 1?

A

The highest priority is to satisfy the customer through early and delivery of valuable software.

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

What is agile principle 2?

A

Welcome changing requirements, even late in development. Agile processes must harness change for the customers competitive advantage.

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

What is agile principle 3?

A

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

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

What is agile principle 4?

A

Business people and devs must work together daily throughout the project.

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

What is agile principle 5?

A

Build projects around motivated individuals. Give them the environment and support they need, trust them to get the job done.

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

What is Agile principle 6?

A

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

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

What is agile principle 7?

A

Working software is the primary measure of progress.

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

What is agile principle 8?

A

Agile processes promote sustainable development. Sponsors, devs and users should be able to maintain a constant pace indefinitely.

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

What is agile principle 9?

A

Continuous attention to technical excellence and good design enhances agility.

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

What is agile principle 10?

A

Simplicity, the art of maximising the amount of work not done is essential.

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

What is agile principle 11?

A

The best architectures, requirements and designs emerge from self-organising teams.

21
Q

What is agile principle 12?

A

At regular intervals, the team reflects on how to become more effective, adjusting accordingly.

22
Q

What are 2 different implementations of agile?

A

Scrum and extreme programming (xp)

23
Q

What are the roles within scrum?

A

Product owner, scrum master and scrum team.

24
Q

What does the scrum product owner do?

A
  • Provide vision
  • Manage product backlog
  • Define priorities.
  • Decide if product is shippable.
25
Q

What does the scrum master do?

A
  • Coaches the team.
  • Deep understanding of the work.
  • Schedules resources and facilitates meetings.
  • Shields the team from product owner.
26
Q

What does the scrum team do.

A
  • 5-7 members
  • complimenting set of skills.
  • team spirit.
  • self organise.
  • pull work
27
Q

What are the components of the scrum process?

A
  1. Product backlog
  2. Sprint backlog
  3. Sprint(daily meetings & sprint burndown)
  4. Release (sprint review meeting)
28
Q

What template do user stories take?

A

As a
I want
So that

29
Q

What is the difference between user stories and requirements?

A

User stories are much more explicit and concrete representation of requirements.
(A requirement can have multiple user stories)

30
Q

How can you think of user stories.

A

As functional/nonfunctional features.

31
Q

What is the issue with feature interactions?

A

Interactions between features (user stories) can cause runaway complexity, bugs, cost and schedule overruns in addition to unfortunate user experiences.

32
Q

What is the product backlog?

A

The list of all items that need to be completed so that the end product is developed.

33
Q

How long are sprints usually?

A

2-4 weeks.

34
Q

What is the selection phase of the spring cycle?

A

Where the entire project team work with the customer to select features/functionality to be developed during the sprint.

35
Q

What are the benefits of scrum?

A
  1. Product is broken down into managable chunks.
  2. Unstable requirements don’t affect progress.
  3. Team has greater visibility on whats going on and as such communication is better.
  4. Customers see on time delivery of increments and can provide realtime feedback.
  5. Trust between customer and developers increases.
36
Q

What are the development practices of extreme programming?

A

Pair programming code review, user stories, refactoring and testing/continuous integration.

37
Q

What sized project is the best for scrum?

A

Small-medium size project.

38
Q

When is agile best used?

A

When you can divide teams into small tightly integrated units and when customers are involved with development.

39
Q

What are some problems with agile methodology?

A
  • Difficulty keeping customers interested/involved in the process.
  • Team members may be unsuited to intense involvement required.
  • Prioritising change is difficult with multiple stakeholders.
  • Maintaining simplicity requires extra work.
  • Contracts may be problematic.
40
Q

What are some issues which arise in regards to agile methods and maintainability.

A
  • Agile methods must support good maintainability after development.
  • Emphasis on low documentation.
  • Changes must be controlled otherwise the scope of the project will become out of control.
41
Q

How can agile be scaled to a big project?

A

A big project can be divided into many small projects like microservices, each has an agile development team behind it.

42
Q

Why is agile difficult to use for large system development?

A
  • Lare systems are constrained by external rules/regulations limiting them.
  • Long procurement/dev time. Difficult to maintain coherent teams who know about the system.
  • Difficult to get stakeholders involved.
43
Q

What is scaling up agile?

A

Concerned with how agile methods are used to develop large software systems not makeable by a small team.

44
Q

What is scaling out agile?

A

How can agile methods be introduced across a large organisation with many years of software development experience.

45
Q

What is a key thing to maintain during scaling of agile methods?

A

Adherence to the agile principles.

46
Q

How is scaling up of agile implemented?

A
  1. More upfront design/documentation.
  2. Cross team communication must be improved.
  3. Continuous integration must be constrained.
47
Q

What are key issues of scaling out agile?

A
  1. Requires changing culture.
  2. Beauracracy conflicts with agile methods.
  3. Stakeholders unwilling to deal with risk of a new approach.
  4. Lack of involved staff.
    5 Cultural resistance.
48
Q

What are some key points of bertrands book.

A
  • Test driven development is useful but should not be the core component of agile.
  • Sprints are good but should be flexible.
  • Scaling is difficult.