REVISION
1: Rapid software development?
a. ANS: Specification, design and implementation are inter-leaved
b. System is developed as a series of versions with stakeholders involved in version
evaluation
2: Agile methods?
ANS: Dissatisfaction with the overheads involved in software design methods of the 1980s and
1990s led to the creation of agile methods
3: Agile manifesto?
ANS: We are uncovering better ways of developing software by doing it and helping
others do it Through this work we have come to value:
4: Agile method applicability?
ANS: Product development where a software company is developing a small or medium-sized
product for sale
5: Agile methods and software maintenance?
ANS: Most organizations spend more on maintaining existing software than they do on new
software development. So, if agile methods are to be successful, they have to support
maintenance as well as original development
6: Plan-driven development?
ANS: A plan-driven approach to software engineering is based around separate development
stages with the outputs to be produced at each of these stages planned in advance.
7: Agile development?
Specification, design, implementation and testing are inter-leaved and the outputs from the
development process are decided through a process of negotiation during the software
development process.
8: What type of system is being developed?
ANS: Plan-driven approaches may be required for systems that require a lot of analysis before
implementation (e.g. real-time system with complex timing requirements).
9: What is the expected system lifetime?
ANS: Long-lifetime systems may require more design documentation to communicate the
original intentions of the system developers to the support team
By MAYOW
REVISION
10: What technologies are available to support system development?
ANS: Agile methods rely on good tools to keep track of an evolving design
11: How is the development team organized?
ANS: If the development team is distributed or if part of the development is being outsourced,
then you may need to develop design documents to communicate across the development teams.
12: Are there cultural or organizational issues that may affect the system development?
ANS: Traditional engineering organizations have a culture of plan-based development, as this is
the norm in engineering.
13: How good are the designers and programmers in the development team?
ANS: It is sometimes argued that agile methods require higher skill levels than plan-based
approaches in which programmers simply translate a detailed design into code
14: Is the system subject to external regulation?
ANS: If a system has to be approved by an external regulator (e.g. the FAA approve software
that is critical to the operation of an aircraft) then you will probably be required to produce
detailed documentation as part of the system safety case.
15: Extreme programming?
ANS: Perhaps the best-known and most widely used agile method
16: Refactoring?
ANS: Programming team look for possible software improvements and make these
improvements even where there is no immediate need for them
17: Testing in XP?
ANS: Testing is central to XP and XP has developed an approach where the program is tested
after every change has been made.
16: Customer involvement?
ANS: The role of the customer in the testing process is to help develop acceptance tests for the
stories that are to be implemented in the next release of the system
17: XP testing difficulties?
ANS: Programmers prefer programming to testing and sometimes they take short cuts when
writing tests
18: Pair programming?
ANS: In pair programming, programmers sit together at the same workstation to develop the
software
By MAYOW
REVISION
19: Advantages of pair programming?
ANS: It supports the idea of collective ownership and responsibility for the system
20: Agile project management?
ANS: The principal responsibility of software project managers is to manage the project so that
the software is delivered on time and within the planned budget for the project.
21: Scrum?
ANS: The Scrum approach is a general agile method but its focus is on managing iterative
development rather than specific agile practices.
22: Scaling agile methods?
ANS: Agile methods have proved to be successful for small and medium sized projects that can
be developed by a small co-located team.
23: Large systems development?
ANS: Large systems are usually collections of separate, communicating systems, where separate
teams develop each system. Frequently, these teams are working in different places, sometimes
in different time zones
24: Scaling out and scaling up?
ANS: Scaling up’ is concerned with using agile methods for developing large software systems
that cannot be developed by a small team.
25: Scaling up to large systems?
ANS: For large systems development, it is not possible to focus only on the code of the system.
You need to do more up-front design and system documentation
26: Scaling out to large companies?
ANS: Project managers who do not have experience of agile methods may be reluctant to accept
the risk of a new approach.
By MAYOW