HeaderSIS.jpg

IS480 Team wiki: 2010T2 Fission1: Project Progress Summary

From IS480
Jump to navigation Jump to search
Fission1 Logo.jpg

Project Progress Summary

Overview


Our project is currently behind slightly behind schedule as we have met some difficulties with customizing and modifying several Drupal modules. However, we have completed 36/44 (~81%) of our supported use cases and (with the extra time available in Week 8) are on track to complete all core use cases by Week 8. From there on, we would be largely doing themeing (the drupal way of doing UI/layout) and making minor UI changes to our developed functions.

Unexpected Events That Occurred


  • Team members falling sick
  • Team members too busy with other work
  • Underestimating the time needed to modify existing Drupal modules and integrating with other Drupal modules
  • Instructions available online were helpful with what we needed to do
  • More personal time was allocated to complete the modifications
  • Database corruption
  • Drupal stores most settings via MySQL, and occasionally, we made errors that 'spoilt' the entire website
  • Site has been split into 3 - Dev, Staging, Live.
  • Database backups are now done on a regular basis (Mon, Wed, Fri, Sun)
  • Requirement changes
  • Silverlight & Deep Zoom was found to not be good match for the Video Banner, as there is not enough content to make it look impressive
  • Content for the banner is currently served via a jQuery-based Banner


Project Status

Video Banner Status


Use Case Status Confidence Level (0-1) Comment
View Slide 100% 1 Completed
Play YouTube Video from within Banner 100% 1 Completed
Pause YouTube Video 100% 1 Completed
Adjust YouTube Video Volume 100% 1 Completed
Play YouTube Video in full screen 100% 1 Completed
Choose Next/Previous Slide 100% 1 Completed
Link out to YouTube Video 100% 1 Completed
Create New Slide 100% 1 Completed
Modify Slides 100% 1 Completed
Current Video Banner has been rejected again. Will be working on a different form of video banner starting on the end of this week.
New Video Banner will be based on the old Highlight Article Drupal module as it is easier to customise a theme for it.


User Management & Site Administrator Status


Use Case Status Confidence Level (0-1) Comment
Register INSG Account 100% 1 Completed
Login via INSG Web Site 100% 1 Completed
Link Facebook Account 100% 0.7 Completed; need to check with existing user account
Link Twitter Account 90% 0.7 Still undergoing testing
Log in via Facebook 100% 0.9 Completed
Log in via Twitter 100% 0.8 Still undergoing testing
Change password 100% 1 Completed
Reset username/password 100% 1 Completed
Prompt to create INSG account if Facebook/Twitter account is not linked 70% 0.5 Prompt process is not consistent. Might drop feature or implement our suggested workaround.
Admin manually create accounts 100% 1 Completed
Edit account types (User to Admin) 100% 1 Completed
View own Profile Page 0% 1 In progress
View other user's Profile Page 0% 1 In progress
View personal posts 0% 1 In progress
View other user's posts 0% 1 In progress
View personal badges 0% 1 In progress
View other user's badges 0% 1 In progress
Ban/Mute Users 100% 1 Completed
Delete Users 100% 1 Completed


Wall Status


Use Case Status Confidence Level (0-1) Comment
View Content 100% 1 Completed
Create Text Post 100% 1 Completed
Create Pic Post 100% 1 Completed
Create URL Link Post 100% 1 Completed
Rate Posts - Like 100% 1 Completed
Delete Posts 100% 1 Completed
Edit Posts 100% 1 Completed
Share Posts to FB/Twitter 95% 1 Sharing currently doesn't give a pop-up window.
Will fix by next iteration
Report Offensive Posts 100% 1 Completed


Badges Status


Use Case Status Confidence Level (0-1) Comment
Add New Custom Badge 100% 1 Completed
Edit/Delete Custom Badge 100% 1 Completed
Manually Assign Custom Badge to users 100% 1 Completed
Earn Behavioral Badges through Post & Comment Count 90% 1 In progress
View Other Users' Badges 30% 1 In progress
View Badge List 0% 1 In progress
View Others with same badge 0% 1 In progress
View Badges not earned in the same category 0% 1 In progress


Project Management

Project Schedule (Plan Vs Actual)


Compare the project plan during acceptance with the actual work done at this point. Briefly describe a summary here. Everything went as plan, everything has changed and the team is working on a new project with new sponsors or the supervisor is missing. A good source for this section comes from the project weekly report.

Provide a comparison of the plan and actual schedule. Has the project scope expanded or reduced? You can use the table below or your own gantt charts.

Things to Know


  • We are able to work on separate functions for our project (see critical path below)
  • Completion Date = Deployed Date


Fission1 CP.jpg

Iteration 1


