lOMoAR cPSD| 48433225
, lOMoAR cPSD| 48433225
Variation Marks
Members of your software development team think that
agile methods should be based on principles. Explain the 10
principles of agile methods to the team.
You have been employed as a system developer in T-
Systems. Explain to your new team members how the
10
principles underlying agile methods can lead to the
accelerated development and deployment of software
1. Explain how the principles underlying agile methods lead to the
accelerated development and deployment of software.
The principles underlying agile development are:
1. Individual and interactions over processes and tools. By taking
advantages of individual skills and ability and by ensuring that the
development team know what each other are doing, the overheads
of formal communication and process assurance are avoided. This
means that the team can focus on the development of working
software.
2. Working software over comprehensive documentation. This
contributes to accelerated development because time is not spent
developing, checking and managing documentation. Rather, the
programmer’s time is focused on the development and testing of
code.
3. Customer collaboration over contract negotiation. Rather than
spending time developing, analyzing and negotiating requirements
to be included in a system contract, agile developers argue that it is
more effective to get feedback from customer’s directly during the
development about what is required. This allows useful
functionality to be developed and delivered earlier than would be
possible if contracts were required.
4. Responding to change over following a plan. Agile developers
argue (rightly) that being responsive to change is more effective
2
Downloaded by Vincent master ()
, lOMoAR cPSD| 48433225
than following a plan-based process because change is inevitable
whatever process is used. There is significant overhead in
changing plans to accommodate change and the inflexibility of a
plan means that work may be done that is later discarded.
Question 2
Variation Marks
What are the fundamental concepts of user and system
requirements, and why must these requirements be 10
written in different ways?
2.4 Suggest why it is important to make a distinction between
developing the user requirements and developing system
requirements in the requirements engineering process.
There is a fundamental difference between the user and the system
requirements that mean they should be considered separately.
1. The user requirements are intended to describe the system’s
functions and features from a user perspective and it is essential
that users understand these requirements. They should be
expressed in natural language and may not be expressed in great
detail, to allow some implementation flexibility. The people
involved in the process must be able to understand the user’s
environment and application domain.
2. The system requirements are much more detailed than the user
requirements and are intended to be a precise specification of the
system that may be part of a system contract. They may also be
used in situations where development is outsourced and the
development team need a complete specification of what should be
developed. The system requirements are developed after user
requirements have been established.
, lOMoAR cPSD| 48433225
Question 3
Variation Marks
As a system developer, your organisation requires you to
decide on system architecture. Explain to your
10
organisation members what decisions must be made about
the system during the architectural design process.
6.1 Architectural design decisions
Architectural design is a creative process where you design a system
organization that will satisfy the functional and non-functional
requirements of a system. Because it is a creative process, the activities
within the process depend on the type of system being developed, the
background and experience of the system architect, and the specific
requirements for the system. It is therefore useful to think of
architectural design as a series of decisions to be made rather than a
sequence of activities.
During the architectural design process, system architects have to make
a number of structural decisions that profoundly affect the system and
its development process. Based on their knowledge and experience, they
have to consider the following fundamental questions about the system:
1. Is there a generic application architecture that can act as a template
for the system that is being designed?
2. How will the system be distributed across a number of cores or
processors?
3. What architectural patterns or styles might be used?
4. What will be the fundamental approach used to structure the
system?
5. How will the structural components in the system be decomposed
into subcomponents?
6. What strategy will be used to control the operation of the
components in the system?
4
Downloaded by Vincent master ()
, lOMoAR cPSD| 48433225
Variation Marks
Members of your software development team think that
agile methods should be based on principles. Explain the 10
principles of agile methods to the team.
You have been employed as a system developer in T-
Systems. Explain to your new team members how the
10
principles underlying agile methods can lead to the
accelerated development and deployment of software
1. Explain how the principles underlying agile methods lead to the
accelerated development and deployment of software.
The principles underlying agile development are:
1. Individual and interactions over processes and tools. By taking
advantages of individual skills and ability and by ensuring that the
development team know what each other are doing, the overheads
of formal communication and process assurance are avoided. This
means that the team can focus on the development of working
software.
2. Working software over comprehensive documentation. This
contributes to accelerated development because time is not spent
developing, checking and managing documentation. Rather, the
programmer’s time is focused on the development and testing of
code.
3. Customer collaboration over contract negotiation. Rather than
spending time developing, analyzing and negotiating requirements
to be included in a system contract, agile developers argue that it is
more effective to get feedback from customer’s directly during the
development about what is required. This allows useful
functionality to be developed and delivered earlier than would be
possible if contracts were required.
4. Responding to change over following a plan. Agile developers
argue (rightly) that being responsive to change is more effective
2
Downloaded by Vincent master ()
, lOMoAR cPSD| 48433225
than following a plan-based process because change is inevitable
whatever process is used. There is significant overhead in
changing plans to accommodate change and the inflexibility of a
plan means that work may be done that is later discarded.
Question 2
Variation Marks
What are the fundamental concepts of user and system
requirements, and why must these requirements be 10
written in different ways?
2.4 Suggest why it is important to make a distinction between
developing the user requirements and developing system
requirements in the requirements engineering process.
There is a fundamental difference between the user and the system
requirements that mean they should be considered separately.
1. The user requirements are intended to describe the system’s
functions and features from a user perspective and it is essential
that users understand these requirements. They should be
expressed in natural language and may not be expressed in great
detail, to allow some implementation flexibility. The people
involved in the process must be able to understand the user’s
environment and application domain.
2. The system requirements are much more detailed than the user
requirements and are intended to be a precise specification of the
system that may be part of a system contract. They may also be
used in situations where development is outsourced and the
development team need a complete specification of what should be
developed. The system requirements are developed after user
requirements have been established.
, lOMoAR cPSD| 48433225
Question 3
Variation Marks
As a system developer, your organisation requires you to
decide on system architecture. Explain to your
10
organisation members what decisions must be made about
the system during the architectural design process.
6.1 Architectural design decisions
Architectural design is a creative process where you design a system
organization that will satisfy the functional and non-functional
requirements of a system. Because it is a creative process, the activities
within the process depend on the type of system being developed, the
background and experience of the system architect, and the specific
requirements for the system. It is therefore useful to think of
architectural design as a series of decisions to be made rather than a
sequence of activities.
During the architectural design process, system architects have to make
a number of structural decisions that profoundly affect the system and
its development process. Based on their knowledge and experience, they
have to consider the following fundamental questions about the system:
1. Is there a generic application architecture that can act as a template
for the system that is being designed?
2. How will the system be distributed across a number of cores or
processors?
3. What architectural patterns or styles might be used?
4. What will be the fundamental approach used to structure the
system?
5. How will the structural components in the system be decomposed
into subcomponents?
6. What strategy will be used to control the operation of the
components in the system?
4
Downloaded by Vincent master ()