Software Engineering:Chap. 17 Rapid software development

17.1 “Explain why the rapid delivery and deployment of new systems is often more important to businesses than the detailed functionality of these systems.”
Ans. “A conventional waterfall or specfication-based process is usually prolonged and the final software is delivered to the customer long after it was originally specified. In a fast-moving business environment, this can cause real problems. By the time the software is available for use, the original reason for its procurement may have changed so radically that the software is effectively useless. Therefore, for business systems in particular, development processes that focus on rapid software development and delivery are essential”.
17.3 “When would you recommend against the use of agile method for developing a software system?”
Ans. “Agile methods are not well suited to large-scale system development with the development teams in different places and where there may be complex interactions with other hardware and software system”. Agile methods are not well suited to critical systems development.
17.6 “Suggest four reasons why the productivity rate of programmers working as a pair is roughly the same as two programmers working individually.”
Ans. * “Pair programming supports the idea of common ownership and responsibility for the system”.
* “Pair programming acts as an informal review process because each line of code is looked at by at least two people. Code inspections and reviews are very successful in discovering a high percentage of software errors”.
* “Pair programming helps support refactoring, which is a process of software improvement”.
* “Pairs discuss the software before development so probably have fewer false starts and less