Question details

3.1. Explain why the rapid delivery and deployment of new systems 2
$ 20.00

 

Please help me, to solve my task,..

3.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”

 

3.2. Explain how the principles underlying agile methods lead to the accelerated development

and deployment of software.

 

 

 

3.3. When would you recommend against the use of an 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.

 

3.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.

3.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?

 

3.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.

 

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

 

3.7. Compare and contrast the Scrum approach to project management with conventional

plan-based approaches, as discussed in Chapter 23. The comparisons should be based

on the effectiveness of each approach for planning the allocation of people to projects,

estimating the cost of projects, maintaining team cohesion, and managing changes in

project team membership.

3.8. You are a software manager in a company that develops critical control software

for aircraft. You are responsible for the development of a software design support

system that supports the translation of software requirements to a formal software

specification (discussed in Chapter 13). Comment on the advantages and disadvantages

of the following development strategies:

a. Collect the requirements for such a system from software engineers and external

stakeholders (such as the regulatory certification authority) and develop the system

using a plan-driven approach.

b. Develop a prototype using a scripting language, such as Ruby or Python, evaluate

this prototype with software engineers and other stakeholders, then review the

system requirements. Redevelop the final system using Java.

c. Develop the system in Java using an agile approach with a user involved in the

development team.

3.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.

3.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.

 

Available solutions