IS480 Team wiki: 2012T2 box.us Project Management

From IS480
Jump to navigation Jump to search


Home Stakeholders Project Overview Project Management Documentation Learning Outcomes Useful Links

Team Box.us is a project team that consists of 6 individuals with varying (and complementing skillsets). The team set out with the following beliefs to achieve at the end of the project:

  • Create value for organizations - Value could be business value and also social value to our sponsors.
  • Sustainable implementations - Our team believes in having projects that would be sustainable and be able to bring value to the organizations in a long run
  • Team Learning - Our team believes in learning during the entire development process so that the experience would be enriching for the organization, the team and the individuals invovled.

Project Scope.jpg

CONCEPTUALIZATION (07/10/2012 - 27/10/2012)


DEVELOPMENT (28/10/2012 - 17/02/2013)


DEPLOYMENT (18/02/2013 - 31/03/2013)

Deployment Process Boxus.jpg


Error creating thumbnail: File with dimensions greater than 12.5 MP
Our Project Schedule

Although we are developing on two platforms (web and mobile app), we would be running both developments in parallel, so as to identify blindspots in terms of development that could arise due to our lack of experience in development on iOS platforms.

Project Milestones

Milestone Description Date Features
1 Project Initialization 21/10/2012 Understand what features needs to be within the web application.
1 21/10/2012 Understand what features needs to be within the web application.
1 Requirements Gathering Completed 21/10/2012 Understand what features needs to be within the web application.


  • Project Initiation Completed - 07/10/2012
  • Requirements Gathering Completed - 21/10/2012
  • Acceptance Reached - 05/11/2012
    • Manage Account
    • Manage Profile
  • Prototype Completed - 24/11/2012
    • Manage Questions
  • Post Tasks Completed - 02/12/2012
    • Manage Tasks
    • Matching Mechanism is being tackled here
  • Notifications Completed - 16/12/2012
    • Manage Messages
  • System Admin Completed - 30/12/2012
    • Manage System
  • Search Completed - 13/01/2013
    • Manage Search
  • Volunteer Activity Records Completed- 20/01/2013
    • Manage Records
  • User Feedback - 27/01/2013
  • Feedback Improvements Completed - 10/2/2013
  • User Acceptance Test - 17/2/2013
  • Post Mid Term Feedback Completed - 17/3/2013
  • Handover Completed - 31/3/2013
  • Poster Day Completed - 26/04/2013


Project Schedule on Google Docs


  • To ensure that all project tasks are completed on time and milestones are met.

Schedule Ratio = Actual Time / Planned Time

Schedule Ratio Description Response
> 0.8 Team is ahead of schedule Proceed to embark on the next task if possible
0.8 - 1.2 Within healthy schedule range No actions required for ratio above 1.
Keep close monitor on tasks that have a ratio of less than one.
< 1.2 Team is behind schedule Team is behind schedule. Project Manager identifies root cause and allocate more time to complete tasks in the next iteration.


  • To minimize the number of bugs that surface during the duration of a sprint and thus ensuring the quality of the application.
  • A bug is defined as errors in code that causes system to behave differently from expected.


Bug Score = (2 X Total No. of Low Severity) + (4 X Total No. of Medium Severity Bug) + (8 X Total No. of High Severity Bug)

Severity Score Severity Level Description
2 LOW Errors that lies with user interface. Features can still work, but not as what is expected.
4 MEDIUM Errors that prevent an entire feature from working
10 HIGH Errors that prevent more than 1 feature from working
Bug Score Action Plan
6 and below Developers resolve issues within the iteration
7 - 9 Schedule debugging in the buffer of the iteration.
10 and above Priority goes to resolving bug. Project Manager reallocates task for debugging team to focus on debugging.

Sponsor Sourcing

Before everything, we have to find a sponsor. Learning from our past experiences, the team has developed a guideline for sourcing the sponsor. The guidelines are as such:

  • The Motivation: What is the need?
  • The Idea: In short, what is the idea about?
  • The Solution: How would the idea help to solve the need
  • The Scope: What is the focus of the project? The differentiating factor? The X-Factor of the project?
  • The Implementation: Do we have the technical ability to deal with the project?

At the end of this iteration, the team would have a clear idea of what the scope of the project is about and the high-level steps of what needs to be done to get there.

Agile Development

It's all about agility. Our team aims to mimic as close as possible to real-world software engineering experiences. As such, our team has decided to adopt the Agile Development Process that is flexible and meaningful for the entire team. Our iterations are planned as such:

Iteration 0 : Project Initiation

This is a time for our team to learn as much as possible in the following areas:

  • Project Plan - How are we going to get to the end?
  • Technical Walkthrough - What are the tools, knowledge, help and expertise that are available?
  • Business Value - What value do we bring?
  • Justifications - What would help to solidify our reasons for the project?
  • Team Bonding! - All work, no play, and you would hate your FYP. This is a time for the team to go through the initiation and storming phase, where we be honest about our doubts and fears and limitations and also strengths and confidence in the project.

At the end of this phase, the team would have established its project plan, roles and responsibilities and the baseline project schedule. The project manager would then send an update email to the supervisor, to the client and update the wiki.


