11 Extreme Programming Flashcards
1
Q
what is the agile manifesto
A
- individuals and interaction over process and tools
- working software over comprehensive documentation
- respond to changes over following plan
- customer collaboration over contract negotiation
2
Q
what is extreme programming
A
- extreme approach to iterative development
- new versions may be built several times a day
- increments delivered every 2 weeks
- test driven development
3
Q
extreme programming flow
A
- select user stories
- breakdown stories to task
- plan releases
- develop/integrate software
- release software
- evaluate system
4
Q
extreme programming principles
A
- small and frequent releases
- clear commitment of customer engagement in development
- pair programming and collective ownership
- constant refactoring
5
Q
customers in extreme programming
A
- customers are part of the team and responsible for the development
- development team breaks down information of implementation of task for scheduling and budgeting
- improves understandability of software
- changes are easier to make as code is well structured
6
Q
what is pair programming
A
- programmers sit together to develop code
- develop common ownership of code, and spread knowledge
- serve as informal review process as each line is looked at by 2 people
- encourage refactoring
7
Q
extreme programming problems
A
- programmers prefer to write code, not test
- some tests are hard to design incrementally
- difficult to judge completeness of test
8
Q
what are the scrum phases
A
- initial phase
- series of sprints
- project closure phase
9
Q
change management
A
- 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 - ensure that system evolution is manageable
- priority given to most urgent, cost effective changes
10
Q
change management process
A
- analyse cost benefit of proposed change
- approve worthwhile changes
- track changes
11
Q
software change steps
A
- change request
- impact analysis
- release planning
- change implementation
- system release
12
Q
factors in change analysis
A
- consequences of not making change
- benefit of change
- number of users affected by change
- cost of making change
- product release cycle
13
Q
what is software maintenance
A
- modify software after release
- do not normally involve major changes to system architecture
- modify existing components and adding new components
14
Q
types of software maintenance
A
- fault repairs
- fix bugs and correct deficiencies to meet requirement - environmental adaptation
- to operate in a different environment from its initial implementation - functionality addition and modification
- to satisfy new requirements
15
Q
maintenance cost
A
- usually 2x - 100x greater than development cost
- affected by technical and non-technical factors
- ageing software have higher maintenance cost