University of Mauritius

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

UNIVERSITY OF MAURITIUS

FACULTY OF ENGINEERING

SECOND SEMESTER EXAMINATIONS

MAY 2015

PROGRAMME MSc Software Engineering Projects and Management


MSc Project Management

MODULE NAME Software Project Management

DATE Monday MODULE CODE CSE6209


11 May 2015

TIME 13:30 – 16:30 Hrs DURATION 3 hours

NO. OF 5 NO. OF QUESTIONS 4


QUESTIONS SET TO BE ATTEMPTED

INSTRUCTIONS TO CANDIDATES

There are 2 Sections in this paper: Section A and Section B.

Section A consists of 1 COMPULSORY Question.

Section B consists of 4 questions. Answer any 3 questions from Section B.


SOFTWARE PROJECT MANAGEMENT – CSE6209

SECTION A
Question 1- (COMPULSORY)- [Total 40 Marks]

CASE STUDY
Snowden Technologies is a division of the Snowden Group that provides global
consultancy services and software solutions to the mining industry, and has a
development capacity of over thirty developers located in Perth (head office),
Brisbane and Johannesburg. The reliance on delivering quality software solutions to
its clients has continued to increase over recent years to the point that being able to
rapidly respond to the needs and unique/specific requirements of clients is a critical
success factor to the business.

The driving force to initiate and implement the new agile techniques originated from
expansion of Snowden’s development capacity which presented the necessity for a
clearer defined and (multi) team oriented approach to its software development
activities. Key areas identified by Snowden developers and managers that were
targeted as part of this approach were:

1. Specification and scope definition


2. Estimation (essentially reducing the non-billable hours)
3. Minimising defects and instigating code quality reporting
4. Establishing standard and consistent practices across teams and offices
5. Improving system deployment and build processes
6. Providing feedback mechanisms (within and across teams)
7. Initiating mentoring programs (sharing skill sets)

The need to address these key software development areas were being compounded
by the ongoing growth of the team (in a time of very competitive recruitment) and
the need to improve the Project Management process. Four separate improvement
projects had been identified by the business as focus areas, one of which was the
Agile Project (the other three were Project Management (PRINCE 2), SPI (the
Snowden Project Index reporting tool), and Team Foundation Server (TFS)). The
intention was that the Agile Project would be able to address the majority of the
identified key areas by selecting and tailoring the techniques from a range of
industry proven agile methodologies. The techniques would define the "Snowden
Technologies Agile" methodology, herein referred to as STAg.

The starting point was a brainstorming session (based on the typical Cause-Effect
diagram technique) conducted with all developers to examine the causes behind the
identified problems. As a facilitated brainstorming session, all participants
contributed their ideas, of which, 99 tentative causes were identified in the session.
The "top 10" causes were then examined in more detail in terms of the impact,
influence, cost, effort and duration. From this, a prioritised list of the "top 10" was
determined and the higher priority items became the basis of the selection of the
agile techniques (from the likes of eXtreme Programming (XP), Scrum, FDD, Crystal,
DSDM and even RAD/JAD). Project teams were formed for all four improvement
projects, with the Agile and TFS project teams merging within the first month due to
the overlap of process and tool. There was a total of four staff involved in the Agile
Project (one lead ~50% to 80% of his time, and 3 "consulting" staff, one being an

Page 1 of 5
SOFTWARE PROJECT MANAGEMENT – CSE6209
external agile consultant). Consistency of concepts and terminology between the
Agile Project and the Project Management/PRINCE 2 project was deemed important
to ensure a clear message was communicated to all. As such, close and regular
communication between the projects (with two individuals common to both) was
ensured. As a result, the Agile Project used the PM/PRINCE 2 concept and
terminology for "Stages" (Releases from XP) and “Work Packages” (Iterations from
XP).

Following the Agile principle of "satisfy the customer through early and continuous
delivery" (plus wanting to avoid any "big bang") the definition, templating and
training of techniques were undertaken as (2-4 week) Work Packages (Iterations),
with introduction of these techniques primarily undertaken through pilot projects.
This was the vehicle to trial the selected techniques and mentor the handful of
developers and team leads involved, who eventually would become "seeds" of this
knowledge in the next project they worked on. Some techniques (such as code
inspection) were rolled out across all active developments using in-house
workshops, where the immediate benefits were more obvious. Several in-house
training sessions were also conducted to provide the developers with overviews of
the "Best of Agile" techniques (including a customised version for Snowden’s other
development offices), plus an overview of automated build and test processes that
formed part of the second stage of STAg.

Following the agile principle of "business people and developer must work
together", working groups of 3-5 employees were used for various techniques to
ensure that a suitable cross-section of inputs and ideas were brought together. There
were working groups for the Code Inspection, Coding Standards and Estimation.
Reflection workshops, on a monthly basis, with global feedback from all developers
sought via the weekly Tec meeting with the Agile Project as an agenda item, and also
through direct communications with the Agile Project team members. These
feedback mechanisms were the start of establishing a continuous improvement
philosophy.

A "road-map" of the development process showing the relationship of the selected


techniques was produced in the first Work Package for the project. This is seen as the
equivalent of the "logical architecture" model and also captures the high level
requirements of the proposed implemented methodology. This agile view also
served as a planning and progress "information radiator" (as per the Crystal
methodology), by highlighting the techniques that were being introduced for a given
Stage of the Agile Project. This includes a handful of techniques from the Project
Management / PRINCE 2 process (e.g. High Level Requirements, Project Brief,
Authorise Project/Stage, Stage Test Plan and Stage Acceptance Testing) which
serves to give further context in the developers’ view. The STAg methodology
process road-map captures the complete suite of activities, which were prioritised
and implemented, mostly via pilot projects incrementally. The implementation of
each activity included the creation of “cheat sheet(s)” which are one page summaries
of each technique(s) employed with examples of the output, and templates where
applicable.