Proposed Actual Remarks
Task Date Task Date Var (Days) Status
Silverlight Video Banner
Load Video 07 Jan Load Video 07 Jan 0
Play Video 07 Jan Play Video 07 Jan 0
Stop Video 07 Jan Stop Video 07 Jan 0
Mute Video 07 Jan Mute Video 07 Jan 0
Adjust Video Volume 07 Jan Adjust Video Volume 07 Jan 0
Full Screen 07 Jan Full Screen 07 Jan 0
Deep Zoom 14 Jan Deep Zoom 12 Jan -2
User Management & Administrator
Customise User Information 05 Jan Customise User Information 05 Jan 0
Customise Activation Email 07 Jan Customise Activation Email 05 Jan -2 Drupal core functionality
Ban/Mute User 12 Jan Ban/Mute User 05 Jan -7 Drupal core functionality
Delete User 14 Jan Delete User 05 Jan -9 Drupal core functionality
Password Change 14 Jan Password Change 05 Jan -9 Drupal core functionality
Reset Password 14 Jan Reset Password 05 Jan -9 Drupal core functionality
Wall
Turn on edit/delete for Admin 05 Jan Turn on edit/delete for Admin 14 Jan 9 Late deployment onto Dev Site
Turn on edit for R-Users 05 Jan Turn on edit for R-Users 14 Jan 9 Late deployment onto Dev Site
Share to FB 07 Jan Share to FB 17 Jan 10 Late deployment onto Dev Site
Share to Twitter 07 Jan Share to Twitter 17 Jan 10 Late deployment onto Dev Site
Rating - Like/Dislike 14 Jan Rating - Like/Dislike 21 Jan 7 Late deployment onto Dev Site
Badge System
Add Users Points Module 05 Jan Add Users Points Module 14 Jan 9 Environment setup difficulties
Configure Users Points Module 07 Jan Configure Users Points Module 14 Jan 7 Environment setup difficulties
Add Users Badges Module 12 Jan Add Users Badges Module 14 Jan 2 Environment setup difficulties
Configure Users Badges Module 14 Jan Configure Users Badges Module 14 Jan 0
Milestone 1 - INSG Alpha 1 Release / 19 Jan


Iteration 2


Proposed Actual Remarks
Task Date Task Date Var (Days) Status
Highlight Article
Create Content Type 19 Jan Create Content Type 28 Jan 9 Late deployment onto Dev Site
Create View 21 Jan Create View 28 Jan 7 Late deployment onto Dev Site
Create DDBlock Instance 21 Jan Create DDBlock Instance 28 Jan 7 Late deployment onto Dev Site
Cleanup + Create Sample Article 28 Jan Cleanup + Create Sample Article 28 Jan 0
User Management & Administrator
Integrate FB Connect 21 Jan Integrate FB Connect 21 Jan 0
Integrate Sign in with Twitter 21 Jan Integrate Sign in with Twitter 21 Jan 0
Cleanup + Modify Views 28 Jan Cleanup + Modify Views 28 Jan 0
Make Processing consistent 28 Jan Make Processing consistent 28 Jan 0
Themeing
Add Facebook Like Book 19 Jan Add Facebook Like Book 14 Jan -5 Early deployment onto Dev Site
Create User Theme 21 Jan Create User Theme 21 Jan 0
Create Admin Theme 28 Jan Create Admin Theme 28 Jan 0
Display Micropublisher Items 21 Jan Display Micropublisher Items 21 Jan 0
Adjust Font Sizes 22 Jan Adjust Font Sizes 08 Feb 17 Late from last Iteration + Bugs
Modify Layout 28 Jan Modify Layout 08 Feb 11 Late from last Iteration + Bugs
Badge System
Create New Badge 21 Jan Create New Badge 22 Jan 1 Late deployment onto Dev Site
Manually Assign Badge 28 Jan Manually Assign Badge 22 Jan -6 Early deployment onto Dev Site
Milestone 2 - INSG Alpha 2 Release / 02 Feb


Project Metrics


We, previously, had 2 metrics in which we measure our progress and the stability of our product.
Unfortunately, after going through 2 development iterations, we have found that the metrics have been ineffective, mainly because:

  • Completion of the functions in our project is different from function-to-function and feature-to-feature
  • We work on different functions, and on separate iteration paths

Hence, we now basically measure ourselves up based on data that we have collected below and ensure that they do not hit a critical threshold.

Schedule Data


Our collection for schedule data basically measures how far behind/ahead of development we are. This is measured against the completed/uncompleted use cases that we had set out to support for our project.

Since we work on separate functionalities, it is unfair to measure the entire project's development progress via a fixed metric. Instead, what we do is to measure the individual features and development paths and compare it with the Proposed Completion Date. The further behind schedule you are, the more time you have to spend on development.

