11 Extreme Programming Flashcards

1
Q

what is the agile manifesto

A
  1. individuals and interaction over process and tools
  2. working software over comprehensive documentation
  3. respond to changes over following plan
  4. customer collaboration over contract negotiation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what is extreme programming

A
  1. extreme approach to iterative development
  2. new versions may be built several times a day
  3. increments delivered every 2 weeks
  4. test driven development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

extreme programming flow

A
  1. select user stories
  2. breakdown stories to task
  3. plan releases
  4. develop/integrate software
  5. release software
  6. evaluate system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

extreme programming principles

A
  1. small and frequent releases
  2. clear commitment of customer engagement in development
  3. pair programming and collective ownership
  4. constant refactoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

customers in extreme programming

A
  1. customers are part of the team and responsible for the development
  2. development team breaks down information of implementation of task for scheduling and budgeting
  3. improves understandability of software
  4. changes are easier to make as code is well structured
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what is pair programming

A
  1. programmers sit together to develop code
  2. develop common ownership of code, and spread knowledge
  3. serve as informal review process as each line is looked at by 2 people
  4. encourage refactoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

extreme programming problems

A
  1. programmers prefer to write code, not test
  2. some tests are hard to design incrementally
  3. difficult to judge completeness of test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what are the scrum phases

A
  1. initial phase
  2. series of sprints
  3. project closure phase
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

change management

A
  1. software change is inevitable
    - new request emerge when software is used
    - business environment changes
    - error must be fixed
    - new equipment must be accommodated
    - improvement to reliability and performance
  2. ensure that system evolution is manageable
  3. priority given to most urgent, cost effective changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

change management process

A
  1. analyse cost benefit of proposed change
  2. approve worthwhile changes
  3. track changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

software change steps

A
  1. change request
  2. impact analysis
  3. release planning
  4. change implementation
  5. system release
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

factors in change analysis

A
  1. consequences of not making change
  2. benefit of change
  3. number of users affected by change
  4. cost of making change
  5. product release cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

what is software maintenance

A
  1. modify software after release
  2. do not normally involve major changes to system architecture
  3. modify existing components and adding new components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

types of software maintenance

A
  1. fault repairs
    - fix bugs and correct deficiencies to meet requirement
  2. environmental adaptation
    - to operate in a different environment from its initial implementation
  3. functionality addition and modification
    - to satisfy new requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

maintenance cost

A
  1. usually 2x - 100x greater than development cost
  2. affected by technical and non-technical factors
  3. ageing software have higher maintenance cost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

maintenance problems

A
  1. new team needs to understand the program being maintained
  2. separating maintenance and development means no incentive for developers to write maintainable software
  3. program maintenance work is unpopular
  4. maintenance staff is often inexperienced
  5. aged software are heard to change
17
Q

maintenance predictions

A
  1. maintainability
  2. maintenance cost
  3. system changes
18
Q

what does software license cover

A
  1. ownership
  2. end usage rights
  3. distributions rights
  4. engineering rights
  5. warranties and liability
19
Q

roles in licensing

A
  1. producer
    - author
    - owner
    - distributor
    - developer
    - contributor
  2. consumer
    - infrastructure engineer
    - end user
    - developer
20
Q

what can software license be applied to

A
  1. source code
  2. binaries
  3. documentation
  4. outputs
21
Q

software warranty and liability

A

warranty asserts duration of time for ensuring software functions by providers

liability clause is for who is responsible if software causes damage

22
Q

categories of software (free or not free)

A
  1. freeware
    - non chargeable copyrighted
  2. shareware
    - delivered without charge but continues usage subject to payment
  3. proprietary
    - non free
23
Q

reputational issues

A
  1. access to end user information
  2. only issuing update to licensed users
  3. installing monitoring software to detect violations
  4. modifying/ disabling devices running unlicensed software
  5. taking legal actions