Difference between revisions of "IS480 Team wiki: 2011T1 Victorious Secrets"
Line 575: | Line 575: | ||
== Software and APIs == | == Software and APIs == | ||
− | <font color="grey"> | + | <font color="grey">Programming Language & API:</font></b> PHP / JQuery / Drupal API / OpenAmplify API / phpBB API / GoogleMaps API / Google Translate API / Javascript / CSS / Facebook API |
+ | |||
+ | <font color="grey">Development Platform</font> Eclipse IDE | ||
<font color="grey">Web Service:</font> Mibbit IRC / MolloM (Spam Filtering) | <font color="grey">Web Service:</font> Mibbit IRC / MolloM (Spam Filtering) | ||
Line 581: | Line 583: | ||
<font color="grey">Database:</font> MySQL / SQLyog | <font color="grey">Database:</font> MySQL / SQLyog | ||
− | <font color="grey">Server:</font> Apache HTTP Server | + | <font color="grey">Server:</font> Apache HTTP Server / Subversion / Tortoise SVN |
<font color="grey">Project management:</font> Redmine / Wikipedia | <font color="grey">Project management:</font> Redmine / Wikipedia |
Revision as of 13:35, 16 September 2011
Contents
- 1 Welcome to Victorious Secrets Team Wiki Page
- 2 Project Overview
- 3 Stakeholders
- 4 Project Plan
- 5 Mid-Term Wiki
- 6 Project Modular Development Libraries and Resources
- 7 Project Risks Management
- 8 Project Quality Management
- 9 Project Task & Schedule Management
- 10 Project Documentation
- 11 Project Live Demo
- 12 Learning Outcomes (LOMs)
- 13 Software and APIs
Welcome to Victorious Secrets Team Wiki Page
Our Team Members
Contact details:
Project Overview
Project Description
This project involves developing a one-stop web portal which caters to both current and prospective international students who are seeking their education in Singapore in either the public or private sector. The main audience of this portal, however, it is focusing at tertiary students who have their formed set of beliefs, thus experience greater difficulty in adapting to the local culture. The portal will be serving as a communication platform which will bring both international students and local students together and through discovering their common interest and passions, the local students can help the international students to integrate themselves into the local community. The portal will also integrate popular socializing tools, such as Facebook and Twitters to draw the attention of local students and move international students to get in touch with their local counterparts.
Motivation
Being an education hub in the region, Singapore has always been the hot spot attraction for many students. Our structured education system, our pool of strong education professionals, together with numerous schools catering to different education levels, among many other reasons, have given Singapore the title of an education hub. Numerous students hailing from all over the world, especially from the Asia region such as China, Philippines, Indonesia, Vietnam, India and Thailand, have headed to Singapore to obtain their certificates – O-levels, A-levels, Bachelor degrees, Master degrees and even Doctorate degrees. Singapore's drive to become a global education hub has led to an annual increase in the number of international students studying in Singapore, with the figure expected to hit 150,000 by 2015. International students have to deal not only with administrative matters such as student passes and lodging, but also leading a health social life such as integration with the local community and assimilation to the social norms.
With the increasing number of international students in Singapore, we have noticed that there is no one-stop platform providing these international students with up-to-date information on Singapore’s education, local culture, laws, and other issues that they are concerned with. These issues can simply be solved by knowledge sharing among themselves or with local students most of the time. This limits the learning opportunities for them and leads to a less fruitful experience than they otherwise could have led. At the same time, it is also found out that many of these international students fail to integrate into the Singaporean community. This can be due to various reasons, including language and cultural barriers. These international students end up only interacting with others from their home country. International students study in private institutions are more prone to such issues, as there is minimal school level integration and nor they have cohesion support groups that public institutions such as NUS, NTU and SMU provide.
Objectives
Our project sponsor Mr. Koh, over his many years of teaching at private local institutions, realized that there is a worrying knowledge gap that exists in the international students which prevent them from integrating into the local community. The root cause is that there is no common interface between the international students and the local community where a channel of communication does not exist. International students seldom have chances to communicate with local students outside of classroom. The situation is more intense in the private sector where international students almost form the entire class.
Our project will create an online portal for these international students. The online portal consists of a forum, education related information and materials, a comprehensive education directory with school search, an event organizer, to name a few. The aim of this portal is to allow potential international students to get a better understanding of Singapore’s education system, the schools available and other necessary information to prepare them for their long stay in Singapore. At the same time, this portal allows international students in Singapore to gather, to communicate, to share ideas, and most importantly interact with each other. We hope the portal can serve as a networking tool which can benefit these international students in the long run by opening up more opportunities for them.
The portal aims to fill up the knowledge gap by providing opportunities for the students to organize or participate in various community services / events and get into touch with both local and international students. The portal will also serve as a platform for these students to share their views and passion on many different topics and share a group blog, forum, and find like-minded individuals for future collaboration efforts.
X-Factor
- A community project which will benefit the rapidly growing international student sector in Singapore
- Use Drupal 7 to build the website / community portal with various customized functions / modules which covers a wide spectrum of topics
- Integrate popular socializing media such as Facebook by enabling users to login using their Facebook account
- Implement custom-coded content personalization to actively push site contents to members based on their site browsing history and activities
Stakeholders
Role | Name |
---|---|
Sponsor / Client | Jonathan Koh – Founder, Grace Education International |
Supervisor | Professor Zheng Baihua |
Reviewer | Professor Archan Misra |
Project Plan
Portal Features
Core Features | Descriptions |
---|---|
Group Forums | Registered users can post and reply to threads in different interest based sub-forums within the site |
School Search | Users will be able to search through a database listing courses provided by different education institutions in Singapore. Details of schools such as their location, level of study provided, contact details, courses provided are available. |
School Review | Users will be able to post reviews and rate the different schools and courses available. |
Event Organizer | Users will be able to organize events and invite other users within the community/portal to the event. There will be email event notifications provided to users who have registered for the event as well as a map functionality to indicate event location. Users will also be able to view an aggregated list of events organized by external bodies, e.g. inSing.com, eventful.com, and yoursingapore.com. |
Social Networking | Users will be able to personalize their profiles, join groups, add friends, update statuses, upload images and videos. User can also send private message to other site users, and create new chat by inviting other site users within the community portal to either 1-on-1 or group chat. Anonymous users will be given a dummy chat account to interact with members once they visit the portal page to benefit from the community. In addition, all the chats support instant language translation which are supported by the Envolve Chat Module. |
Content Personalization | Content such as recommended upcoming events, recommended friends, and advertisements can be personalized to each user based on his or her preferences data aggregated via personal profile and sentiment analysis performed on their forum posts, comments, or reviews. Customised content personalization will be done using OpenAmplify API. |
Mapping | Integrated maps will be available for Events and Schools, and other location based functionality to provide navigational information for users within the portal. A standalone maps page will be available as well to allow users to look for specific places. |
Advertisements | Site administrators will be able to insert and manage advertisements, and dedicate advertisements to selected user groups. |
Official Blog | Content managers can publish official site news to the site blog in order to keep the users updated on the latest happenings |
Social Media Integration | Site content can be easily published to various social media platforms, allowing users to push content to their favorite social media sites, such as like the contents, reviews, posts etc. Users can also login to the site using their Facebook accounts. |
Multi-language support | There will be multi-language support implemented for some pages in the portal, mostly for informative pages. Languages supported will be the mother tongues spoken by the majority of the international student community in Singapore including English, Chinese, Malay, Indonesian, Thai, Burmese, Hindi, Japanese, Korean, Vietnamese etc. |
Referral & Rewards* [Optional] | Users can earn reward points to exchange for sponsored gifts by referring their friends to the site |
Site Newsletter* [Optional] | Content managers will be able to generate a site newsletter and mass email subscribed members |
Project Schedule & Milestones
Planned Schedule before Acceptance Presentation
Planned Schedule after Acceptance Presentation
UAT Schedule & Execution Plans
UAT I (3rd September - 9th September)
Date | Action Plan |
---|---|
3rd Sept / Saturday | Prepare Test Script / Internal Testing |
4th Sept / Sunday | Prepare Test Script / Internal Testing |
5th Sept / Monday | Test Group 1 |
6th Sept / Tuesday | Test Group 2 |
7th Sept / Wednesday | Test Group 3 |
8th Sept / Thursday | Consolidate Test Results |
9th Sept / Thursday | Post Debriefing |
UAT Bug Tracker
Program bugs will be recorded and reviewed periodically. Urgent bug reviewing meeting will be scheduled depending on the number of bugs and the urgency of bug to be resolved
Mid-Term Wiki
Mid-Term Wiki Page
Project Modular Development Libraries and Resources
Functional Requirement
Functional Requirements
UI & Site Designs
UI & Site Design Resources
Development Environment
Development Environment
Drupal Framework
Drupal Framework
Project Risks Management
Project Risks Management
Project Quality Management
Meeting Punctuality
Group agreement on $0.10 per min late. "Tracking spreadsheet":https://spreadsheets.google.com/spreadsheet/ccc?pli=1&key=0AqOBHsJaatWmdFBELXhTZHFDa3loc0h6NXlQRXR3Y0E&hl=en_US#gid=0
Group Calendar
You'll need to be logged in to googledocs and added to the calendar access list before you can view it. Group Calendar on Project Management Portal
Acceptance Testing
With short sprints that aim to produce working functionality at the end of each sprint, there has to be a way for the development team and the client to come up with a set of criteria to determine whether or not a particular sprint's implementation of functionality is considered 'complete' or 'accepted'.
The aim is to expand the high level functional requirements embodied within the user stories into a series of user interaction steps with expected output, and yet still allow sufficient room for creativity in implementation for the development team.
As such, our methodology involves the creation of acceptance tests for each user story written by the team in collaboration with the Product Owner during each Sprint Planning Meeting.
Points to note when writing these tests:
- All use case scenarios for the user story should be covered in the test case.
- The input data, the function usage steps, as well as the expected outcomes must be listed out so that they are verifiable.
- The test cases need to be approved by the Product Owner.
- The tests should be regressive to ensure that new functionality doesn't break existing functionality.
- We try to attach at least low fidelity mockups of the functional screenflows to the acceptance tests documentation for each user story.
"User Acceptance Testing - A Business Analyst Perspective":http://businessanalystmentor.com/2009/02/21/user-acceptance-testing-business-analyst-perspective/
Dealing with Bugs in Scrum - Discussion
Jinson
There're a variety of ways to deal with bugs in the scrum process, and i'm personally still not strongly decided on any one method. We (as a team), will need to experiment and find out which method (or even combination of methods) works best for us and our project.
- Bugs within the Sprint Process
This method sees bugs as functionality, regardless of size, that does not work as intended by the client. The definition of 'not work as intended' is defined by acceptance tests written by the Business Analyst in concert with the Product Owner. In a properly executed test driven development process, bugs arising from acceptance testing at the end of each sprint should be minimal. The focus therefore is on properly implementing software engineering practices that ensure quality, as opposed to spending time tracking bugs. Bugs found are then fixed and the acceptance tests re-rerun. Only after the prototype passes all acceptance tests will the user stories be considered ready for review by the Product Owner in the Sprint Review meeting. Functionality that does not pass the tests by the end of the sprint duration is not presented in the Sprint Review, and is re-estimated and re-prioritized in the next Sprint Planning meeting.
- Bugs as User Stories
This method generates user stories (or bug stories) for each bug found from sprint acceptance tests or usability bugs from user acceptance testing. Note that functional and technical bugs should mostly be caught and resolved in sprint acceptance tests. Our sprint acceptance tests kind of combine the traditional integration and system testing phases. The tests are conducted on our staging server, since we're supposed to practice continuous integration. We do not perform unit testing for most of the duration of the project since a lot of our work consists merely of integrating and modifying existing 3rd party modules. Benefit of this method is that it allows an easily interpretable bug tracking process that kind of also fits into our scrum process. Drawback is that bugs can range from extremely minor low level cases to highly complex ones that are on the level of a feature. If there are alot of bugs which are converted into bug stories, they can overwhelm and obscure the original user stories. Note that if there are so many bugs, it indicates the possibility that there is something wrong with our process itself. Bugs found and converted into user stories which cannot be resolved by the end of the sprint can then enter the main product backlog and be treated as a normal user story to be estimated and prioritized for the next sprint. As always, take note that having too many bugs indicates problems within our software development process.
- Bugs Grouped within Generic Bug PBI
This custom method creates a generic bug type product backlog item for each sprint, and allocates X number of story points to it based on the velocity of the team for the past sprint and the probable velocity for this sprint to derive a rough estimate of how much time can be allocated to bug fixing for the current sprint. Individual bugs are then broken down into tasks to be done to fix the bugs within the generic bug PBI. Such bug tasks are given hour based time estimates as well as priority levels. Tasks that overflow from the allocated X story points for the current sprint's generic bug PBI are then moved and reprioritized into the next sprint's bug PBI. This is what we're currently testing out.
- Bugs in Bug Fix Sprints
This method simply puts in a formal Bug Fix Sprint in-between every sprint.
Project Task & Schedule Management
Product Backlog
Product Backlog on Project Management Portal
Project Gantt Chart
Gantt Chart on Project Management Portal
Project Road Map
Road Map on Project Management Portal
Project Documentation
Application Architecture
User Roles
User Role | Role Responsibility & Description |
Site Administrator | Site administrators keep the CMS framework and modules used current by applying required upgrade patches when needed. They configure and maintain the modules used by the site as well as maintain the access control list for the roles and users of the site. In addition, they also schedule site backups, monitor site traffic and respond to email feedback. |
Content Manager | Content managers create, develop and manage content for the site and maintain a consistent look and feel throughout all pages. They are able to edit the taxonomies used by the site. They proofread submitted articles, events, schools and courses before publishing them. |
Site Member | Site members are users who have registered accounts with the site and can access all of the site features. They can also submit contents to the site which will need to be approved by the site content manager before being published. |
Site Visitor | Site visitors are users who visit the site but do not have any registered account or are not logged in. They can view all content but will not be able to submit anything new. |
Use Cases
Category | Description | Deliverable |
Project Analysis | Use Case Diagram | Use Cases Grouped by Functional Module |
Use Cases Grouped by System User Role |
Project Meeting Minutes
Category | Description | Deliverable |
Project Management | Client Meeting Minutes | Client Meeting Minutes |
Supervisor Meeting Minutes | Supervisor Meeting Minutes | |
Team Meeting Minutes | Team Meeting Minutes |
Presentation Materials
Project Acceptance Presentation
Project Acceptance Presentation Slides
Project Live Demo
Project Hosted on Staging Server
Learning Outcomes (LOMs)
S/N | Learning Outcomes | Applicable | Actions to Achieve the Outcomes | |
1 | IT Architecture Design and Development Skills | |||
1.1 System Requirements Specification Skills | YY |
|
||
1.2 Software and IT Architecture Analysis and Design Skills | YY |
|
||
1.3 Implementation Skills | YY |
|
||
1.4 Technology Application Skills | YY |
|
||
2 | Project Management Skills | |||
2.1 Scope Management Skills | Y |
|
||
2.2 Risks Management Skills | Y |
|
||
2.3 Project Integration and Time Management Skills | YY |
|
||
2.4 Configuration Management Skills | YY |
|
||
2.5 Quality Management Skills | YY |
|
||
3 | Learning-to-Learn Skills | |||
3.1 Methodology for Group Learning | YY |
|
||
3.2 Search Skills | YY |
| ||
4 | Collaboration Skills | |||
4.1 Skills to Improve the Effectiveness of Group Processes and Work Products | YY |
|
||
5 | Communication Skills | |||
5.1 Presentation Skills | YY |
|
||
5.2 Writing Skills | YY |
Wiki-page Meeting minutes User guide Project Proposal Project Presentation Materials
|
Software and APIs
Programming Language & API: PHP / JQuery / Drupal API / OpenAmplify API / phpBB API / GoogleMaps API / Google Translate API / Javascript / CSS / Facebook API
Development Platform Eclipse IDE
Web Service: Mibbit IRC / MolloM (Spam Filtering)
Database: MySQL / SQLyog
Server: Apache HTTP Server / Subversion / Tortoise SVN
Project management: Redmine / Wikipedia
Bug Tracking / Task Allocation: Redmine / Outlook / Google Doc
Document Storage: Drop-box