The address of this document is: http://www.perceptek.com.au/kteam/docs/rmmm.html


 

Risk Mitigation, Monitoring, and Management


The MultiMahjong Project

Team


Team members:

 

1.                              Joanna Araminta 

2.                              Victor Leung 

3.                              Joel Brakey 

4.                              Michael Hart 

5.                              Dean Cortinovis 

6.                              Long Tang 

(Project Manager and Risk Manager)
(Technical Research)
(Client Liaison Officer, Web Site Manager)
(Secretary, Web Site Manager, Backup Manager)
(Technical Research)
(Technical Research)

Abstract:

This document describes the risks that may be encountered in designing and managing the MultiMahjong Project, and the process that Team will follow to avoid them. 

Maintainer:

Joanna Araminta (jiar)

Version Control:

$Revision: 1.11 $
$Date: 1999/10/25 00:42:16 $


 
 

Table Of Contents

  1. Introduction 


1.1 Overview of Major Risks
1.2 Responsibilities

  1. Project Risk Table 


2.1 Description of risks
   2.1.1  Lack of training on Java
   2.1.2  Unrealistic delivery deadlines where slippage may occur
   2.1.3  Staff inexperienced with the Software Development Process
   2.1.4  Staff knowledge on networking concept may be low
   2.1.5  Lack of experience in Project Planning
   2.1.6  Size estimate may be significantly low
   2.1.7  Lack of availability of tools on University's Computing System
   2.1.8  Lack of availability of tools on MAC
   2.1.9  Quality of product documentation and coding that must be produced may be
              low
   2.1.10 Requirements demand a good knowledge on Artificial Intelligence
   2.1.11 Software may not be easily tested
   2.1.12 Log messages on modifications done on coding and documentation may not be
              well controlled 
   2.1.13 Unavailability of team members
   2.1.14 There may be conflicts between team members
   2.1.15 Reviews may not be conducted regularly
   2.1.16 Customer may change the Project's requirements
   2.1.17 System may be down
   2.1.18 Lack of experience working with a customer

  1. Risk Mitigation, Monitoring, and Management Plan


3.1   Lack of training on Java
3.2   Unrealistic delivery deadlines where slippage may occur
3.3   Staff inexperienced with the Software Development Process
3.4   Staff knowledge on networking concept may be low
3.5   Lack of experience in Project Planning
3.6   Size estimate may be significantly low
3.7   Lack of availability of tools on University's Computing System
3.8   Lack of availability of tools on MAC
3.9   Quality of product documentation and coding that must be produced may be low
3.10 Requirements demand a good knowledge on Artificial Intelligence
3.11 Software may not be easily tested
3.12 Log messages on modifications done on coding and documentation may not 
        be well controlled
3.13 Unavailability of team members
3.14 There may be conflicts between team members
3.15 Reviews may not be conducted regularly
3.16 Customer may change the Project's requirements
3.17 System may be down
3.18 Lack of experience working with a customer

  1. Documented Risks


4.1  Lack of training on Java
4.2  Staff knowledge on networking concept may be low
4.3  Staff inexperienced with the Software Development Process
4.4  Unrealistic delivery deadlines where slippages may occur
4.5  The size estimate of the 433-341 Project may be significantly low
4.6  Client may not be as enthusiastic about the Project as the team is
4.7  Size estimate may be significantly low

 

 Table Of Figures

  1. Table 1 - Project Risk Table 

1. Introduction

This document describes the risks that Team may encounter while designing and managing the MultiMahjong Project, and the strategies and actions that K-Team will conduct to mitigate these risks.

This document will be mainly used by the Project Manager, as part of the overall Project Plan, in monitoring the project. Risk monitoring consists of three objectives:

    1. To assess whether a predicted risk does occur 
    2. To ensure that risk aversion steps defined for the risk are being properly applied 
    3. To collect information that can be used to analyse other risks in the future 

The MultiMahjong Project is a complex project, in the sense that it is intensely difficult, if not impossible, for the individual developer to comprehend all the subtleties of its design. It is also a new project, where there is no existing system.

A complex project such as this involves a lot of different type of risks. These risks will be described in the Project Risk Table as described in Section 2.

The client for this project is:

Steve Goschnick, Managing Director
Solid Software Pty Ltd
Level 3, Bouverie Street,
Carlton VIC, 3053
Ph: 03 9344 9322, 03 9344 0154
E-Mail: gosh@solidsoftware.com.au, gosh@cs.mu.oz.au

