Problem 1
Explain why the rapid delivery and deployment of new systems is often more important to businesses than the detailed functionality of these systems.
Problem 2
Explain how the principles underlying agile methods lead to the accelerated development and deployment of software.
Problem 3
When would you recommend against the use of an agile method for developing a software system?
Problem 4
Extreme programming expresses user requirements as stories, with each story written on a card. Discuss the advantages and disadvantages of this approach to requirements description.
Problem 5
Explain why test-first development helps the programmer to develop a better understanding of the system requirements. What are the potential difficulties with test-first development?
Problem 6
Suggest four reasons why the productivity rate of programmers working as a pair might be more than half that of two programmers working individually.
Problem 9
It has been suggested that one of the problems of having a user closely involved with a software development team is that they 'go native'; that is, they adopt the outlook of the development team and lose sight of the needs of their user colleagues. Suggest three ways how you might avoid this problem and discuss the advantages and disadvantages of each approach.
Problem 10
To reduce costs and the environmental impact of commuting, your company decides to close a number of offices and to provide support for staff to work from home. However, the senior management who introduce the policy are unaware that software is developed using agile methods, which rely on close team working and pair programming. Discuss the difficulties that this new policy might cause and how you might get around these problems.