Iteration 1 : Gather Requirements

The focus of iteration 1 is to commence on requirements gathering. The requirements gathering phase is the most important phase because it is where we establish the baseline from which all communications would stem from and also it is the first time that all the different parties get to synergize and work with one another. During this phase, the team seeks to answer the following questions:

  • What is the scope of the project?
  • Who are the target audience?
  • What are the use cases?
  • What are the functionalities that needs to be done?
  • What are the non-functional requirements that we need to adhere to?
  • How does the client want the user interface to look like?
  • How are we going to handover the project?

At the end of this phase, the team would have established its use case scenarios, user storyboards and functionality list. This would all be placed into a requirements document. The project manager would then arrange for a meeting with client to clarify the use case scenarios, the user storyboards and the functionality requirements.

Should there be any major changes to the requirements, rectifications would be made. Depending on the scope of the project, the team might increase the no. of iterations of requirement studies needed.

There are few sources of change for the project itself. Depending on the initiator of the project change, change control processes would have to be taken into consideration.


Requirement Change

Requirement changes are modifications, additions, deletions of requirements stated in the latest version of requirements documentation. In this case, sponsor and supervisor would be noted. Response from supervisor and sponsor would be sought before decision is sealed.

System Design Change

System changes are modification, additions, deletions to the system architecture and detail system design as stated in the latest versions of system architectural documentations and technical infrastructure documentations. Depending on severity, response from supervisor might be sought before decision is sealed.

Team Process Change

Team Process changes are modifications, additions, deletions to the existing team processes as stated in the latest versions of project management plan and software configuration management plan. In this case, supervisor. Supervisor would be informed.


Following the feedback given by our supervisor, we have come up with the revised change process:

  1. Change initiated by external party
  2. Project Manager informed of change
  3. Project Manager makes decision of change and decides if team meeting is needed
  4. Project Manager informs team supervisor and sponsor(only if necessary)
  5. If team meeting is needed, meeting is scheduled, else team would be informed of change once decision made
  6. Change decision is being made known to supervisor
  7. Change implemented and decision is made known to team, supervisor and sponsor(if necessary)


Changes that are formalized and agreed upon by team, and stakeholders if necessary, would be recorded in the respective documentation by Project Manager, Deputy Project Manager or Business Analyst. Followup actions of changes made to project and team would be tracked by the Deputy Project Manager.

Our team's risk management plan is centered around early detection.

Risk matrix.gif
No Type Risk Consequence Likelihood Impact Level Risk Assessment Level Mitigation Strategy


Unfamiliarity with mobile development frameworks required for the project

  • Inability to make decision about best framework to use
  • Slow project progress because of unfamiliarity




  • Conduct research on possible mobile development technologies and consult peers and supervisors for advice on which framework to use, in view of mobile app's scope
  • Development of mobile application in parallel with web application to highlight any possible loopholes and to buffer for any major changes needed early.


Group members making assumptions of technical scope required within the project

Inaccurate estimates of time required to complete tasks that leads to unreliable project deadlines and milestones




  • Lay down milestones, deadlines and tasks to do with team before the start of every iteration and review estimates together as a team
  • Project Maanger to actively manage the overrun of schedule through tracking of metrics


Difference in understanding of terminologies and terms used in describing the business process (e.g. task, questions, assignments)

Confusion over terms that may lead to the wrong picture being conveyed between client and team




  • Implement a project dictionary where common terms of use are being recorded down
  • Proactive logging down of common terms of use in the project dictionary


Change in volunteer matching business process during the development of the system

Decrease in value of system brought to the business.




  • Analyse client's As-Is Process and verify with client about current As-Is Model
  • Consider longevity of the system during the design of system


Multiple users working on the same files resulting in conflicting versions of documentation

Loss of information or mismatch in understanding




  • Segregating editing responsibilities - Business Team to edit business related documents while Technical Team to edit technical-related documents
  • Use of Subversion during the committing of code. Lead Developer would be responsible for any code conflicts.


Hardware and software failure during the development of the project.

  • Failure of hardware would cause latest work that is being developed to be lost.
  • Redundancy and repetition of work is necessary in order to keep up to the pace that is being set by the schedule in the event of a software and hardware failure.




  • Save development codes onto Subversion
  • Business Analyst to do a weekly backup of all documents and source code.


Different workloads and committment in team due to varying workloads and outside commitments

Inaccurate allocation and expectation of team and project manager upon each team member, obstructing accurate time estimation and affects schedule allocation. Unhappiness in team due to unfair work allocations throughout the entire project




  • Set expectations instead of micro-managing how work would be done by individuals
  • Schedule shorter iterations to ensure that targets are met and not piled up.
  • Allocate common coding sessions to allow team to ensure accountability and transparency


Misunderstanding of technical requirements between client and project team as clients are not technically-inclined

Re-doing of development work as a result of mismatched expectations between different parties, leading to time wastage




  • Conduct requirements clarifications before the start of every iteration between team and client to clarify the requirements
  • Using process flow diagrams and storyboards to communicate features with client and team.
  • Discuss about feature design before each development session
  • Recommend and propose technical requirements to client