Our team for the project is called Team and consists of:

 

Joanna Araminta (jiar)
Victor Leung (vhle)
Joel Brakey (jebr)
Michael Hart (mwhart)
Dean Cortinovis (dcort
Long Tang (lqkt)

Ph: 9889 4423
Ph: 9706 1560 
Ph: 9859 6038 
Ph: 9859 5419
Ph: 9798 2684
Ph: 9540 8992

The supervisor for the project is:

 

Anthony Senyard (anthls

Ph (W): 9344 1940
Ph (H): 9417 2839

1.1 Overview of Major Risks

    • Product Size Risks: 
      • Size estimate may be significantly low 
      • Customer may change the Project's requirements 
    • Business Impact Risks: 
      • Quality of product documentation and coding that must be produced may be low 
      • Unavailability of team members 
      • There may be conflicts between team members 
      • Unrealistic delivery deadlines where slippage may occur 
    • Customer Related Risks: 
      • Lack of experience working with a customer 
    • Process Risks: 
      • Lack of experience in Project Planning 
      • First time dealing with big projects 
      • Software may not be easily tested 
      • Log messages on modifications done on coding and documentation may not be well controlled 
      • Reviews may not be conducted regularly 
    • Development Environment Risks: 
      • Lack of training on Java 
    • Technology Risks: 
      • Staff knowledge on networking concept may be low 
      • Lack of availability of tools on University's Computing System 
      • Lack of availability of tools on MAC 
      • Requirements demand a good knowledge on Artificial Intelligence 
      • System may be down 
    • Staff Size and Experience Risks: 
      • Staff inexperienced with the Software Development Process 

1.2 Responsibilities

A Risk Manager will be appointed by the Project Manager to monitor all possible risks associated with the Project, which are listed in the Project Risk Table (see RMMM Section 2)

Once a risk has occurred, the Risk Manager should follow the mitigation strategy as planned (see RMMM section 3). The Risk Manager should also inform the other team members of the consequences of the problems associated with the risk. The Risk Manager should continue to monitor other risks while trying to minimize the consequences of the occurred one.

The Risk Manager for Team is:

 

Joanna Araminta (jiar

Ph (H): 9889 4423

2. Project Risk Table

 

No.

Risks

Category

Probability

Impact

RMMM

1

Lack of training on Java

DE

90%

2

3.1

2

Unrealistic delivery deadlines where slippage may occur

BU

85%

1

3.2

3

Staff inexperienced with the Software Development Process

ST

80%

1

3.3

4

Staff knowledge on networking concept may be low

TE

80%

2

3.4

5

Lack of experience in Project Planning

PR

75%

2

3.5

6

Size estimate may be significantly low

PS

70%

2

3.6

7

Lack of availability of tools on University's Computing System

TE

60%

2

3.7

8

Lack of availability of tools on MAC

TE

60%

3

3.8

9

Quality of product documentation and coding that must be produced may be low

BU

60%

3

3.9

10

Requirements demand a good knowledge on Artificial Intelligence

TE

60%

4

3.10

11

Software may not be easily tested

PR

50%

2

3.11

12

Log messages on modifications done on coding and documentation may not be well controlled

PR

50%

2

3.12

13

Unavailability of team members

BU

50%

2

3.13

14

There may be conflicts between team members

BU

40%

3

3.14

15

Reviews may not be conducted regularly

PR

15%

3

3.15

16

Customer may change the project's requirements

PS

10%

1

3.16

17

System may be down

TE

10%

3

3.17

18

Lack of experience working with a customer

CU

5%

4

3.18

Table 1 - Project Risk Table

Category legends:

    • PS - Product Size Risk 
    • BU - Business Impact Risk 
    • CU - Customer Related Risk 
    • PR - Process Risk 
    • DE - Development Environment Risk
    • TE - Technology Risk 
    • ST - Staff Size and Experience Risk 

Impact legends:

    • 1 - Catastrophic 
    • 2 - Critical 
    • 3 - Marginal 
    • 4 - Critical 

2.1 Description of Risks

2.1.1 Lack of Knowledge on Java

It is anticipated that the program is to be implemented using Java 2 (SQAP section 9.2). While the development team is quite familiar with C++, which is also an object oriented programming language, the team has a very little direct experience with Java. This can be quite a risk as there could be major slippages that occur because of this risk.

2.1.2 Unrealistic delivery deadlines where slippage may occur

The Project Plan (SQAP section 3.2) includes a set of deadlines established in the initial stages of the project. While every effort should be made to ensure that we conform to these deadlines, we acknowledge that, during the course of the Project, the Project Plan may have to be modified to account for any unforeseen delays. As such, it is necessary to define procedures for handling these changes.

Any delays in the Project Plan will be classified as either a minor or major slippage.

A minor slippage occurs when: 

        1. The deadline is delayed by seven days or less 
        2. The delay does not have any significant impact on our ability to complete subsequent stages of the Project on schedule. Examples of insignificant impacts are such as: 
          • Machines are down when they are needed. It is unlikely that they would be down for more than one day. Therefore Team would be able to resume working on the next day. 
          • For some reasons, on the due date, a member can not complete his/her assigned task. Assumed that the rest of the Team has finished their assigned tasks. It is likely that the incomplete task or in turn, the whole project can be rescued by reinforcement in a short period of time (e.g. 1 or 2 days). 

A major slippage occurs when: 

        1. The deadline is delayed for more than seven days 
        2. The delay will have significant impact on our ability to complete subsequent stages of the Project on schedule. Examples of significant impacts are such as: 
          • K-Team's lack of experience in every aspect. It is highly possible that Team heads towards the wrong direction. Assumed that this problem is discovered close to the due date. It is very likely that major amendments or even re-designing parts of the Project will occur. Such problem will lead to major slippage. 
          • The unavailability of the promised resources (the game's graphics and sound), which are promised by the Client. If these resources are still not available when they are needed, the slippage that will occur will be likely to be a major slippage. 

2.1.3 Staff inexperienced with the Software Development Process

This is K-Team's first Software Development Project, so every process is still very new to the team, even though the team had been taught what it's all about. Some slippage may occur because of this, as the team will have to do a lot of research for any uncertainties found during the Project's life cycle. 

2.1.4 Staff knowledge on networking concept may be low

This project is to be written in a client server manner. The development team has a limited knowledge on how to write a client server application. This can cause some slippage, probably major ones, during the Project's life cycle. 

2.1.5 Lack of experience in Project Planning

The development team has never been involved in developing a piece of software. Thus the team has very little experience with Project Planning and the tools used in planning a Project. The team might also find difficulties in estimating the amount of time needed to complete each processes, in order to produce a satisfiable piece of software. 

2.1.6 Size estimate may be significantly low

Since this is the first time for the development team to work with a big project such as the MultiMahjong Project, the team's estimation on lines of code (LOC) may be inaccurate. Even if the estimation may be quite accurate, the degree of confidence that the development team will have in the estimated size will be fairly low. 

2.1.7 Lack of availability of tools on University's Computing System

The programming language, which the development team has to use in order to build the software, is Java 2 (SQAP section 9.2). This is the latest version of Java that includes the new SWING library, which the development team will use to build the user interface of the software. This version will not be available on the University's Computing System until Semester 2, which starts at the end of July. This could cause some slippage in the Project's life cycle if the development team needs to implement some prototypes of the system at an earlier stage of the Project's life cycle than expected. The development team will need to store and compile these prototypes in the University's Computing System so that all team members have access to them. 

2.1.8 Lack of availability of tools on MAC

The programming language, which the development team has to use in order to build the software, is Java 2 (SQAP section 9.2). Java 2 version at the moment is only available for Windows and UNIX platform. Unfortunately, not every member of K-Team is using Windows or UNIX. There are two members of K-Team who are using MacOS, and the latest Java version for Mac at the moment is Java 1.1.8, which doesn't include Swing. However, this may not be a big risk as Swing plug-in is available.

2.1.9 Quality of product documentation and coding that must be produced 
         may be low

The development team has never produced any software documentation and coding in a professionally manner. The team is also unfamiliar with the standards of what good quality documentation and coding is supposed to be. Thus the degree of confidence in writing good quality documents needed in a Software Development Process, and coding is fairly low. 

2.1.10 Requirements demand a good knowledge on Artificial Intelligence

It is anticipated that the behaviour of the Artificial Intelligence featured in the program would be of vital importance. The development team has almost no experience with Artificial Intelligence programming. This could affect the quality of the final product. 

2.1.11 Software may not be easily tested

With the unfamiliarity of the implementation language and working on a bigger scale projects, testing the final product may not be as easy as it seems. It is very hard to make sure that every possible situation where the software may ended up at, have been tested. There are probably errors such that the development team may not know why it happened. 

Considering also the time given to do the Project, it may not be possible to carry all the tests that the development team will describe in the Test Plans (see TP section 2 - section 5)

2.1.12 Log messages on modifications done on coding and documentation 
           may not be well controlled

The development team has never been working in a team project using CVS as the version control of all documents involved in the Project. Thus the log messages on modifications done on documentation and coding may not be done carefully. 

2.1.13 Unavailability of team members

The development team members have different timetables and most of them also have part time jobs. This makes it a bit hard to locate meeting times that suit everyone. 

2.1.14 There may be conflicts between team members

The team members of the development team have never been working together as a team. Because of this, there may be some conflicts that will happen among team members. 

2.1.15 Reviews may not be conducted regularly

Since the development team is very new to the Software Development process, the team may not realize the importance of reviews. Therefore, reviews within the Project's life cycle may not be conducted regularly.  Reviews may not have to be done weekly, however one or more reviews are always required when a document is finished to ensure the quality of the document.

2.1.16 Customer may change the Project's requirements

Most customers don't really know what they want as the requirements for the software, thus they may want to change the Project's requirements at unacceptable times. This could be early or very late in the Project's life cycle. If this happen, it will affect the whole Project Planning, which may cause major slippage. 

2.1.17 System may be down

Machines are not prefect either. The whole computer system may be down at unpredictable times. Depending on the length of time where the system may be down, it can affect the Project Plan and can case some major slippage.

2.1.18 Lack of experience working with a customer

The development team has never develop a software for a customer. Thus the development team may be lack of customer interaction skills. This could cause some misunderstanding between the development team and the customer, since both the customers and the development team may not know what is expected.  Also, the development team may not successfully create a good relationship with the client, thus a regular communication between the client and the development team could never be achieved.

 

3. Risk Mitigation, Monitoring, and Management Plan

3.1 Lack of training on Java

In mitigating the lack of training on Java, the research team must develop a research plan, which should show milestones when they will conduct the learning and research of the new language. Among the possible solutions to this problem are: 

      • Start research very early in the project life cycle. 
      • Start prototyping early, just to get the feel of how the language works. 

In monitoring the activities of the project, the following issues will be monitored: 

      • The prototype can be done by the due date as planned. 
      • Whether or not the design documentation is written based on Java. 

Risk management takes into account when the risk has occurred. When this happens, K-Team is required to take these actions: 

      • Acquire help from Java masters. This is usually the Client (i.e. Solid Software) and some University lecturers. 

3.2 Unrealistic delivery deadlines where slippage may occur

In mitigating the slippage that may occur: 

      • The development team must have a regular review of the Project Plan, this can probably be done in the team's regular meeting
      • The Project Manager must discuss the Project Plan in every Supervisor's meeting, to ensure that all the deadlines are set realistically.

In monitoring the activities of the project, the following issues will be monitored:

      • All the deadlines set in the Project Plan are met

Risk management takes into account when the risk has occurred. When this happens, K-Team is required to take these actions:

      • Modify the project schedule to account for any unforeseen delays.
      • Identify the root cause of the delay and ensure that any problems are adequately dealt with
      • Increase the amount of available resources
      • The re-allocation of available resources by streamlining other non-essential processes
      • If possible, the next phase of the project should be conducted parallel with the slipped phase.  A team will be allocated for this phase and the team members are expected to work hard to cover as much as they can so that slippage in one phase will only have a minimal impact in sub-sequent phase.  This has been proven to be working quite well as K-Team experienced a major slippage during preliminary design.  However by applying this strategy, even though K-Team failed to finished the preliminary design on time, the next phase (i.e. the test plan) was completed on time.

3.3 Staff inexperienced with the Software Process Development

In mitigating this risk, the development team must have considered these plans: 

      • Read a lot of books on Software Development Process 
      • Seek guidelines from the Supervisor and the Lecturer 

In monitoring the activities of the project, the following issues will be monitored: 

      • Whether K-Team follows all the Software Development Processes which are described in the Software Quality Assurance Plan 

Risk management takes into account when the risk has occurred. When this happens, K-Team is required to take these actions:

      • Seek guidelines and discuss it with the Supervisor
      • Do more research on Software Process Development 

3.4 Staff knowledge on networking concept may be low

In mitigating this risk, the development team must have a research plan, which shows all the milestones when the team does some research on the issue.  Among the possible solutions to this problem are:

      • Start research on the matter earlier than planned.
      • Hack up some Java networking codes early in the Project's life cycle, just to be more familiar with it.

In monitoring the activities of the project, the following issues will be monitored:

      • Whether the server prototype can be done on the due date as planned.
      • Whether the early prototype of the game can successfully be played over two computers, which are linked over a network connection.

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Discuss the associated risk with the client in a client meeting
      • Seek help from networking gurus (may ask the Supervisor for references)
      • Do more research on the matter
      • Addition of another person or two into the networking team

3.5 Lack of experience in Project Planning

The Project Manager manages the Project Plan.  In mitigating the risk associated with the Project Plan, the Project Manager must:

      • Have a regular Project Plan review with the Supervisor
      • Have a regular project Plan review with the rest of the team members so that the Project Manager can monitor what the others are up to

In monitoring the activities of the project, the following issues will be monitored:

      • Whether the Project Plan is actively been used
      • Whether all the deadlines projected in the Project Plan are met
      • Whether there are any objection from the team members on the due dates 

Risk management takes into account when the risk has occurred.  When this happens, the Project manager is required to take the following actions:

      • Arrange a meeting with the Supervisor to discuss  the Project Plan, before planning further ahead
      • Read more on Project Planning

3.6 Size estimate may be significantly low

In mitigating this risk, the development team must:

      • Start prototyping early in the Project's life cycle

In monitoring the activities of the project, the following issues will be monitored:

      • Check the difference between the size of the prototype and the estimated size of the project. 

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Discuss with the Supervisor and the Client of the probability of cutting down requirements if the difference of the estimated size and the prototype is huge
      • Re-estimate the project size based on the prototype done

3.7 Lack of availability of tools on University's Computing System

In mitigating this risk, the development team must:

      • Ensure that all the software and hardware tools required to complete the project are available, before the project begins
      • Check the availability of the software and hardware tools required to complete the project with the Supervisor

In monitoring the activities of the project, the following issues will be monitored:

      • The availability of the hardware and software tools required to complete the project by the due date

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Inform the Supervisor about this matter as soon as possible, since the project could be at risk of terminating if this risk does occur

3.8 Lack of availability of tools on Mac

Not every member of the development team is using PC to do the Project, some use Mac.  We all know that not all software tools that are available for PC are also available for Mac.  Therefore, in mitigating this risk, those members who are using Mac to do the project must:

      • Ensure that all the software and hardware tools required to complete the project are available for Mac, before the project begins
      • Check the availability of the software and hardware tools required to complete the project with the Supervisor

In monitoring the activities of the project, the following issues will be monitored:

      • The availability of the hardware and software tools required to complete the project by the due date

Risk management takes into account when the risk has occurred.  When this happens, the team members who are affected, are required to take the following actions:

      • Use University's Computing System to complete the task that they have to do using the required software tools that aren't available on Mac
      • Inform the Project Manager for the possibility of task re-allocation, so that team member can do their given task using whatever type of computer that they have at home

3.9 Quality of product documentation and coding that must be produced may be 
      low

In mitigating this risk, the development team must:

      • Try to finish every documentation of each phase very early in the project life cycle so that the documents can be carefully reviewed and modified to high quality documents
      • Discuss with the Supervisor of how documents are supposed to be layout and the contents of it, to know what was expected
      • Read the coding convention before start to do any coding.  The coding convention can be found in the SQAP (section 5.3)
      • Follow the documentation standards that are set out in the SQAP (section 5.2)

In monitoring the activities of the project, the following issues will be monitored:

      • Whether every documents produced are reviewed, preferable both internally and externally, if not, at least internally
      • Whether all documents follow the Documentation Format Standards, described in the SQAP (section 5.2)
      • Whether all coding produced follow the coding convention described in the SQAP (section 5.3)

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Arrange a review meeting immediately 
      • The Project Manager must assign one person to have a thorough and careful look at the specified document, to ensure that the document is of a good quality as a final
      • Arrange a time for the Supervisor to review the document or coding as soon as possible

3.10 Requirements demand a good knowledge on Artificial Intelligence

In mitigating this risk, the development team must:

      • Do a lot of research on the issue during the very early stage of the project's life cycle.  The Project Manager will assign a team member to focus on this matter

In monitoring the activities of the project, the following issues will be monitored:

      • Whether the prototype that involves any AI programming can be done by the due date and if it works satisfactorily

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Arrange a meeting with the Supervisor immediately to seek guidelines
      • Do more research on AI programming
      • The Project Manager to add another person to the AI team

3.11 Software may not be easily tested

In  mitigating this risk, the development team must:

      • Create a detailed Test Plan early in the project's life cycle
      • Conduct testing early in the project's life cycle

In monitoring the activities of the project, the following issues will be monitored:

      • Whether a sufficient time is given for testing so that bugs can be discover early, and be fixed on time

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Ensure that at least all the unit testing and integration testing are done
      • Meet with the Supervisor to discuss about the issue, and seek guidelines of what to do.

3.12 Log messages on modifications done on coding and documentation may not 
        be well controlled 

In  mitigating this risk, the development team must:

      • Write a detailed description of all the changes made for traceability

In monitoring the activities of the project, the following issues will be monitored:

      • Whether log messages on modifications done on coding and documentation are carefully done
      • Whether the log messages projected the changes made on the specific document or coding

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Arrange a meeting to discuss about this matter as soon as possible
      • Come up with a standard that all team members can easily follow

3.13 Unavailability of team members

In mitigating this risk, the Project Manager must:

      • Ensure that there is always an emergency person who can always take over or continue a specific task whenever the task assignee is not available
      • Organize a regular weekly meeting time, so that at least the development team meet once every week
      • Communicate with all team members frequently

In monitoring the activities of the project, the following issues will be monitored:

      • Whether all team members can attend to the specified meeting time

Risk management takes into account when the risk has occurred.  When this happens, the Project Manager is required to take the following actions:

      • Discuss the problem with the Supervisor
      • Contact the specific team member, who can't make it to the meeting, by phone or e-mail, and ask for a good reason why s/he can't attend

3.14 There may be conflicts between team members

In mitigating this risk, the development team must:

      • Respect one another
      • Strictly follow the Software Process Development, which are described in the Software Quality Assurance Plan

In monitoring the activities of the project, the following issues will be monitored:

      • Whether there are a lot of arguments happening during meetings
      • Whether there is still communication and co-operation between the team members 

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • The Project Manager should inform the Supervisor of the situation
      • Arrange a team meeting immediately, where all parties involved in the situation will be given a fair chance to present their respective cases.  A course of action to deal with the conflict will then be suggested, discussed, and voted upon.  Approval for the suggested course of action is indicated by a majority vote.  In the event of a "stalemate", the Project manager's vote counts as the equivalent of two votes
      • If the conflict has a major affect on the Project (e.g. causes major slippage), then appeals may be directed to the Subject Coordinator, Ed Kazmierczak.  This decision is final.

3.15 Reviews may not be conducted regularly

In mitigating this risk, the Project Manager must:

      • Set dates for reviews for each documentation that must be produced, in advance

In monitoring the activities of the project, the following issues will be monitored:

      • Whether a document is regularly updated
      • Whether there are minutes from review meetings of each document produced

Risk management takes into account when the risk has occurred.  When this happens, the Project Manager is required to take the following actions:

      • Re-do the Project Plan to make sure that a review is always conducted after a document is finished
      • Arrange a review meeting immediately if it's found that there are any documents that haven't been reviewed at all after it is completed

3.16 Customer may change the Project's requirements

In mitigating this risk, the development team must:

      • Meet with the Customer before the Project begins, in order to obtain a detailed listing of all project requirements, in order to maintain a minimal number of required changes (if necessary) later in the Project's life cycle
      • Maintain an open line of communication with the Customer in order to facilitate any changes that are required

In monitoring the activities of the project, the following issues will be monitored:

      • Whether the Customer have read the Software Requirements Specification document (SRS) carefully
      • Whether any special instructions are given from the Customer after the SRS  is signed by both the development team and the Customer
      • Ensure that the Customer is keep up to date with the team's progress

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • If there are changes in the Project's requirements, K-Team will arrange a meeting with the customer, and probably the Supervisor, to determine the nature of the changes.
      • Modify the SRS so that it reflects all the changes

3.17 System may be down

In mitigating this risk, the development team must:

      • Always make sure that weekly backup is done
      • Save their working as often as possible to prevent any lose of information

In monitoring the activities of the project, the following issues will be monitored:

      • Whether there are any slippage that occur due to system down

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • If this happens at the University, the development team must inform the system administration and ask for the possible time that the system will  be down for
      • If this happens at home, then the team member must inform the Project Manager immediately, so that the Project Manager can re-schedule for the specific task until everything is back to normal 

3.18 Lack of experience working with a customer

In mitigating this risk, the development team must:

      • Try to avoid miscommunication with the Customer that the development team has never worked with before
      • Have a regular way to communicate with the Customer (e.g. via e-mails, meetings or telephone)

In monitoring the activities of the project, the following issues will be monitored:

      • The availability of the Customer
      • The quality and frequency of communications with the Customer

Risk management takes into account when the risk has occurred.  When this happens, K-Team is required to take the following actions:

      • Seek guidelines from the Supervisor on how to obtain a good relationship with the Customer
      • Contact the Customer as soon as possible to clear up any misunderstanding that may have taken place

4. Documented Risks

4.1 Lack of training on Java

This is the very first time K-Team is working with Java.  Thus the knowledge on the language is very limited.  K-Team was aware that this is one of the most critical risks that the team will face in completing the Project, thus K-Team has prepared the Mitigation, Monitoring and Management Plan (see section 3.1) that the team will follow in order to avoid the risk from happening and how the team will manage the risk if it does occur.  This plan has been thought of and discussed during team meetings carefully.

K-Team has been following the contingency plan as described above in section 3.1.  K-Team started doing some research on Java 2 as early as April.  Prototyping could not be done as early as the team planned since Java 2 wasn't installed in the University's Computing System until the Semester break, which is around June-July. 

While prototyping, the Risk Manager started to monitor the team's activity to find out whether this particular risk has occurred or not.  To do this, the Risk Manager followed the monitoring plan of the risk, which was planned earlier (see section 3.1).

When the risk does occur, Risk Management plan takes into account.  K-Team's Risk Management Plan for the 'lack of training on Java' risk was for the team to acquire help from Java masters (i.e.. the Client) or University lecturers.  K-Team followed the management plan by arranging Java workshops with the Client, sometimes in June. 

K-Team found that it wasn't enough to manage the risk just by seeking help from the Client or University lecturers about the language.  Therefore, K-Team decided to assigned three dedicated team members (Victor Leung, Dean Cortinovis and Long Tang) to be the technical researchers (Java Masters), while the rest of the team focused on other things such as the Software Development Process and documentation.  The technical researchers would then keep the rest of the team updated about the language during general team meetings.

Overall this risk has been managed very well and carefully by the K-Team.

4.2 Staff knowledge on networking concept may be low

This is the first time K-Team is working on developing a Client/Server application.  Thus, K-Team realised that this would be one of the main risks that K-Team may encounter while completing the Project.  The Mitigation, Monitoring and Management Plan for this risk are described in section 3.4

K-Team followed the Mitigation Plan in order to avoid the risk from happening.  K-Team did the research on Java networking as early as possible. K-Team realised that this risk has occurred when the team failed to create the Server prototype on the due date.

Risk Management plan takes into account when the risk has occurred.  K-Team decided to assigned a team member to focus on the Server, while the other team members will focus on the other part of the coding and documentation, in order to avoid further slippages.  This approved to be working quite well, even though some more minor slippages occur along the way cause by other risks encountered. 

4.3 Staff inexperienced with the Software Development Process

This is K-Team's very first Software project, thus the whole Software Development Process that K-Team has to follow are still new to the team.  K-Team realised very early in the Project's life cycle that this could be one of the risks that K-Team may encounter while completing the Project.  Therefore, K-Team was prepared with the Mitigation, Monitoring and Management Plan for this risk (see section 3.3).

While avoiding this risk, K-Team followed the Mitigation plan as described in section 3.3.  The Project Manager ensured that every member of the team knows what are involve in the Software Development Process.  The Project Manager also seeks guidelines of what a good Software Development Process is from the team's Supervisor during meetings with the Supervisor.

At the start of the Project, K-Team failed to follow all the process described in the team's Software Quality Assurance Plan (SQAP), since K-Team wasn't really aware of what each process is for. 

K-Team realised that this risk has occurred just before the Semester 1 break.  The Project Manager then arranged a SQAP internal review meeting as soon as possible, to ensure that every team member has read and understand the document.  Ever since the internal review each team member always reminded each other when K-Team hasn't been following the process described the SQAP.

4.4 Unrealistic delivery deadlines where slippages may occur

Project Planning was another main issue that K-Team has never worked with before.  Thus at the start of the Project's life cycle, Project Planning wasn't very successful.  K-Team kept being confronted by unrealistic deadlines that caused slippages.

K-Team was quite aware of this risk, and has planned the risk's Mitigation, Monitoring and Management Plan (see section 3.2).  

In avoiding the risk from occurring, K-Team ensured that all the milestones in the Project Plan are well discussed in the team meeting and that the Project Manager should discuss the Project Plan with the Supervisor on each Supervisor's meeting.

K-Team had some major slippages that occurred while completing the Project.  While managing the risk, K-Team followed the Management plan, as described in section 3.2.   The Project Manager ensured that the Project Plan is being re-schedule to account for any unforeseen delays, and that, when necessary, re-allocation of tasks is done.

4.5 The size estimate of the 433-341 Project may be significantly low

In Semester 1, five out of six members of K-Team had to do 433-341 Software Engineering Process and Practice. K-Team wasn't aware that the Project given for the subject would be quite big, especially for a 30% worth of Project. The Project was on GNU_Make, and it was set out similar to the MultiMahjong Project. There were three deadlines:

          Project Plan and SRS     23 April 1999
          Design and Test Plan       7 May 1999
          Code and Test Report    21 May 1999

GNU_Make is a huge program, and the Project goal was to fix a subtle defect in the GNU_Make package. This required the Project's team to at least understand some of the coding, and this required a lot of time. Thus it became one of K-Team's critical risks.

This risk is not described in the K-Team's Project Risk Table, as K-Team wasn't aware of the presence of the risk. Thus, K-Team doesn't have any Risk Mitigation, Monitoring and Management plan for the risk.

In monitoring this risk, K-Team ensured that the deadlines of both projects are met, and that both projects were up-to-date.

Since the vast majority of K-Team was involved in the GNU_Make Project, while managing this risk, K-Team had to divide the Team into two. K-Team ensured that one team focused on one Project at the time, to ensure that major slippages would not occur on  both projects. 

4.6 Client may not be as enthusiastic about the Project as the team is

K-Team is very enthusiastic about the Project from the very start the project was assigned to K-Team.  K-Team thought that the Client would be too, however this doesn't seem to be the case.

K-Team tries the best to maintain a good communication with the Client.  However, the Client seems to make promises to K-Team, but never been satisfied.  For example, the Client promised that the team will be given the graphics of the Mahjong tiles as soon as possible.  This is quite critical since the team needs this graphics in order to complete the GUI.  This still hasn't been done until now, and that K-Team has to provide the graphics in order to complete the project.  K-Team wasn't prepared for this and thus it created some slippages along the project's life cycle.

K-Team wasn't aware of this risk at all, thus K-Team doesn't have the Mitigation, Monitoring and Management plan for this risk.  

In monitoring the risk, K-Team tries to ensure that the Client delivers all the promised goods by the due dates that are usually arranged during the team meetings with the Client.

While managing this risk, the Project Manager would discuss about the matter with the Supervisor, while the Client Liaison Officer would try to keep hassling the Client for all the things that the Client has promised to provide to the Team.  Where possible, K-Team would decide to get all the promised things themselves (such as graphics), instead of waiting and waiting.  This risk management has been proven to be working very well, since if the team just keeps on waiting for the Client's promised things, K-Team would not be able to be at the stage where the Project is at the moment.  K-Team would not even be able to get half of the final product done.
 

4.7 Size estimate may be significantly low

Since this is the very first time K-Team developed a full software, K-Team didn't really know the scope of the project.  K-Team was quite aware of this risk, and decided that this could be a critical risk, since if it does happen and the team doesn't have any Risk Management plan, it may cause major slippages.  Thus K-Team came up with the Mitigation, Monitoring and Management plan, as described in section 3.6.  

In order to avoid this risk from happening, K-Team decided to start prototyping at the very early stage of the Project's life cycle, as planned.  After doing a lot of research on Java and did some prototyping, just to get the feel of how Java works, K-Team realised that the team would not be able to meet all the requirements that the Client specified.  

While managing this risk, the Project Manager ensure that this issue is discussed with the Supervisor during the Project Manager meeting with the Supervisor, and also that the Client is informed if the situation.  The next step that K-Team did was to rewrote the team's Software Requirements Specifications (SRS) before the sign-off.  K-Team managed to cut down some of the Project's requirements, such as getting rid of the applet, and K-Team decided to change the layout of the SRS so that it now shows the requirements being divided into three levels.  Level 1 is for all the essential requirements, level 2 consists of all the highly desirable requirements and level 3 for all the desirable requirements (see SRS section 4).  

The Client agreed with the changes and that K-Team would only need to satisfy all the level 1 requirements.  


Other Documentation