Difference between revisions of "IS480 Team wiki: 2015T2 REALIS - Mid-Term"
(20 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
{| style="background-color:#ffffff; margin: 3px auto 0 auto" width="100%" | {| style="background-color:#ffffff; margin: 3px auto 0 auto" width="100%" | ||
|- | |- | ||
− | ! style="text-align: center; background-color:#35383c; width: 33%"| [[IS480 Team wiki: 2015T2 REALIS| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b> | + | ! style="text-align: center; background-color:#35383c; width: 33%"| [[IS480 Team wiki: 2015T2 REALIS - Acceptance| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b>ACCEPTANCE</b></font>]] |
! style="text-align: center; background-color:#68707A; width: 33%"| [[IS480 Team wiki: 2015T2 REALIS - Mid-Term| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b>MID-TERM</b></font>]] | ! style="text-align: center; background-color:#68707A; width: 33%"| [[IS480 Team wiki: 2015T2 REALIS - Mid-Term| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b>MID-TERM</b></font>]] | ||
! style="text-align: center; background-color:#35383c;"| [[IS480 Team wiki: 2015T2 REALIS - Final| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b>FINAL</b></font>]] | ! style="text-align: center; background-color:#35383c;"| [[IS480 Team wiki: 2015T2 REALIS - Final| <font face = "Trebuchet MS" color="#FFFFFF" size=2><b>FINAL</b></font>]] | ||
|} | |} | ||
− | ==<font face = "Trebuchet MS" color="#000000"><b> | + | ==<font face = "Trebuchet MS" color="#000000"><b>Overview</b></font>== |
− | [ | + | [[Media:REALIS_FYP_Mid-Term_v2.pdf| Slides for Mid-Term Review]] |
+ | [http://fyp-realis.rhcloud.com/ Link to our product] | ||
[[Image:REALIS_Current_Progress_Phase5.png|center|900px|link=]] | [[Image:REALIS_Current_Progress_Phase5.png|center|900px|link=]] | ||
+ | We have completed the primary functionalities of the project scope - the primary architecture of the for each modules. We are currently progressing into the secondary module - Accessibility Module. The project schedule is segregated into different phases to provide an overview for each development phase. | ||
− | + | ==<font face = "Trebuchet MS" color="#000000"><b>Project Progress</b></font>== | |
+ | <b>Scope Changes:</b> | ||
* Schedule is categorized in Phases, followed by Iterations in each Phases, to give a better overview on what the Team aims to achieve for each stage of development. | * Schedule is categorized in Phases, followed by Iterations in each Phases, to give a better overview on what the Team aims to achieve for each stage of development. | ||
− | * | + | |
− | * Phase 3 | + | <b>Time Constraint:</b> |
− | + | * Time was required to explore new technologies for the application such as D3 library for Data-Visualization Module, Leaflet for Geo-Visualization Module and PostGIS for Geo-Processing Module. | |
+ | * Increased complexity in Phase 3, for Data-Visualization, in preparation for the first User Experience Test with URA to gather feedback on application. | ||
+ | |||
+ | <b>Technical Difficulties:</b> | ||
+ | * Processing filtered data sets in PostGIS database. | ||
==<font face = "Trebuchet MS" color="#000000"><b>Project Management</b></font>== | ==<font face = "Trebuchet MS" color="#000000"><b>Project Management</b></font>== | ||
Line 44: | Line 51: | ||
# Made Coordinate Linked View Module part of Geo-Visualization Module because this involves interaction between clicking of icons on the map with the charts. | # Made Coordinate Linked View Module part of Geo-Visualization Module because this involves interaction between clicking of icons on the map with the charts. | ||
# Replaced Analytics Module with Accessibility Module because URA already has a group of Masters students helping them in this area. | # Replaced Analytics Module with Accessibility Module because URA already has a group of Masters students helping them in this area. | ||
+ | |||
+ | <b>Completed Features:</b><br> | ||
+ | {| class="wikitable" style="width:100%;" | ||
+ | |- | ||
+ | !style="width:15%"|Module | ||
+ | !style="width:15%"|Feature | ||
+ | !style="width:70%; text-align: center;"|Description | ||
+ | |- | ||
+ | |style="text-align: center;"|Data Upload | ||
+ | |Upload data into application | ||
+ | |<i>Update: This function has been replaced with the PostGIS database where datasets are stored.</i> | ||
+ | |- | ||
+ | |style="text-align: center;"|Geo-Processing | ||
+ | |Geo-database | ||
+ | |Internal processing of data to transaction points is implemented. This is for accessibility module. | ||
+ | |- | ||
+ | |style="text-align: center;"|Geo-Visualization | ||
+ | |Geospatial analysis | ||
+ | |An interactive visual map-based data is implemented. | ||
+ | |- | ||
+ | |style="text-align: center;"|Data-Visualization | ||
+ | |Visual analysis | ||
+ | |Interactive charts are implemented with filtering functions. | ||
+ | |} | ||
<b>About Accessibility Module:</b><br> | <b>About Accessibility Module:</b><br> | ||
Line 194: | Line 225: | ||
|- | |- | ||
|Debugging | |Debugging | ||
− | |style="text-align: center;"|3 | + | |style="text-align: center;"|3 days |
|1/11/2014 | |1/11/2014 | ||
− | |3/ | + | |3/11/2014 |
− | |style="text-align: center;"|4 | + | |style="text-align: center;"|4 days |
− | |1/ | + | |1/11/2014 |
− | |4/ | + | |4/11/2014 |
− | |style="text-align: center;"|1 | + | |style="text-align: center;"|1 day |
|NA | |NA | ||
|} | |} | ||
Line 302: | Line 333: | ||
|01/01/2015 | |01/01/2015 | ||
|31/01/2015 | |31/01/2015 | ||
+ | |style="text-align: center;"|0 days | ||
+ | |NA | ||
+ | |- | ||
+ | |colspan="9" style="background-color:#BBBCBD;"|<u><i><b>Geo-Visualization Module</b></i></u> | ||
+ | |- | ||
+ | |Search bar for postal code, district, planning area, price range, size range | ||
+ | |style="text-align: center;"|3 days | ||
+ | |06/01/2015 | ||
+ | |08/01/2015 | ||
+ | |style="text-align: center;"|3 days | ||
+ | |06/01/2015 | ||
+ | |08/01/2015 | ||
+ | |style="text-align: center;"|0 days | ||
+ | |NA | ||
+ | |- | ||
+ | |Localized search in the map | ||
+ | |style="text-align: center;"|2 days | ||
+ | |09/01/2015 | ||
+ | |10/01/2015 | ||
+ | |style="text-align: center;"|2 days | ||
+ | |09/01/2015 | ||
+ | |10/01/2015 | ||
|style="text-align: center;"|0 days | |style="text-align: center;"|0 days | ||
|NA | |NA | ||
Line 333: | Line 386: | ||
|19/01/2015 | |19/01/2015 | ||
|style="text-align: center;"|0 days | |style="text-align: center;"|0 days | ||
− | | | + | | |
|- | |- | ||
|Pie Chart | |Pie Chart | ||
Line 355: | Line 408: | ||
|NA | |NA | ||
|- | |- | ||
− | |Debugging | + | |Debugging |
− | |style="text-align: center;"|3 | + | |style="text-align: center;"|3 days |
|29/01/2015 | |29/01/2015 | ||
|31/01/2015 | |31/01/2015 | ||
− | |style="text-align: center;"|3 | + | |style="text-align: center;"|3 days |
|29/01/2015 | |29/01/2015 | ||
|31/01/2015 | |31/01/2015 | ||
Line 391: | Line 444: | ||
|colspan="9" style="background-color:#BBBCBD;"|<u><i><b>Geo-Processing Module</b></i></u> | |colspan="9" style="background-color:#BBBCBD;"|<u><i><b>Geo-Processing Module</b></i></u> | ||
|- | |- | ||
− | | | + | |Design and develop database |
|style="text-align: center;"|2 days | |style="text-align: center;"|2 days | ||
|01/02/2015 | |01/02/2015 | ||
Line 454: | Line 507: | ||
|11/02/2015 | |11/02/2015 | ||
|15/02/2015 | |15/02/2015 | ||
− | |style="text-align: center;"| | + | |style="text-align: center;"|0 days |
|NA | |NA | ||
|- | |- | ||
Line 469: | Line 522: | ||
|NA | |NA | ||
|- | |- | ||
− | |Box plot with | + | |Box plot with cross-filter |
|style="text-align: center;"|3 days | |style="text-align: center;"|3 days | ||
|10/02/2015 | |10/02/2015 | ||
Line 487: | Line 540: | ||
|19/02/2015 | |19/02/2015 | ||
|style="text-align: center;"|0 days | |style="text-align: center;"|0 days | ||
− | | | + | |NA |
|- | |- | ||
|Scatter plot on price vs accessibility index | |Scatter plot on price vs accessibility index | ||
Line 509: | Line 562: | ||
|NA | |NA | ||
|- | |- | ||
− | |Debugging | + | |Debugging |
− | |style="text-align: center;"|4 | + | |style="text-align: center;"|4 days |
|13/02/2015 | |13/02/2015 | ||
|16/02/2015 | |16/02/2015 | ||
− | |style="text-align: center;"|4 | + | |style="text-align: center;"|4 days |
|13/02/2015 | |13/02/2015 | ||
|16/02/2015 | |16/02/2015 | ||
Line 525: | Line 578: | ||
====<font face = "Trebuchet MS" color="#000000"><b>Bugs Metric</b></font>==== | ====<font face = "Trebuchet MS" color="#000000"><b>Bugs Metric</b></font>==== | ||
+ | <center><b>Bugs Index Per Iterations</b></center> | ||
+ | [[Image:REALIS_Bugs_index.png|center|750px]] | ||
+ | |||
+ | |||
+ | <center><b>Bugs Score</b></center> | ||
+ | [[Image:REALIS_Bugs_Score.png|center|750px]] | ||
+ | |||
+ | {| class="wikitable" style="width:100%;" | ||
+ | |- | ||
+ | ! scope="row" colspan="3" style="background-color:#423437;"| <font color="#FFFFFF">Bugs Score</font> | ||
+ | |- | ||
+ | !style="width:33%"|Phase | ||
+ | !style="width:33%"|Iteration | ||
+ | !style="width:33%; text-align: center;"|Total Bugs Score | ||
+ | |- | ||
+ | ![1] Requirements Gathering | ||
+ | !1 | ||
+ | |style="text-align: center;"|6 | ||
+ | |- | ||
+ | ![2] Technology Exploration | ||
+ | !2 | ||
+ | |style="text-align: center;"|0 | ||
+ | |- | ||
+ | ![3] Wire-frames and Mockup Designs | ||
+ | !3 | ||
+ | |style="text-align: center;"|11 | ||
+ | |- | ||
+ | ![4] Architecture Designs | ||
+ | !4 | ||
+ | |style="text-align: center;"|7 | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable mw-collapsible mw-collapsed" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="8" | Iteration 1: Requirements Gathering | ||
+ | |- | ||
+ | !style="width:15%"|Error Message | ||
+ | !style="width:7%"|Impact | ||
+ | !style="width:7%"|Solutions | ||
+ | !style="width:7%"|Date of Bug Faced | ||
+ | !style="width:7%"|Time of Bug Faced | ||
+ | !style="width:7%"|Date of Bug Solved | ||
+ | !style="width:7%"|Time of Bug Solved | ||
+ | !style="width:7%"|Days for Debug | ||
+ | |- | ||
+ | |CSV file containing transaction data is loaded but could not print out JSON string due to null pointer exception. | ||
+ | |High Impact - 5 | ||
+ | |Do a thorough cleaning on CSV file to scan for null values | ||
+ | |01/11/2014 | ||
+ | |1000 | ||
+ | |03/11/2014 | ||
+ | |1200 | ||
+ | |3 | ||
+ | |- | ||
+ | |Interactive legend does not work properly as filtering by only one property types still returns results of multiple property types. | ||
+ | |Low Impact - 1 | ||
+ | |Making use of a crossfilter library, dc.js to re-code the legend part in order to achieve correct results. | ||
+ | |03/11/2014 | ||
+ | |1400 | ||
+ | |04/11/2014 | ||
+ | |1600 | ||
+ | |2 | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable mw-collapsible mw-collapsed" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="8" | Iteration 2: Technology Exploration | ||
+ | |- | ||
+ | !style="width:15%"|Error Message | ||
+ | !style="width:7%"|Impact | ||
+ | !style="width:7%"|Solutions | ||
+ | !style="width:7%"|Date of Bug Faced | ||
+ | !style="width:7%"|Time of Bug Faced | ||
+ | !style="width:7%"|Date of Bug Solved | ||
+ | !style="width:7%"|Time of Bug Solved | ||
+ | !style="width:7%"|Days for Debug | ||
+ | |- | ||
+ | |colspan="8"|No bugs as this iteration consists of only research on technologies used for the project. | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable mw-collapsible mw-collapsed" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="8" | Iteration 3: Wire-frames and Mockup Designs | ||
+ | |- | ||
+ | !style="width:15%"|Error Message | ||
+ | !style="width:7%"|Impact | ||
+ | !style="width:7%"|Solutions | ||
+ | !style="width:7%"|Date of Bug Faced | ||
+ | !style="width:7%"|Time of Bug Faced | ||
+ | !style="width:7%"|Date of Bug Solved | ||
+ | !style="width:7%"|Time of Bug Solved | ||
+ | !style="width:7%"|Days for Debug | ||
+ | |- | ||
+ | |Line graphs disappear when using date filter | ||
+ | |High Impact - 5 | ||
+ | |Make use of a new JavaScript cross-filter helper library, reductions, to re-code the line graphs. | ||
+ | |09/01/2015 | ||
+ | |1200 | ||
+ | |13/01/2015 | ||
+ | |0200 | ||
+ | |5 | ||
+ | |- | ||
+ | |Not aware that coordinates returned by invoking OneMap API are in SVY21 projection system. Hence map points are in wrong positions. | ||
+ | |High Impact - 5 | ||
+ | |Make use of external JavaScript libraries for geo-projection conversion, called SVY21(). | ||
+ | |09/01/2015 | ||
+ | |1000 | ||
+ | |11/01/2015 | ||
+ | |1200 | ||
+ | |3 | ||
+ | |- | ||
+ | |When user keys in a search query, search function might return global results instead of Singapore results. | ||
+ | |Low Impact - 1 | ||
+ | |Make the search function localised in Singapore instead of in a global scale. | ||
+ | |29/01/2015 | ||
+ | |1400 | ||
+ | |31/01/2015 | ||
+ | |1600 | ||
+ | |3 | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable mw-collapsible mw-collapsed" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="8" | Iteration 4: Architecture Designs | ||
+ | |- | ||
+ | !style="width:15%"|Error Message | ||
+ | !style="width:7%"|Impact | ||
+ | !style="width:7%"|Solutions | ||
+ | !style="width:7%"|Date of Bug Faced | ||
+ | !style="width:7%"|Time of Bug Faced | ||
+ | !style="width:7%"|Date of Bug Solved | ||
+ | !style="width:7%"|Time of Bug Solved | ||
+ | !style="width:7%"|Days for Debug | ||
+ | |- | ||
+ | |Cannot retrieve the data from the PostGis database due to the mismatch of column names. | ||
+ | |High Impact - 5 | ||
+ | |Standarise the column name between the the java and javascipt files. | ||
+ | |14/02/2015 | ||
+ | |1400 | ||
+ | |15/02/2015 | ||
+ | |1600 | ||
+ | |2 | ||
+ | |- | ||
+ | |Inconsistent filter criteria when the pie chart is changed to row chart and vice-versa for the onclick event. | ||
+ | |Low Impact - 1 | ||
+ | |Apply the filter criteria to the rendering of the chart for the onclick event. | ||
+ | |13/02/2015 | ||
+ | |0900 | ||
+ | |14/02/2015 | ||
+ | |1200 | ||
+ | |2 | ||
+ | |- | ||
+ | |Polygon selection of the markers on the map does not affect the chart popup. | ||
+ | |Low Impact - 1 | ||
+ | |Change to the correct div id of the chart popup. | ||
+ | |15/02/2015 | ||
+ | |1300 | ||
+ | |16/02/2015 | ||
+ | |1600 | ||
+ | |2 | ||
+ | |} | ||
===<font face = "Trebuchet MS" color="#000000"><b>Project Risks</b></font>=== | ===<font face = "Trebuchet MS" color="#000000"><b>Project Risks</b></font>=== | ||
+ | {| class="wikitable" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="5" | Preparation Phase | ||
+ | |- | ||
+ | !style="width:35%"|Risk | ||
+ | !style="width:10%"|Probability | ||
+ | !style="width:10%"|Impact | ||
+ | !style="width:10%"|Result | ||
+ | !style="width:35%"|Mitigation | ||
+ | |- | ||
+ | |Bugs in charting library | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|A | ||
+ | |Look for alternative charting | ||
+ | |- | ||
+ | |Sponsors unsure of product delivery (they are unsure if analytics module is really needed) | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|A | ||
+ | |Do a prototype first as a proof of concept | ||
+ | |- | ||
+ | |Coordinated linked view | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|A | ||
+ | |Use filter for individual module | ||
+ | |- | ||
+ | |Stakeholder requirements not effectively communicated | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|High | ||
+ | |style="text-align: center;"|A | ||
+ | |Prepare more than what is required as a proof of concept | ||
+ | |- | ||
+ | |Using new libraries, such as D3 and leaflet | ||
+ | |style="text-align: center;"|Moderate | ||
+ | |style="text-align: center;"|Moderate | ||
+ | |style="text-align: center;"|B | ||
+ | |Do Research on the library prior to coding | ||
+ | |} | ||
+ | |||
===<font face = "Trebuchet MS" color="#000000"><b>Technical Complexity</b></font>=== | ===<font face = "Trebuchet MS" color="#000000"><b>Technical Complexity</b></font>=== | ||
+ | [[Image:REALIS_Technical_Diagram.png|center|900px]] | ||
==<font face = "Trebuchet MS" color="#000000"><b>Quality of Product</b></font>== | ==<font face = "Trebuchet MS" color="#000000"><b>Quality of Product</b></font>== | ||
Line 575: | Line 831: | ||
|} | |} | ||
− | |||
===<font face = "Trebuchet MS" color="#000000"><b>Testing</b></font>=== | ===<font face = "Trebuchet MS" color="#000000"><b>Testing</b></font>=== | ||
+ | {| class="wikitable" style="width:100%" | ||
+ | |- | ||
+ | ! scope="row" colspan="4" | 29 January 2015 & 12 February 2015 : User Experience Test | ||
+ | |- | ||
+ | !style="width:21%"|Objective | ||
+ | !style="width:26%"|Questions Asked | ||
+ | !style="width:26%"|Feedback | ||
+ | !Solution | ||
+ | |- | ||
+ | | style="vertical-align:top;"| | ||
+ | To gather user experience feedback on the prototype after demonstrating the application to the participants. | ||
+ | | style="vertical-align:top;"| | ||
+ | # What information presented on the tooltip is considered irrelevant to you? | ||
+ | # Which charts are redundant? | ||
+ | # Which charts are difficult to understand? | ||
+ | # Which charts are useful for your analysis? | ||
+ | # What charts do you use in your daily job? | ||
+ | # Is the layout of the application aesthetically pleasing? | ||
+ | # What do you think of the placement of the map and charts? | ||
+ | # What other features would you like to see on this application? | ||
+ | # Which feature(s) you think is/are useful but needs improvement? | ||
+ | | style="vertical-align:top;"| | ||
+ | <b>3 Property Analysts and 2 IT System Analysts</b><br> | ||
+ | # Too many graphs/buttons to click on. It is confusing and aesthetically unpleasing. Graphs like bar chart, line chart and pie chart are enough | ||
+ | # Selection of base maps is not required. They are good with just one layout | ||
+ | # Include search by tenant, district and properties that are nearby and comparable, size of property | ||
+ | # PDF download of data in various format | ||
+ | # Select an area to choose multiple points | ||
+ | # Need to improve on accuracy | ||
+ | # Cut down on the amount of information shown in the tool tip to 4-5 lines | ||
+ | # Change the x-axis units of the graphs to month instead of days | ||
+ | # Fixed layout for the graphs are preferable | ||
+ | # Do drop down for categories like districts etc | ||
+ | <b>3 Physical Planners</b><br> | ||
+ | # Good to have an option to search by postal code | ||
+ | # Improve on the accuracy in mapping postal code to lat long | ||
+ | # Too many different combinations of pictures and colors in markers which are confusing | ||
+ | # Draw a polygon on the map to select multiple markers and show the results | ||
+ | # Add in the ability to have street view. This is important to the planners | ||
+ | | style="vertical-align:top;"| | ||
+ | # Implement relevant charts based on the Property Analysts/Planners feedback. | ||
+ | # Implement a search function for postal codes, planning areas, districts, etc. | ||
+ | # Implement a drawing function for selection of multiple markers on the map. | ||
+ | |} | ||
+ | |||
==<font face = "Trebuchet MS" color="#000000"><b>Reflection</b></font>== | ==<font face = "Trebuchet MS" color="#000000"><b>Reflection</b></font>== | ||
− | = | + | [[Image:REALIS_Reflections.png|center|900px|link=]] |
− | |||
− | |||
− |
Latest revision as of 17:14, 8 April 2015
HOME | PROJECT OVERVIEW | PROJECT MANAGEMENT | DOCUMENTATION | THE TEAM |
ACCEPTANCE | MID-TERM | FINAL |
---|
Overview
Slides for Mid-Term Review Link to our product
We have completed the primary functionalities of the project scope - the primary architecture of the for each modules. We are currently progressing into the secondary module - Accessibility Module. The project schedule is segregated into different phases to provide an overview for each development phase.
Project Progress
Scope Changes:
- Schedule is categorized in Phases, followed by Iterations in each Phases, to give a better overview on what the Team aims to achieve for each stage of development.
Time Constraint:
- Time was required to explore new technologies for the application such as D3 library for Data-Visualization Module, Leaflet for Geo-Visualization Module and PostGIS for Geo-Processing Module.
- Increased complexity in Phase 3, for Data-Visualization, in preparation for the first User Experience Test with URA to gather feedback on application.
Technical Difficulties:
- Processing filtered data sets in PostGIS database.
Project Management
Project Status
Changes that were made:
- Made Tabular View Module part of Data-Visualization Module because this involves just developing of a simple table.
- Made Coordinate Linked View Module part of Geo-Visualization Module because this involves interaction between clicking of icons on the map with the charts.
- Replaced Analytics Module with Accessibility Module because URA already has a group of Masters students helping them in this area.
Completed Features:
Module | Feature | Description |
---|---|---|
Data Upload | Upload data into application | Update: This function has been replaced with the PostGIS database where datasets are stored. |
Geo-Processing | Geo-database | Internal processing of data to transaction points is implemented. This is for accessibility module. |
Geo-Visualization | Geospatial analysis | An interactive visual map-based data is implemented. |
Data-Visualization | Visual analysis | Interactive charts are implemented with filtering functions. |
About Accessibility Module:
This module involves identifying the accessibility of a property to the nearby facilities. The identified facilities serves the primary needs of the residents, based on walkability or transport. These facilities include bus-stops, primary and secondary schools, parks, community centers, etc. The purpose of having an Accessibility Index is to observe the relationship between Accessibility with the price of the Property.
Given that the main focus of this project is building PostGIS database, this module will be heavily reliant on PostGIS database through processing calculations at the back-end. Further explanation on PostGIS architecture will be in Technical Complexity.
Project Schedule (Plan Vs Actual)
Project Schedule (Plan Vs Actual) - Acceptance
Comments by The Team:
- Scope of modules were overlooked. Some were too simple, while the rest were too complex.
- Completion of modules were not ranked based on the primary to secondary needs. Instead, modules scheduled based on the importance and simplicity.
- The team was unclear of the requirements and scope when this was planned, however, changes were made along the way, reflecting on the completion deadline of each modules.
Changes that were made:
- Added phases to the schedule as a top-level overview for each iterations. The purpose of this is to give an overview of the development progress for the project.
- Schedule has been edited after the first iteration in the picture above. The newly edited planned schedule is shown below.
Project Schedule (Plan Vs Actual) - Mid-Term
Overall | |||||||||
---|---|---|---|---|---|---|---|---|---|
Phase | Iteration | Planned Duration | Planned Start | Planned End | Actual Duration | Actual Start | Actual End | Delay | Comments |
[1] Requirements Gathering | 1 | 30 days | 06/10/2014 | 05/11/2014 | 37 days | 06/10/2014 | 12/11/2014 | 7 days | Review application after acceptance. Reviewed schedule for iteration 2. |
[2] Technology Exploration | 2 | 48 days | 13/11/2014 | 31/12/2014 | 48 days | 13/11/2014 | 31/12/2014 | 0 days | Different personal schedules for every teammates as everyone was travelling. Tasks were switched to research module to explore the technologies used for this project. |
[3] Wire-frames and Mockup Designs | 3 | 21 days | 01/01/2015 | 21/01/2015 | 31 days | 01/01/2015 | 31/01/2015 | 10 days | Increased in scope for Data-Visualization module, and stopped development to solve high impact bugs found. |
[4] Architecture Designs | 4 | 21 days | 01/02/2015 | 21/02/2015 | 21 days | 01/02/2015 | 21/02/2015 | 0 days | On track |
Phase 1: Requirements Gathering | ||||||||
---|---|---|---|---|---|---|---|---|
Task | Planned Duration | Planned Start | Planned End | Actual Duration | Actual Start | Actual End | Delay | Comments |
Iteration 1 | 30 days | 06/10/2014 | 05/11/2014 | 37 days | 06/10/2014 | 12/11/2014 | 7 days | Review application after acceptance. Reviewed schedule for iteration 2. |
Bootstrap Module | ||||||||
CSV file upload | 3 days | 22/10/2014 | 24/10/2014 | 3 days | 22/10/2014 | 24/10/2014 | 0 days | NA |
Convert data into GeoJSON objects | 2 days | 25/10/2014 | 26/10/2014 | 2 days | 25/10/2014 | 26/10/2014 | 0 days | NA |
Geo-Visualization Module | ||||||||
Pin-Mapping, Tool-tip, Interactive Legend and Clustering | 3 days | 28/10/2014 | 30/10/2014 | 3 days | 28/10/2014 | 30/10/2014 | 0 days | NA |
Testing and Debugging | ||||||||
Regression testing | 1 day | 31/10/2014 | 31/10/2014 | 1 day | 31/10/2014 | 31/10/2014 | 0 days | NA |
Debugging | 3 days | 1/11/2014 | 3/11/2014 | 4 days | 1/11/2014 | 4/11/2014 | 1 day | NA |
Phase 2: Technology Exploration | ||||||||
---|---|---|---|---|---|---|---|---|
Task | Planned Duration | Planned Start | Planned End | Actual Duration | Actual Start | Actual End | Delay | Comments |
Iteration 2 | 48 days | 13/11/2014 | 31/12/2014 | 48 days | 13/11/2014 | 31/12/2014 | 0 days | Different personal schedules for every teammates as everyone was travelling. Tasks were switched to research module to explore the technologies used for this project. |
Research Module | ||||||||
Heatmap and Chloropleth | 48 days | 13/11/2014 | 31/12/2014 | 48 days | 13/11/2014 | 31/12/2014 | 0 days | NA |
Database Selection and Design | 48 days | 13/11/2014 | 31/12/2014 | 48 days | 13/11/2014 | 31/12/2014 | 0 days | NA |
Charts and D3 Graphs | 48 days | 13/11/2014 | 31/12/2014 | 48 days | 13/11/2014 | 31/12/2014 | 0 days | NA |
Phase 3: Wire-frames and Mockup Designs | ||||||||
---|---|---|---|---|---|---|---|---|
Task | Planned Duration | Planned Start | Planned End | Actual Duration | Actual Start | Actual End | Delay | Comments |
Iteration 3 | 21 days | 01/01/2015 | 21/01/2015 | 31 days | 01/01/2015 | 31/01/2015 | 10 days | Increased in scope for Data-Visualization module, and stopped development to solve high impact bugs found. |
Research Module | ||||||||
PostGIS architecture | 31 days | 01/01/2015 | 31/01/2015 | 31 days | 01/01/2015 | 31/01/2015 | 0 days | NA |
Leaflet and mapping | 31 days | 01/01/2015 | 31/01/2015 | 31 days | 01/01/2015 | 31/01/2015 | 0 days | NA |
Geo-Visualization Module | ||||||||
Search bar for postal code, district, planning area, price range, size range | 3 days | 06/01/2015 | 08/01/2015 | 3 days | 06/01/2015 | 08/01/2015 | 0 days | NA |
Localized search in the map | 2 days | 09/01/2015 | 10/01/2015 | 2 days | 09/01/2015 | 10/01/2015 | 0 days | NA |
Data-Visualization Module | ||||||||
Line Chart | 4 days | 06/01/2015 | 09/01/2015 | 8 days | 06/01/2015 | 13/01/2015 | 4 days | Stopped development and solved bug. |
Histogram | 3 days | 14/01/2015 | 16/01/2015 | 3 days | 14/01/2015 | 16/01/2015 | 0 days | NA |
Box Plot | New task | 4 days | 16/01/2015 | 19/01/2015 | 0 days | |||
Pie Chart | New task | 4 days | 20/01/2015 | 23/01/2015 | 0 days | NA | ||
Testing and Debugging | ||||||||
Testing: User Experience Test at URA | 1 day | 28/01/2015 | 28/01/2015 | 1 day | 28/01/2015 | 28/01/2015 | 0 days | NA |
Debugging | 3 days | 29/01/2015 | 31/01/2015 | 3 days | 29/01/2015 | 31/01/2015 | 0 days | NA |
Phase 4: Architecture Designs | ||||||||
---|---|---|---|---|---|---|---|---|
Task | Planned Duration | Planned Start | Planned End | Actual Duration | Actual Start | Actual End | Delay | Comments |
Iteration 4 | 21 days | 01/02/2015 | 21/02/2015 | 21 days | 01/02/2015 | 21/02/2015 | 0 days | NA |
Geo-Processing Module | ||||||||
Design and develop database | 2 days | 01/02/2015 | 02/02/2015 | 3 days | 01/02/2015 | 03/02/2015 | 1 day | This belongs to scripting instead of diagram. |
Converting Geo JSON to X,Y Coordinates | 2 days | 03/02/2015 | 04/02/2015 | 2 days | 04/02/2015 | 05/02/2015 | 0 days | NA |
Import facility database | 2 days | 05/02/2015 | 06/02/2015 | 4 days | 06/02/2015 | 09/02/2015 | 0 days | NA |
Implement geospatial joint | 3 days | 07/02/2015 | 09/02/2015 | 3 days | 10/02/2015 | 12/02/2015 | 0 days | NA |
Import result into database | 1 day | 10/02/2015 | 10/02/2015 | Pushed to next iteration | 0 days | NA | ||
Geo-Visualization Module | ||||||||
Generate heatmap for accessibility index | 2 days | 11/02/2015 | 12/02/2015 | Pushed to next iteration | 0 days | NA | ||
Polygon selection on map with dynamic charting | New Task | 7 days | 11/02/2015 | 15/02/2015 | 0 days | NA | ||
Data-Visualization Module | ||||||||
Time Series Charts with horizontal line to reflect on percentile level | 2 days | 07/02/2015 | 08/02/2015 | 3 days | 07/02/2015 | 09/02/2015 | 0 days | NA |
Box plot with cross-filter | 3 days | 10/02/2015 | 12/02/2015 | 4 days | 10/02/2015 | 13/02/2015 | 0 days | NA |
Dynamic charting per region interacting with map | 2 days | 17/02/2015 | 19/02/2015 | 2 days | 17/02/2015 | 19/02/2015 | 0 days | NA |
Scatter plot on price vs accessibility index | 3 days | 14/02/2015 | 16/02/2015 | Pushed to next iteration | 0 days | NA | ||
Testing and Debugging | ||||||||
Testing: User Experience Test at URA | 1 day | 12/02/2015 | 12/02/2015 | 1 day | 12/02/2015 | 12/02/2015 | 0 days | NA |
Debugging | 4 days | 13/02/2015 | 16/02/2015 | 4 days | 13/02/2015 | 16/02/2015 | 0 days | NA |
Project Metrics
Schedule Metric
Bugs Metric
Bugs Score | ||
---|---|---|
Phase | Iteration | Total Bugs Score |
[1] Requirements Gathering | 1 | 6 |
[2] Technology Exploration | 2 | 0 |
[3] Wire-frames and Mockup Designs | 3 | 11 |
[4] Architecture Designs | 4 | 7 |
Iteration 1: Requirements Gathering | |||||||
---|---|---|---|---|---|---|---|
Error Message | Impact | Solutions | Date of Bug Faced | Time of Bug Faced | Date of Bug Solved | Time of Bug Solved | Days for Debug |
CSV file containing transaction data is loaded but could not print out JSON string due to null pointer exception. | High Impact - 5 | Do a thorough cleaning on CSV file to scan for null values | 01/11/2014 | 1000 | 03/11/2014 | 1200 | 3 |
Interactive legend does not work properly as filtering by only one property types still returns results of multiple property types. | Low Impact - 1 | Making use of a crossfilter library, dc.js to re-code the legend part in order to achieve correct results. | 03/11/2014 | 1400 | 04/11/2014 | 1600 | 2 |
Iteration 2: Technology Exploration | |||||||
---|---|---|---|---|---|---|---|
Error Message | Impact | Solutions | Date of Bug Faced | Time of Bug Faced | Date of Bug Solved | Time of Bug Solved | Days for Debug |
No bugs as this iteration consists of only research on technologies used for the project. |
Iteration 3: Wire-frames and Mockup Designs | |||||||
---|---|---|---|---|---|---|---|
Error Message | Impact | Solutions | Date of Bug Faced | Time of Bug Faced | Date of Bug Solved | Time of Bug Solved | Days for Debug |
Line graphs disappear when using date filter | High Impact - 5 | Make use of a new JavaScript cross-filter helper library, reductions, to re-code the line graphs. | 09/01/2015 | 1200 | 13/01/2015 | 0200 | 5 |
Not aware that coordinates returned by invoking OneMap API are in SVY21 projection system. Hence map points are in wrong positions. | High Impact - 5 | Make use of external JavaScript libraries for geo-projection conversion, called SVY21(). | 09/01/2015 | 1000 | 11/01/2015 | 1200 | 3 |
When user keys in a search query, search function might return global results instead of Singapore results. | Low Impact - 1 | Make the search function localised in Singapore instead of in a global scale. | 29/01/2015 | 1400 | 31/01/2015 | 1600 | 3 |
Iteration 4: Architecture Designs | |||||||
---|---|---|---|---|---|---|---|
Error Message | Impact | Solutions | Date of Bug Faced | Time of Bug Faced | Date of Bug Solved | Time of Bug Solved | Days for Debug |
Cannot retrieve the data from the PostGis database due to the mismatch of column names. | High Impact - 5 | Standarise the column name between the the java and javascipt files. | 14/02/2015 | 1400 | 15/02/2015 | 1600 | 2 |
Inconsistent filter criteria when the pie chart is changed to row chart and vice-versa for the onclick event. | Low Impact - 1 | Apply the filter criteria to the rendering of the chart for the onclick event. | 13/02/2015 | 0900 | 14/02/2015 | 1200 | 2 |
Polygon selection of the markers on the map does not affect the chart popup. | Low Impact - 1 | Change to the correct div id of the chart popup. | 15/02/2015 | 1300 | 16/02/2015 | 1600 | 2 |
Project Risks
Preparation Phase | ||||
---|---|---|---|---|
Risk | Probability | Impact | Result | Mitigation |
Bugs in charting library | High | High | A | Look for alternative charting |
Sponsors unsure of product delivery (they are unsure if analytics module is really needed) | High | High | A | Do a prototype first as a proof of concept |
Coordinated linked view | High | High | A | Use filter for individual module |
Stakeholder requirements not effectively communicated | High | High | A | Prepare more than what is required as a proof of concept |
Using new libraries, such as D3 and leaflet | Moderate | Moderate | B | Do Research on the library prior to coding |
Technical Complexity
Quality of Product
Intermediate Deliverables
Stage | Specification | Modules |
Project Management | Minutes | Minutes |
Schedule Metrics | Metrics | |
Requirements | Design Specifications | Project Scope |
Analysis | Use case | Use case Diagram |
Architecture Diagram | Architecture Diagram | |
Workflow Diagram | Workflow Diagram | |
Design | UI Mockups | UI Mockups |
Testing | User test plan | User Tests |
Testing
29 January 2015 & 12 February 2015 : User Experience Test | |||
---|---|---|---|
Objective | Questions Asked | Feedback | Solution |
To gather user experience feedback on the prototype after demonstrating the application to the participants. |
|
3 Property Analysts and 2 IT System Analysts
3 Physical Planners
|
|