From the Proposed-vs-Actual table above, we can say that except for the Wall Feature, all our other development features and functions are going on as scheduled. To address the lag time for the Wall Feature, we have discussed for the removal of a specialised Admin Theme for our project. The member working on the Wall Feature would remain until her work is completed. Also, since the Video Banner has again been rejected (completion date: Week 8), the member in-charge of the Video Banner function will increase work hours to complete it.

Active Bug List


Typically, our bugs are:

  • Isolated within separate features
  • Do not break any functionality
  • Result of “imperfect” customisation to what the client wants
  • Unfixed Drupal bugs that developers have not addressed

Our bug management process is as follows:

  • Bugs will get priority if:-
  • Result of module-to-module integration
  • Content display or input related
  • PM will decide if the bug should be fixed now, or next iteration


From the below image, it can be seen that most of our bugs are Class C bugs (ie, they cause minor irritations and no functionality breaks).
Hence, it is alright to move on to the next iteration instead of halting development just to ensure a bug-free product (for now).

Fission1 Bugs.jpg

Delayed Fix


Fixed Status Category Severity Difficulties Priority Date Assign To Description Steps to Reproduce
Delayed Module 2 2 4 26 Jan Heng Pei When I tried to send a private message to a user without a registered email (e.g. an account (ffision1) that is created with Twitter sign in), there is an error displayed saying "Cannot send mail". The message is sent but mentioned that there are escalated priviledges. However, there will not be a problem if it is sent to an account with a registered email. Delay fix. Privatemsg module currently not added. Will fix when Privatemsg is added again.
  1. Go to "My account"
  2. Send a private message to ffission1 user
Delayed Module 1 2 2 27 Jan Gabriel Highlight Article is not opening into a new pop up. Bug fix delayed. Will fix eventually as Highlight Article is now abandoned.
  1. Choose any Highlight Article
  2. Click on read more
Delayed Module 1 1 1 02 Feb Sophie Big badge image is not resized when uploaded.
  1. Log in as Administrator
  2. Add a badge
  3. Upload megasized badge


Project Risks


Risk Probability Impact Level Mitigation
Data in DB gets corrupted when one of us makes a deployment error Medium Low C
  1. Regular DB backup maintained by Sophie, dump files are added to SVN
  2. Site divided into 3 - Dev, Staging & Live - to prevent future total corruptions
  3. Members made aware of problem, will make backups before installing new functions
Not achieving 100% consistency with Facebook & Twiter Alternate Sign In High Low B
  1. Workaround situation prepared
  2. Client briefed on details of workaround (agree-able to our solution)
  3. Estimate costs for other options
Academic commitments interfering with development process Medium Medium B
  1. FYP-only day instituted
  2. Arrange schedule to complete heavily-part of FYP before Week 8
Hitting a Drupal problem we cannot fix Low High B
  1. Identified channels (Drupal IRC, Drupal forums, module forums) where we can ask for help
  2. Had already spent some time to scope out the capabilities of the modules used
Change of Project Requirements Low Medium C
  1. lient is clear with what they want - functionality-wise
  2. Client is clear with our capabilities and what we can achieve
Deployment issues when migrating from Apache to IIS Servers Medium High A
  1. Have done sufficient research on the procedures and changes needed to be made
  2. Drupal deployment on IIS has been well documented online
  3. Had several simulations of Drupal deployment on IIS


Technical Complexity


  • Wall Functions
  • Alternate Sign In
  • Video Banner [based on previous iterations of the banner]
  • Themeing
  • Badges


Quality of Product

Intermediate Deliverables


Specification Modules
Project Management
Minutes Client Meeting Minutes

Minutes 1 ( 29 September 2010)
Minutes 2 ( 04 November 2010)
Minutes 3 ( 18 November 2010)
Minutes 4 ( 03 December 2010)
Minutes 5 ( 12 January 2011)
Minutes 6 ( 21 January 2011)
Minutes 7 ( 27 January 2011)
Minutes 8 ( 1 February 2011)
Minutes 9 ( 9 February 2011)

Supervisor Meeting Minutes

Minutes 1 (01 December 2010)
Minutes 2 (14 January 2011)
Minutes 3 (28 January 2011)

Team Meeting Minutes

Project Acceptance Debrief ( 30 December 2010)

Bugs Bug Metrics
Schedule Schedule Metrics
Requirements
Functional Requirements

User Requirement Specification

Analysis
Use Case

Use Case Diagram

Screen Shots

Old & Current UI

Design
UI Design

Workflow & UI Design
Planned UI

Testing
UAT Test Plan

UAT Instructions


Deployment


Currently, the Dev-version of our site is hosted, you can visit with the links below.

Our Staging and Live sites are not ready for access or testing as our code has not reached a level of maturity stable enough for deployments on those sites.

To access the non-admin features of our project, the following account details could be used:

  • Username: SampleUser
  • Password: SamplePassword


External Links:

  • Click here to visit the Dev-Version Site.
  • Click here to visit the not ready Staging Site.
  • Click here to visit the not ready Live Site.