The highest priority cause of development issues identified in the initial


brainstorming session was "communication". Snowden’s main driver for establishing
clear communication channels derived from the agile principle that the focus should
Page 2 of 5
SOFTWARE PROJECT MANAGEMENT – CSE6209
be on "individuals and interactions over processes and tools" from the Agile
Manifesto. As such, two key aspects were focused on to improve the communication:
1. All developers, project managers and domain experts were involved
throughout the Agile Project. This includes working groups, feedback
sessions, training sessions, weekly Tec meetings and "Seeds" roles within
project teams)
2. Agile techniques that actually facilitate (or at least prompt for) focused
communications (e.g. JAD sessions, Work Package prioritisation, design
sessions, code inspections, daily briefs and Domain Object Model
walkthrough) were selected to form part of the STAg.
The implementation of this communication approach was conducted in the Stage
One Work Package named "Communication", and its deliverables included rollout of
the Daily Brief, Reflection meetings and Role Identification (including the "Seed"
role). Outlining the project roles and their lines of communication through the Role
Identification deliverable helped to reinforce each of the related activities. After the
initial roll-out of the techniques, a focus group was established to help facilitate the
introduction and mentoring of subsequent techniques across the three development
sites. This group was named the Technical Operations Management Group or “TOM
Group”.
Overall, the approach used so far in tailoring and introducing a selection of agile
techniques has worked well. The most fundamental lesson learnt has been to involve
as many of the “users” (developers, team leaders, etc) as possible throughout the
entire improvement project. It's also been critical that it is done in small, digestible
slices (i.e. Iterations/Work Packages) and to seek and give feedback all the way
through. Having the target areas for improvement provided a clearer view for the
adoption of particular agile and value add techniques. We selected the techniques
from a range of industry agile methodologies, some common, some fairly unique,
but all of them to improve our target areas. What has been selected and tailored to
date is working well.
(Source: Going Agile – A Case Study – By Dwayne Read and Grey Properjohn)
(a) With the advent of the agile process, Snowden Technologies is targeting seven
areas for improvement, as stated in the second paragraph. Discuss how the
agile approach will benefit each of these areas. [7 x 2 Marks]
(b) How has Snowden Technologies made use of resource loading? State four
potential advantages of resource loading for this company.
[2 Marks + 4x1Marks]
(c) The Stage One Work Package was initiated with the aim of improving
communication in the team. Explain how the three deliverables are crucial in
improving group communication. Suggest an approach that will further
enhance communication in the team. [3 x 2 Marks + 4 Marks]
(d) Explain two methods that may be used to encourage group cohesiveness
within the team? [2 x 3 Marks]
(e) It is important to have visible milestones in the life cycle, where various
stakeholders meet to discuss progress. What could be the likely importance of
milestones on this agile framework? [4 Marks]

Page 3 of 5
SOFTWARE PROJECT MANAGEMENT – CSE6209

SECTION B

Answer any 3 questions from this Section.

Question 2 - [Total 20 Marks]

(a) Using appropriate justifications, explain how macroscopic schedules may


help project managers achieving efficient decision making, as well as
improving team efficiency.
[5 Marks]

(b) Assume that you have been appointed as software project manager for the
development of an eHealth system. The project has reached the elaboration
phase.

(i) Suggest the quantitative approaches you may use in tracking schedule
for this project.
[5x2 Marks]

(ii) Define five process indicators commonly used in Earned Value


Analysis to quantitatively track schedule on this software development
project.
[5x1 Marks]

Question 3 - [Total 20 Marks]

(a) ‘Test Early, Test Often’… This statement is often used in integrated testing.
Discuss two strategies that team members may adopt, in order to support this
statement.
[2x2 Marks]

(b) It is often argued that testing exposes risks to product release or acceptance.
What are the possible solutions to improve testing practices in software
development?
[3x2 Marks]

(c) Discuss the elements that should be included in a contract close-out. Suggest
reasons how these elements may help the software development company.
[3x2 Marks + 4 Marks]

Page 4 of 5
SOFTWARE PROJECT MANAGEMENT – CSE6209

Question 4 - [Total 20 Marks]

(a) Complete the table below by suggesting risk avoidance and risk transfer
strategies, as well as risk controls, for the two risks stated below.

Risk Avoid Risk Risk Transfer Risk Controls


The subcontractor may
not deliver the software
at the required
reliability level and as a
result the reliability of
the total system may
not meet performance
specifications.
The interface with the
new control device is
not defined and as a
result its driver may
take more time to
implement then
scheduled.
[6x2 Marks]

(b) System Building is the act of scripting or automating a wide variety of tasks
that software developers do in their day-to-day activities. Discuss four
advantages of system building.
[4x2 Marks]

Question 5 - [Total 20 Marks]

(a) Define the Capability Maturity Model (CMM) level attained by an


organisation when the latter is able to manage the quality of their software
products and software processes. Using appropriate examples, explain the
key process areas to be mastered by organizations at this level.
[1 Mark + 3x3 Marks]

(b) Two software projects very similar in scope were executed by the same
project team for the same users. The first project used a Waterfall
methodology and resulted in missed deadlines and failure to deliver user
requirements. The second used an Agile methodology, and while there were
initial problems with the learning curve, the project was a resounding success.
Discuss the possible benefits of harnessing Agile Project Management over
Traditional Project Management for second project.
[5x2 Marks]

END OF QUESTION PAPER

sg/

Page 5 of 5

You might also like