IS480 Team wiki: 2016T1 MonoChrome Finals
Project Progress Summary
Project Highlights:
- List of requirement changes
- Added new 2 functions (Generate daily report, Configure settings)
- UAT 4 is scheduled from 11 November to 14 November
Project Achievements:
- Successful implementation of Reverse SSH, stable and working. (Technology that is built in-house, as there are no commercially available API for this)
- Successful implementation of SNMP, our web application is able to monitor WiFi router health status too
Project Management
Project Status:
S/N | FEATURES | STATUS | CONFIDENCE LEVEL(0 - 1.0) | COMMENT |
---|---|---|---|---|
1 | Database Module | Fully deployed and tested 100% | 1 | Completed |
8 | Dashboard Module II | In progress | 1 | In progress |
9 | Database Collection Module II | In progress | 1 | In progress |
10 | Mobile Responsive Module | In progress | 1 | Will always revise the mobile responsiveness for every change in design |
11 | Optimization Module | In progress | 1 | New scope proposed by Monochrome: Archiving; Half of Security Module moved to this new module. |
12 | Account Management Module | In progress | 1 | "Register new user account" to be completed in Iteration 11 |
13 | Dashboard Module III | Scheduled for Future Development | 1 | To Be Completed |
14 | Downtime Scheduler Module | Scheduled for Future Development | 1 | To Be Completed |
15 | Security Module | Removed upon negtiation | N.A | Removed upon negtiation |
Project Schedule (Plan Vs Actual):
PLANNED | ACTUAL |
---|---|
Project Scope (Plan Vs Actual):
PLANNED | ACTUAL |
---|---|
ITERATIONS | PLANNED | ACTUAL | COMMENT | ||
---|---|---|---|---|---|
10 | - | Perform speed test, Configure settings for 4 groups & flapping threshold, Generate daily summary report | Oct 2016 | New scope proposed by Sponsor | |
12 | UAT 4 | Nov 2016 | - | Scheduled UAT 4 to 14 Nov due to sponsor unavailability |
Compare the project plan during midterm 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.
Project Metrics:
Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.
Technical Complexity:
S/N | TECHNICAL COMPLEXITY | IMAGE | DESCRIPTION |
---|---|---|---|
1 | Front End: Maintaining React state |
Before: From vertical menu: $(‘#deleteSensorMac’).val(macAddress); In DeleteSensor.jsx: var macAdd = $(‘#deleteSensormac’).val();
Problem: Erratic / unreliable |
In traditional React applications, props can only be transferred from a parent to child component. this, however, can be inconvenient as certain components in complex web applications may need to receive props that cannot be passed on from its parent.
|
2 | Pinging Servers | One of the issues that surfaced while we were testing for fault tolerance came about due to the way fault tolerance was implemented.
| |
3 | SNMP (Simple Network Management Protocol) | Reasons why a Raspberry Pi might go "down" can be generalized into 3 categories: Issues with the Raspberry Pi, issues with its router, or connectivity issues.
|
Quality of product
Provide more details about the quality of your work. For example, you designed a flexible configurable system using XML.config files, uses Strategy Design Pattern to allow plugging in different strategy, implement a regular expression parser to map a flexible formula editor, etc.
Project Deliverables:
List the artifacts produced for this project. The entire deliverable can be submitted in a separate thumb drive, web repository or place in the IS480 team wiki.
Stage | Specification | Modules |
Project Management | Meeting Minutes | MonoChrome Meeting Minutes Page |
Task Metrics & Bug metrics | MonoChrome Metrics Page | |
Requirements | Story cards | CRUD Customer, Trend Analytic |
Analysis | Use case | overall |
System Sequence Diagram | client, server | |
Business Process Diagram | ||
Screen Shots | CRUD Customer, Trend Analysis | |
Design | ER Diagram | 1, 2, 3 |
Class Diagram | 1, 2, 3 | |
Testing | Test plan | instructions |
Handover | Manuals | User tutorial, Developer manual, Setup manual |
Code | client server | |
Deployment Diagram | instructions |
Not all parts of the deliverables are necessary but the evidence should be convincing of the scope.
Quality:
Explain the quality attributes (non functional) of your project deliverables. Have you designed the architecture, use a design pattern, etc? Does your architecture address scalability, performance, reliability, availability, fault tolerance, usability, etc. Does your design address maintainability, flexibility, configurability, etc. Be brief here but you can link to diagrams or code detail pages. Do not repeat the technical complexity part, link to it if necessary.
Deployment:
In an iterative approach, ready to use system should be available (deployed) for client and instructions to access the system described here (user name). If necessary, provide a deployment diagram link.
Testing:
Describe the testing done on your system. For example, the number of user testing, tester profile, test cases, survey results, issue tracker, bug reports, etc.
Reflection
Team Reflection:
We learnt that it is important to keep an open-mind when developing an application for a client because along the way there will be unforeseen circumstances, many unknown unknown that we need to solve as well as take in feedbacks from the various stakeholder. IS480 have given us an opportunity to learn real life skill sets and to stretch us beyond our limits.
- Roles & Responsibilities link: IS480 Team wiki: 2016T1 MonoChrome Our Team
- Team Photo Gallery link: IS480 Team wiki: 2016T1 MonoChrome Gallery
Ian's Reflection:
This project has been quite a journey. Before we started, my knowledge was limited to what was taught in the classroom. Six months later, this project has, in a sense, forced my teammates and I to learn, explore, and experience unfamiliar technologies and techniques. For instance, reverse ssh is one of the techniques I picked up during this project, and making it persistent and stable became an experiment in and of itself.
Marcus's Reflection
I've made the adage "good artists copy, great artists steal" my motto throughout the course of the project. Rather than trying to reinvent the wheel, I scoured the internet for ideas on dashboard design elements and pieced a couple of good ones together as a deliverable. I've learned to be more acceptive of criticism and ideas that oppose mine. This, in turn, helped to spark fresh ideas that had far more depth. As a team, I'm proud to say that we've accomplished what we labeled as "impossible" at the start of the project.
Yong Jin's Reflection
Before embarking on this project, I have been working in classroom projects with a feeling of certainty. I was first taught the necessary knowledge, then applying them on a well-thought out problem. This project has been a total experience for me, knowledge has to be self-acquired with the application on a real existing problem which can be everchanging. There is no longer certainty anymore, I have to lean on myself and my team for strength where we learned progressed and grew together over these past 7 months.
Sarah's Reflection
During the course of this project, I have learned the importance of quality assurance. Learning to make changes based on user testing results has allowed the team to constantly improve on the dashboard, ensuring the client's satisfaction. This project has been a new experience for me as I often worked alone in the past. Working with my teammates on this project has shown me how to work efficiently as a team leaning on each other for help under the pressure of the project. I am glad to say we have grown together as a team through this process.
Wen Da's Reflection
"Coming together is a beginning; keeping together is progress; working together is success", this quote speaks dearly to me for my whole IS480 journey, because my job as PM I need to ensure that my team keep together, I will think about the welfare of my team to keep them motivated and not feel burn out too often. Encouraging them and appraising them for their hard work. I also learnt that as a PM, it is important to be adaptive to the situation, using the metrics that I have to reschedule and reprioritize the tasks to ensure that we are able to deliver a quality system in time. Lastly, I am proud to say that we are able to work along together well for almost 8 months, my team supported each other during tough periods, committed their utmost effort and made sacrifices for each other.
Sponsor Comment:
Sometimes, the client writes a report to feedback on the system; this sponsor report can be included or linked from here.