Lecture 2 (Scrum) Flashcards

1
Q

What is ‘RAD’ and what are its characteristics?

A

RAD stands for Rapid Application Development and was introduced as an alternative to the ‘Waterfall’ method. Its objective is to make applications quickly and is based on prototyping.

The application is developed in increments with each increment introducing a new functionality.

Characteristics are:
- Application is developed in increments/steps and the stakeholders are involved in evaluation at each stage.
- UI are often developed using an IDE and graphical toolset.
- Specification, Design and Implementation are interleaved

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

What do ‘Agile Methods’ do?

A
  • Help reduce overhead in the software development process (eg by limiting documentation)
  • React to the rapidly changing requirements without excessive rework
  • Guidelines:
    1. Focus on the code
    2. Iterative approach to software development
    3. Deliver working software quickly
    4. Evolve software based on the changing requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the ‘Agile Manifesto’ ?

A

They are trying to uncover better ways of software development by doing it and then helping others.

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

What are the principles of ‘Agile Methods’ ?

A

**Acronym: CIPEM
- Customer involvement: the customer/end-user will be involved in the development process and evaluate at the end of each increment. they will also tell us which features to prioritise in an increment.

  • Incremental delivery: Software is developed in increments and the customer specifies what requirements to fulfil in an increment.
  • People not process: Don’t find exploit the talents of the team members, let them devise their own way of working.
  • Embrace change: the requirements of can/ keep changing, be prepared for that.
  • Maintain simplicity: focus on simplification in development as well as well as the processes part, and try to eliminate complexity wherever possible.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Where can ‘Agile Methods’ be used?

A
  • Small/medium sized software projects with small/tightly-knit teams as scaling to larger teams/projects can be hard.
  • the customer must be involved in the development process
  • not a lot of external rules/regulations affecting it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the issues with ‘Agile Methods’ ?

A
  • Keeping the customer interested during the development phase of the software.
  • Making sure the team collaboration is high and effective
  • Prioritising different developments during each increment when there are multiple stakeholders involved can be tough
  • Maintaining simplicity in the code to avoid extra work
  • Contracts can be an issue as well
  • Maintaining a software could be challenging if the original team isn’t maintained since the formal documentation is reduced.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is ‘Extreme Programming (XP)’ in brief?

A

It is the most intensive form of agile development methodology.

Characteristics:
- New versions are developed several times a day
- Increments are delivered to the customer every two weeks
- All tests are run for every build and is only accepted if all tests pass.
- Simplicity is maintained by constant refactoring of the code
- Small frequent releases support it

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

What are ‘User Stories’ ?

A

User stories are informal descriptions from the perspective of a potential user as to what kind of feature in the software will add value to it for them.

General template: As a ______, I would like ______ so that ________

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

What are some XP practices?

A
  • User stories are made and then based on time and priority which is to be implemented is decided and broken down into story tasks by the developers.
  • Small frequent releases are done to support the agile development
  • Enough design is done to support an increment, no more.
  • Before an implementation, a test is devised for the implementation
  • constant refactoring of the code is done by developers to make it cleaner and better
  • developers work in pairs and help, check each others work
  • all developers work on all areas of the development process, so that if something goes wrong everyone is responsible
  • a representative from the customer side must always be available to the development team while the software is being developed.
  • as soon as a feature is completed it is integrated with the whole thing and accepted only when all tests are run and pass.
  • a lot of overtime isn’t allowed as it reduces quality code and affects medium term productivity of the development team.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is ‘Scrum’ ?

A

It is a software development methodology based on agile principles. It has three phases:
1. Initial phase: this is outline phase where the software architecture and general goals for the software are set.
2. Sprint cycles: this is followed by a number of sprint cycles where each sprint develops an increment. It is generally a few weeks
3. Closure phase: where the project is wrapped up, the necessary documentation, help manual etc are done and lessons learned from the project are assessed.

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

What are ‘Sprints’ in scrum ?

A
  • last for 1 to 4 weeks
  • develop one increment during that period
  • the task is already decided before hand during the initial phase.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly