IT4305: Rapid Software Development: University of Colombo, Sri Lanka
IT4305: Rapid Software Development: University of Colombo, Sri Lanka
IT4305: Rapid Software Development: University of Colombo, Sri Lanka
Important Instructions:
The duration of the paper is 1 (one) hour.
The medium of instruction and questions is English.
This paper has 3 questions in 11 pages.
Answer all questions. The first question carries 40 marks. Second and third
questions carry 30 marks each.
Write your answers in English using the space provided in this question paper.
Do not tear off any part of this answer book.
Under no circumstances may this book, used or unused, be removed from the
examination hall by a candidate.
Note that questions appear on both sides of the paper.
If a page is not printed, please inform the supervisor immediately.
Questions Answered
Indicate by a cross (), (e.g.
1 ) the numbers of the questions answered.
To be completed by the candidate by
1 2 3
marking a cross ().
To be completed by the examiners:
a.
i. List four (4) challenges faced by the development team when providing
a solution for the ABC (PVT) Ltd.
(4*2=8 marks)
ANSWER IN THIS BOX
1. Unclear requirements from the client and/or Difficulty for the workforce to
clearly define the requirements for the software
2. Complexity of the project (Multiple projects and the same time, each with
a different/varying set of activities)
3. Resistance at the ground level from an aging work force for an IT solution
(Resistance for changing their existing paper based practices)
4. Limited timeline to develop a working solution
2
Index No ………………………….
ii. For your answers in a.(i) above, explain why choosing an agile method
for this project would suite, as compared to the traditional waterfall
method.
(4*3=12 marks)
ANSWER IN THIS BOX
3. The need to engage with the workers in all stages of the project is a
requirement of agile methods. Better awareness of the benefits, capturing the
actual user requirement, visibility of project details etc. would aid to minimize
resistance of the workforce.
(High level of collaboration with the user in agile methods)
3
Index No ………………………….
b. Extreme Programing (XP) is one the Agile Methodologies. Write down five
(5) other Agile methods (methodologies and frameworks) which can be used
in the above project.
(5*1=5 marks)
ANSWER IN THIS BOX
1. Scrum
c. ‘Personal success’ is one of the “three types of successes” which can be gained
from an agile project. Briefly explain how the other two (2) successes would
be beneficial in this specific project.
(2*3=6 marks)
ANSWER IN THIS BOX
4
Index No ………………………….
d. Assume that it is proposed to use Agile methodologies in developing a solution
for ABC (PVT) Ltd. List down three (3) limitations of using such methods in
this project.
(3*3=9 marks)
ANSWER IN THIS BOX
3. Products that are mature or legacy or with regulated quality control: In Scrum,
product increments should be fully developed and tested in a single sprint;
products that need large amounts of regression testing or safety testing (e.g.,
medical devices or vehicle control) for each release are less suited to short sprints
than to longer waterfall releases.
5
Index No ………………………….
2. The following questions are related to the Scrum framework.
a. Briefly write down three (3) differences between the roles played by the Scrum
master and a traditional Project Manager.
(3*2=6 Marks)
(2*4=8 Marks)
ANSWER IN THIS BOX
i. Product Backlog:
-The product owner is responsible for determining and managing the sequence of
the work in scrum.
-This prioritized (or ordered) list is known as the product backlog
-The development teams break down each targeted feature in the product backlog
into a set of tasks.
-This, forms a second backlog called the sprint backlog
The format of product backlog items varies, common formats include user stories,
use cases, or any other requirements format the team finds useful.
6
Index No ………………………….
The sprint backlog is the list of work the development team must address during
the next sprint
The list is derived by the scrum team progressively selecting product backlog
items in priority order from the top of the product backlog until they feel they have
enough work to fill the sprint.
Once a sprint backlog is committed, no additional work can be added to the sprint
backlog except by the team
c. In Scrum, “Don’t Plan, Let’s start the sprint and figure out what to do next!!!”
Write down two (2) points (justifications) on what the above phrase means by
comparing it with the practices of a traditional (e.g. waterfall based) approach.
(3*2=6 Marks)
-Used to create the initial product backlog- a product vision is needed to generate an
initial product backlog
-The goal is to work upon an idea, describing the essence of the potential product
and creating a rough plan for how to approach its creation.
-Can decide whether to fund the next level of more detailed development
7
Index No ………………………….
ii. Three (3) participants for this phase (3 Marks)
3. a. ‘Cross functional teams’ are used in Extreme Programing (XP). Briefly describe
two (02) reasons for the need to have people with skills of software design and
architecture in such cross functional teams.
(2*2=4 Marks)
Release planning.
8
Index No ………………………….
Determine how to group features into small frequent releases
Manage risks
c.
i. Briefly describe ‘The Last Responsible Moment’ in Extreme Programing
(XP)?
(2 Marks)
ii. List down two (02) advantages that can be achieved by delaying the
decision making process until the last responsible moment
(2*2=4 Marks)
Decrease workload
9
Index No ………………………….
d. Management support is one of the pre-conditions (prerequisites) to adopt Extreme
Programing (XP) in an organization. Briefly describe three (03) more such pre-
conditions (prerequisites).
(3*2 = 6 Marks)
Tools and key bindings: Sometimes co-workers’ tool preferences are annoying.
Standardize on a particular toolset. Different coding standards.
10
Index No ………………………….
f. The following figure shows the life cycle of ‘Test Driven Development (TDD)’.
Select any three (03) life cycle stages of TDD from the following diagram and
describe their key activities.
(3*2 = 6 Marks)
Red Bar: Now write the test. Write only enough code for the current increment of
behaviour (typically fewer than five lines of code). Code in terms of the class’
behaviour and its public interface, not how you think you will implement the
internals of the class. Respect encapsulation.
Green Bar: Write just enough production code to get the test to pass. You should
usually need less than five lines of code. Just do what you need to do to make the
test pass. Run your tests again, and watch all the tests pass. This will result in a
green progress bar.
Refactor: With all your tests passing again, you can now refactor without worrying
about breaking anything. Review the code and look for possible improvements.
Ask your navigator if he’s made any notes. For each problem you see, refactor the
code to fix it. Work in a series of very small refactoring. Refactor as many times
as you like. Make your design as good as you can, but limit it to the code’s existing
behaviour. Don’t anticipate future needs, and certainly don’t add new behaviour
*****************
11