IS480 Team wiki: 2015T2 spirITus Midterm Wiki
WELCOME TO
Midterm Wiki
|
Note: As our application has a SMS functionality which would incur cost. Kindly send us an email to request for a login credential for testing purposes.
Project Highlights
Unexpected events that have occurred:
- One member was removed from the team as she did not met the prerequisite for IS480
- Change of POC
- Some change of requirements after the handover
- List of changes:
- Communication feature was changed to a form of 'Post" instead of real-time chat function
- Addition of SMS notification as a good to have additional functionality
- Calendar function on Desktop was reconsidered and implemented after Sponsor Test 2
- Took the December term break to learn php and understand the laravel framework
- Additon of "contact us" feature in application for users to provide feedback
- Some problem faced:
- Learning curve for email function for notification was higher than expected
- Technical complexities during integration
Schedule Updates
Number of planned iterations: 13
Number of iteration completed: 7
- Current iteration: 8
Number of iterations left: 5
Complete Testing: 4
- Acceptance
- UAT 1
- Sponsor Test 1
- UAT 2
- Sponsor Test 2
Milestones left: 4
- Midterm
- Poster
- Finals
- Poster Day
Functionality and Scope
Functionalities | Progress in Task completion |
---|---|
Primary | 100% |
Secondary | 90% |
Tertiary | 80% |
Good-to-have | 30% |
Functionalities achieved
Iteration | Module | Functions / Comments | Confidence |
---|---|---|---|
1 | Admin and accounts UI | UI using jQuery mobile. Coincides with IDP | 1 |
2 | Account Module | Teacher account can View, create and search | 1 |
Parent Account UI for reports, events and chats | 1 | ||
3 | Accounts Module | Creation of profiles. Entity profiling | 1 |
Classroom Module | Teachers can mark attendance, guardians can view child's attendance | 1 | |
Feedback Module 1 | Teachers can mark attendance, guardians can view child's attendance | 1 | |
4 | Feedback Module 1 | Guardians can view child's education progress | 1 |
Communication Module 1 | Teachers and parents are able to send message to each other | 1 | |
Search and Filter Module | Teachers can search for student by name | 1 | |
5 | Accounts Module 1 | Admin account have CRUD access, able to reset password | 1 |
Classroom Module | Teachers, students and guardians can view lessons/ scheduled plans | 1 | |
Communication Module 2 | Teachers can create announcements for class. Guardian can get notifications on child's progress | 0.75 | |
Rewards Module | Teachers can award points to students and student can view their awarded points | 1 | |
6 | Desktop rollout | Desktop UI and Accounts CRUD implementation | 1 |
Rewards Module | Gamification techniques and concepts changes to make it more engaging. | 0.75 | |
Feedback Module 1 | Teachers can generate student profile, attendance statistics including assessments | 0.75 | |
7 | Forum Module | All users can post queries in forum | 0.75 |
Feedback Module 2 | Student can view their attendance statistics | 1 | |
Teachers' dashboard showing class activities and student reports(Desktop) | 1 | ||
8 | Feedback Module 2 | Teachers can opt to send generated reports to email accounts | 0.75 |
Functionalities To Be Achieved
Iteration | Module | Functions / Comments |
---|---|---|
9 | UI Enhancement, Validations | UI Enhancement and validations for Mobile and Desktop site |
10 | Security | Security features to prevent spam to email accounts |
Project Schedule
Our team has made very minimal changes to schedule, most of the changes were implemented during the planned iterations. The most notable changes were the change in functionality requirement, the communication module. Our client conducted their own trials and wanted a 'contact us' form for parents to communicate with the teachers. We were informed to focus more on the mobile development in December 2014 as DAS wanted to use our application in January for trials.
Planned Schedule
Dated: December 2014
Actual Schedule
Dated: February 2015
Project Metrics
Schedule Metrics
Iteration | Planned Days | Actual Days | Score | Remarks / Actions Taken |
---|---|---|---|---|
1 | 35 | 35 | 100% | None. We are on schedule. |
2 | 21 | 26 | 81% | Reasons: Learning curve in learning new frameworks and integrating libraries resulted in slower-than expected-progress in development. Extend iteration till the task is completed. Adjust the dates of the subsequent iteration to match the use of buffer days. |
3 | 21 | 27 | 78% | Reasons: All members are still learning the new language and framework. Coupled with other academic commitments, the difficulty in developing back-end logic for student attendance-taking in PHP resulted in minor delays in task completion. Extend iteration till the task is completed. Adjust the dates of the subsequent iteration to match the use of buffer days. |
4 | 21 | 20 | 105% | None. We are on schedule. |
5 | 14 | 15 | 93% | Reasons: Zam left the group, and existing work had to be reassigned to other members. Used one buffer day to complete planned functionality in iteration. No need for adjustment of scope. |
6 | 14 | 16 | 88% | Reasons: Change of POC, handover of management to Sree. There were also new suggestions of additional functionalities by the directors, which led to some major changes in the database structure. Used two buffer days to complete planned functionality + new requirements in iteration. Extend iteration till the tasks are completed. Adjust the dates of the subsequent iteration to match the use of buffer days. |
7 | 14 | 14 | 100% | None. We are on schedule. |
Bug Metrics
Iteration | Low | High | Critical | Total Score | Actions Taken |
---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | No actions required. |
2 | 1 | 0 | 0 | 1 | Used debugging time to debug. |
3 | 4 | 1 | 2 | 29 | Used debugging time + one buffer day to debug. |
4 | 1 | 3 | 1 | 26 | Bugs were fixed during testing and debugging time. No buffer time required. |
5 | 4 | 1 | 0 | 9 | Bugs were fixed during testing and debugging time. |
6 | 8 | 4 | 0 | 28 | Used debugging time to debug. One outstanding UI bug to be fixed in later iteration due to low importance. Used one buffer day to debug. |
7 | 4 | 1 | 1 | 19 | Bugs were fixed during testing and debugging time. |
Technical Complexity
S/N | Technical Description | Remarks |
---|---|---|
1 | PDF Generation of reports | Getting things displayed nicely in a single page in the pdf.Special symbols and font embedding issues. Transformation of database records data to the display format required. |
2 | Attendance taking | Transformation of database records data to the display format required |
3 | Lesson Feedback and makeup | There are many client changes as to how lesson feedback and make ups are to be recorded. Resulting in frequent database schema changes. |
4 | Speeding up notifications (mass emails, sms.etc) | To reduce the wait of teachers when publishing new announcements to guardians. The team has to learn about how to use a message queue. This is quite a challenge as more than 1 member have yet taken the Enterprise Integration module yet. |
Risks
Risk | Probability | Impact | Mitigation |
---|---|---|---|
Steep learning curve in exploring new frameworks, libraries and programming languages, such as SMS integration, E-mail sending, the Laravel framework and generation of PDF reports | High | High | We will seek help from web resources (tutorials, videos) on how to implement it in our application. After many hours of effort and studying, we gradually became more familiar with the use of such libraries and frameworks. |
Sudden changes in requirements, such as the communication methods available using the application, which arose after analysis of the results of their own trials | High | High | We will seek advice from our supervisor and inform her about the new changes. We will proceed to implement the changes if it does not delay the completion of the project. |
Juggling our academic workload in tandem with FYP when there are difficult tasks in a particular iteration | Medium | Low | We will seek advice from seniors and read up on best practices on how we can utilize the framework chosen to make coding more efficient. Working long hours into the night was common as we tried not to exceed the planned iteration days. |
There is a possibility that we may send out too many emails and get banned temporarily by Gmail, if we exceed their daily email sending limits (2000 for premium accounts, 100-500 for normal accounts) | Medium | Medium | Make use of a reputable transactional e-mail service such as Mandrill, which allows up to 12,000 free emails per month. The team has also set up Mailgun, an alternative e-mail service such that in the unlikely event that we exceed Mandrill's free limits for a month, the team will also be able to switch to Mailgun without much hassle. It offers 10,000 free emails per month, which isn't too bad as well. |
Intermediate Deliverables
Stage | Specification | Relevant Links |
Project Management | Meeting Minutes | Meeting Minutes |
Schedule and Bug Metrics | Metrics | |
Project Scope | Scope / Functionalities | |
Analysis | Architecture Diagrams | Architecture Diagrams |
ER Diagram | ER Diagram | |
Use Case | Use Case Diagram | |
Design | Prototypes | Prototypes |
Testing | User Acceptance Test & Sponsor Test Results | Test Results |
Team Reflection
- Exploring a new language and framework
- how the use of technologies solve trivial business problem
- Handling a project involving a business entity and managing it well
- Balancing expectations.
- Effective time Management juggling IS480 commitments with other projects etc.
- Conflict Management and resolution strategies
- Staying positive and always have the end in mind
Individual Reflection
Project Manager: Tan Zheng Ming, Kenneth
- Effective communication between stakeholders involved in project
- Manage conflict and expectations effectively
- Planning of technical tasks is often complex and subjected to changes
- Establish effective collaboration by allocating tasks / resources appropriately
Lead Designer: Chua Chong Thee
- Adapting to changes during development
- Designing with the end users in mind
- Difficult to have a design that can satisfy everyone
- Perseverance is key
Lead Developer: Lan Ziming
- Ask and you shall receive, there are many helpful people online willing to help you learn. All you need to do is to make the effort to ask and provide details.
- See beyond the surface, sometimes I wanted to use a library/service but it's either paid or comes with a very limiting free plan as stated on their website. However when I decide to email some of them telling them that I'm a student or doing it for a social cause, I'm surprised by the fact that some are actually willing to let me use their services for free, even for commercial purposes just because I'm a student or doing something that benefit others.
- I have also learn to be more people orientated. As IT students, we often think about doing what's technically the most impressive, scalable, cleanest solution. However it is also important to consider people. The best solution is often not what best fit the problem theoretically . But one that also consider the people and conditions around you (team mates, clients, supervisors.etc).
- Lastly, I learn that taking care of one health is very important, so as to last longer.
System Analyst: Chen Weifang
- Adapting and working with members with different working styles
- Breaking down the algorithm into smallest parts possible and be meticulous
- Measure the trade-off of each possible solutions vs obvious solution
- Picking up a new language is not complex as long as one has the interest to learn
QA Analyst: Chan Qianru
- Be open to feedbacks by users
- Knowing what the end users want is important to solve any problem
- Good designs often make people have a lasting impression of the application
- Responsiveness and real-time will make systems more user friendly