Você está na página 1de 4

TDB2163 Software Engineering, September 2015

Assignment 02
Student name: AMIRUL FITRI BIN
Student ID: 19880
ROSLIN
Instruction: Please provide your answer in the space given. Bulleted format is
acceptable as answer as long as it can be understood. Plagiarism results in zero.
1. What are the shared characteristics of different approaches to rapid software
development?
-

The project is being executed with several processes such as


requirement gathering, designing and implementation in parallel or

concurrent.
It is an incremental model, so the project is executed in increments.
Usually the model utilize interactive development system to define its
system user interfaces.

2. For what types of system are agile approaches to development particularly


likely to be successful?
Agile approach should be implemented in a small, less complex system
where customer is frequently available to give feedbacks during each
iteration. So it is recommended to small and medium sized project that need
fast deployment schedule and limited system features such as web and
phone application.

3. List the Five (5) principles of agile methods?


1. Incremental delivery of project where customer is exposed to the
frequent small release to make sure it is developed according to their
specification.
2. Involve customer in the development process where they can
contribute in decision-making process such as in testing phase.
3. People not process. Team members should not be restricted in term of
their capabilities but instead let their creativity to solve the problem
flourish.
4. Expect change to happen so designing system that can support
flexibility is important.
5. Maintaining simplicity in development through frequent refactoring in
1

4. Why agile methods may not be suitable for large companies?


Large companies means large team members and mistakes must be
minimized. Furthermore, the team must have strong synchronization
between the project goal and development strategy which will leave
minimal creative solutions to the system since more changes with increase
complexity and chance of error. On the other hand, agile approach involve
constant changing in the development to suit changes in specification so
small and medium system are suitable for this approach simply because it
offers more freedom and flexibility both for the developer and customer.
5. What is test-first development?
It is writing a unit test that define a certain functionality even before the
production code is being written. This test force the programmer to specify
what the code will do and often, a great way for them to contemplate the
testability of the code after it has been written. This will make the job easier
as identification and changes occur before the code has been written is
more efficient than testing the code and had to redesign it after found out
that the code is hard to test.
6. What are the other characteristics of extreme programming apart of testfirst?

Apart from test-first, extreme programming focus on


-

Small releases of the system frequently over time in which features

are updated from the previous version.


Incremental planning of the project in which specification by customer
and various cost are considered to prioritize and select the most

essential features of the sytem


Simple design of the system to accommodate efficient changes in

future and adequately meet the requirements enlisted.


Refactoring the code to allow maintainability in which the developers
are able to improve the system design during each iteration without

the need to wait until completion and make correction to the code.
Pair programming in which two programmers work together on a
code. This will increase efficiency of the work as both programmers,
one person writes the code while the other reviews it, provide support

for each other according to their assigned role.


Collective ownership in which anyone is responsible of the system as

every programmers have a right to change the code.


Continuous integration: a completed task will immediately integrated

to the overall system.


Sustainable pace: under notion that people done their best if they are
well-rested, programmers or developers should not overwork
themselves and to restrict within a given time as it will affect the

quality and efficiency of work.


On-site customer: a representative from customer should be part of
the developing team to ensure the requirements are aligned with the
design and implementation of the system.

7. What is a Scrum sprint?


It is a time-boxed development exercise in which a potentially deliverable
product must be produced within a strict short limit of time. Often in the
restriction, the team will be able to identify the priority list of feature to
define the basic essential functionality of the product. Furthermore, the
team can focus on short-term goals to be achieved as well as delivering
prototype in which customers can easily track the development progress.
8. Describe the following roles in a Scrum:

(a) Product
owner

A representative from customer who is part of the


development team to ensure the desired requirements are
met.

(b) Scrum
master

A facilitator between product owner and team member that


manages the information exchange.

(c) Team
members

Are the members that did the development of the system


in which comprises of various skills such as software
engineers, programmers analysts and etcetera working
together in a workstation to complete the work

=End of Questions=

Você também pode gostar