Testing


Over the course of our project, we would be conducting a minimum of 3 UAT sessions:

  1. Half-time UAT Session
  2. End Development UAT Session
  3. Hand-over UAT Session


Half-time UAT Session


We currently split our tester audience into 2 groups for our half-time UAT Session:

Full System Testers

  • Consist of client users (3) & other FYP friends (6)
  • Test both User & Admin functions and use cases

UI Testers

  • Currently consist of 9 completed tests
  • Purpose is to get feedback on the general feel and ease-of-use for users


Reflection

Team Reflection


  • Drupal & Content Management Systems
  • The importance of expand-ability
  • Understanding someone else's codes
  • Understanding the needs for a public deployment


Gabriel's Reflection


I've always been a control freak; there are times that I control group discussions, I control what and how people contribute, sometimes I even go down to the code level and ask for changes to make it more "efficient" or "correct". Unfortunately, for FYP, I can't do that, mainly because there isn't enough time for stick my nose in everything.

Hence, my greatest lesson, and also difficulty, for FYP is to 'let go' and trust the quality of my group mates work and their personal commitment into a project. I guess, beyond gaining some experience with project management and with Drupal, this FYP is an opportunity for me to manage and learn how to become less of a control freak. Which is not easy (in fact, it's bloody difficult!).

Seow Theng's Reflection


So far, there is good team cooperation and everyone is working on assigned task diligently. I feel that the major difficulty which I encountered during the development phase is trying to understand the codes of existing drupal modules so as to find out where I could begin the modification as well as how the module actually work. I need to find out which files are modifiable and which is not. I would say that understanding other's people codes and then make modification is not easy.

The other major difficulty which I encountered is theming the entire site. I'm neither a very creative nor expert in designing the entire site's look and feel. I have provided several design such as site design, logo design, and trademark design to client but until now they did not give me a direct answer as to what color they preferred for the site as well as which design they like best for the site. Most of the time, they are giving me advise as to which is a good website to "copy" their design and layout.I find it hard to deliver a site layout and design which will make them happy. I start to think that this entire project somehow got shifted to more designing then technical which I feel it is not right.

Drupal theming is also not as easy as people perceive because they are not like normal HTML pages which you could hard-code stuffs. For Drupal theming, I need to understand the codes which aligned each elements in a page and the correct region which will be displaying the blocks. I also need to find out how to create regions as well as custom pages using PHP.

Heng Pei's Reflection


We are appreciative of the fact that we have weekly meetings with the clients. Hence, we are able to detect early which changes are necessary to best suit the needs of our clients. Looking through many layers of codes and trying to understand them takes quite some time before I can figure which part to add/change code. Drupal has its defined hooks which are internal events so we also have to understand the Drupal API before we can make code changes.

As the client liasion, I have learnt the discipline to send weekly reminders to the clients as well as team internal meetings. The greatest takeaway so far is to manage the clients' expectations. This is because we are expected to show something new or make changes to existing feature everytime we meet them but we also have to juggle with our increasing academic workload as the weeks progress. We are very motivated to make changes according to the feedback of our clients.

Sophie's Reflection


From the beginning, I have had quite a lot of difficulties with setting up the application and catching up with other people's progress. I greatly appreciate the guidance from my teammates as well as the encouragement from the supervisor and clients. Currently, I have acquired some important knowledge of the Drupal modules, especially those related to the Badge system. The most difficult thing that I am encountering right now is the user interface, on how they will view the badges that they have earned, and other users' badges within the homepage and the user profile page.

But I have a strong belief that I will be able to do it. I think as long as we put more effort and have a good time management skill, we will be able to finish the project to the best quality. About our team, we are not as close as I expected. We are getting busier and busier with our academic workload and worries for the internships, career, money. However, during our meetings, we are still having fun such as asking PM to be our waiter (buying lunch for everyone), making fun of PM's long hair ^^ errr... while integrating our coding parts.

Dit Ching's Reflection


This project allows me to understand a little bit more of the modular concept behind drupal powered sites. Although it is supposedly to make content manager/developer’s life easier, it does take a lot of time to learn and build as well. To unlearn and be open to re-learning is an extremely important factor as its framework is totally different from anything else that we have ever learnt before; and the modules are developed by thousands of other drupal developers around the world. There are a lot of customisations to be made for this project and to run through that thousands of codes / files developed by unknown people would really be time-consuming and overwhelming but I believe it will be a rewarding experience. Project aside, initially the team was reluctant to take any sort of risk (to integrate codes and work together from the same repository) and worked on the functions in silos instead. It turned out that we were not functioning as efficient as we wanted to. Instilling trust, clear communication, and developing interdependency are the fundamental keys to productive teamwork. Without any of these, the team will all fall apart -- which is of course, will not happen to Fission1.

Click here to return to main page.