HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2018T1 analyteaka metrics"

From IS480
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 157: Line 157:
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 7
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 7
 
|style="text-align: center;"| 8
 
|style="text-align: center;"| 8
|style="text-align: center;"| 64
+
|style="text-align: center;"| 63
|style="text-align: center;"| 9
+
|style="text-align: center;"| 8
 
|style="text-align: center;"| 0
 
|style="text-align: center;"| 0
 
|style="text-align: center;"| 59
 
|style="text-align: center;"| 59
|style="text-align: center;"| 64
+
|style="text-align: center;"| 63
|style="text-align: center;"| 113%
+
|style="text-align: center;"| 100%
 
|style="text-align: left;"| Team is on schedule, carry on with current estimation of tasks.
 
|style="text-align: left;"| Team is on schedule, carry on with current estimation of tasks.
 
|-
 
|-
Line 168: Line 168:
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 8
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 8
 
|style="text-align: center;"| 7
 
|style="text-align: center;"| 7
|style="text-align: center;"| 71
+
|style="text-align: center;"| 70
 
|style="text-align: center;"| 7
 
|style="text-align: center;"| 7
 
|style="text-align: center;"| 0
 
|style="text-align: center;"| 0
 
|style="text-align: center;"| 66
 
|style="text-align: center;"| 66
|style="text-align: center;"| 71
+
|style="text-align: center;"| 70
 
|style="text-align: center;"| 100%
 
|style="text-align: center;"| 100%
 
|style="text-align: left;"| Team is on schedule, carry on with current estimation of task  
 
|style="text-align: left;"| Team is on schedule, carry on with current estimation of task  
Line 179: Line 179:
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 9
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 9
 
|style="text-align: center;"| 7
 
|style="text-align: center;"| 7
|style="text-align: center;"| -
+
|style="text-align: center;"| 80
|style="text-align: center;"| -
+
|style="text-align: center;"| 10
|style="text-align: center;"| -
+
|style="text-align: center;"| 0
|style="text-align: center;"| -
+
|style="text-align: center;"| 73
|style="text-align: center;"| -
+
|style="text-align: center;"| 80
|style="text-align: center;"| -
+
|style="text-align: center;"| 143%
|style="text-align: left;"| -
+
|style="text-align: left;"| Team is ahead of schedule. Effort required to complete task is over-estimated. Re-estimate tasks for future iterations. Add the number of days gained to buffer days
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 10
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 10
 
|style="text-align: center;"| 9
 
|style="text-align: center;"| 9
|style="text-align: center;"| -
+
|style="text-align: center;"| 90
|style="text-align: center;"| -
+
|style="text-align: center;"| 10
|style="text-align: center;"| -
+
|style="text-align: center;"| 0
|style="text-align: center;"| -
+
|style="text-align: center;"| 82
|style="text-align: center;"| -
+
|style="text-align: center;"| 90
|style="text-align: center;"| -
+
|style="text-align: center;"| 111%
|style="text-align: left;"| -
+
|style="text-align: left;"| Team is on schedule, carry on with current estimation of tasks.
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 11
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 11
|style="text-align: center;"| 8
+
|style="text-align: center;"| 9
|style="text-align: center;"| -
+
|style="text-align: center;"| 101
|style="text-align: center;"| -
+
|style="text-align: center;"| 9
|style="text-align: center;"| -
+
|style="text-align: center;"| 0
|style="text-align: center;"| -
+
|style="text-align: center;"| 93
|style="text-align: center;"| -
+
|style="text-align: center;"| 101
|style="text-align: center;"| -
+
|style="text-align: center;"| 100%
|style="text-align: left;"| -
+
|style="text-align: left;"| Team is on schedule, carry on with current estimation of tasks.
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 12
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 12
|style="text-align: center;"| 8
+
|style="text-align: center;"| 7
|style="text-align: center;"| -
+
|style="text-align: center;"| 108
|style="text-align: center;"| -
+
|style="text-align: center;"| 7
|style="text-align: center;"| -
+
|style="text-align: center;"| 0
|style="text-align: center;"| -
+
|style="text-align: center;"| 100
|style="text-align: center;"| -
+
|style="text-align: center;"| 108
|style="text-align: center;"| -
+
|style="text-align: center;"| 100%
|style="text-align: left;"| -
+
|style="text-align: left;"| Team is on schedule, carry on with current estimation of tasks.
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 13
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 13
 +
|style="text-align: center;"| 6
 +
|style="text-align: center;"| 114
 
|style="text-align: center;"| 7
 
|style="text-align: center;"| 7
|style="text-align: center;"| -
+
|style="text-align: center;"| 0
|style="text-align: center;"| -
+
|style="text-align: center;"| 106
|style="text-align: center;"| -
+
|style="text-align: center;"| 114
|style="text-align: center;"| -
+
|style="text-align: center;"| 117%
|style="text-align: center;"| -
+
|style="text-align: left;"| "Team is ahead of schedule. Effort required to complete task is over-estimated.
|style="text-align: center;"| -
+
Re-estimate tasks for future iterations
|style="text-align: left;"| -
+
Add the number of days gained to buffer days"
 +
 
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 14
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 14
|style="text-align: center;"| 2
+
|style="text-align: center;"| 4
 
|style="text-align: center;"| -
 
|style="text-align: center;"| -
 
|style="text-align: center;"| -
 
|style="text-align: center;"| -
Line 246: Line 249:
  
 
[[File:Analyteka_Task_Metrics.png|1000px|center]]
 
[[File:Analyteka_Task_Metrics.png|1000px|center]]
 +
[[File:PlannedVsActualTask.png|1000px|center]]
  
  
Line 369: Line 373:
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 9
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 9
 
|style="text-align: center; background-color:#ffffff;"| 0
 
|style="text-align: center; background-color:#ffffff;"| 0
|style="text-align: center; background-color:#ffffff;"| 3
+
|style="text-align: center; background-color:#ffffff;"| 4
|style="text-align: center; background-color:#ffffff;"| 1
+
|style="text-align: center; background-color:#ffffff;"| 2
|style="text-align: center; background-color:#ffffff;"| 25
+
|style="text-align: center; background-color:#ffffff;"| 40
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 10
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 10
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 2
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 0
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 3
 +
|style="text-align: center; background-color:#ffffff;"| 32
 
|-
 
|-
  
Line 384: Line 389:
 
|style="text-align: center; background-color:#ffffff;"| -
 
|style="text-align: center; background-color:#ffffff;"| -
 
|style="text-align: center; background-color:#ffffff;"| -
 
|style="text-align: center; background-color:#ffffff;"| -
 +
|style="text-align: center; background-color:#ffffff;"|
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 12
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 12
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 5
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 1
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 2
 +
|style="text-align: center; background-color:#ffffff;"| 30
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 13
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 13
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 3
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 1
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 2
 +
|style="text-align: center; background-color:#ffffff;"| 28
 
|-
 
|-
  
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 14
 
!style="color:#7D5B53; text-align: center; background-color:#ffffff;"| 14
 +
|style="text-align: center; background-color:#ffffff;"| 1
 
|style="text-align: center; background-color:#ffffff;"| -
 
|style="text-align: center; background-color:#ffffff;"| -
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 1
|style="text-align: center; background-color:#ffffff;"| -
+
|style="text-align: center; background-color:#ffffff;"| 11
 
|-
 
|-
  
 
|}
 
|}
 +
 +
[https://docs.google.com/spreadsheets/d/1da-IZ_trfMDsGaWu988WJtovUgX7HZiEDxW4aONqcWY/edit?usp=sharing Bug Logs]
  
 
[[File:Analyteka_Bug_Metrics.png|800px|center]]
 
[[File:Analyteka_Bug_Metrics.png|800px|center]]
 +
 +
[[File:Analyteka_Bug_Score.png|800px|center]]
  
 
[[File:Analyteaka issues.png|1000px|center]]
 
[[File:Analyteaka issues.png|1000px|center]]
Line 437: Line 450:
 
| 6 || 9 || Datastore is too slow, we would require a faster system for pulling of data. Hence, the need to dd Mysql to contain the aggregated data.  || Backend || High || Solomon || Closed || 3/9/18 || 13/9/18 || Datastore is meant for long-term storage. Hence even retrieval of a single record will take at least 2 seconds. Hence, there's a need to speed up the process by using aggregating of data. Data will still be uploaded to datastore and during certain period, a cron job will trigger and aggregate the data to MySQL, allowing the front end to reduce the size of the data being retrieve while increasing the processing speed by reducing the computational power needed.  
 
| 6 || 9 || Datastore is too slow, we would require a faster system for pulling of data. Hence, the need to dd Mysql to contain the aggregated data.  || Backend || High || Solomon || Closed || 3/9/18 || 13/9/18 || Datastore is meant for long-term storage. Hence even retrieval of a single record will take at least 2 seconds. Hence, there's a need to speed up the process by using aggregating of data. Data will still be uploaded to datastore and during certain period, a cron job will trigger and aggregate the data to MySQL, allowing the front end to reduce the size of the data being retrieve while increasing the processing speed by reducing the computational power needed.  
 
|-
 
|-
| 7 || Example || Example || Example || Example || Example || Example || Example || Example || Example
+
 
|-
 
| 8 || Example || Example || Example || Example || Example || Example || Example || Example || Example
 
|-
 
| 9 || Example || Example || Example || Example || Example || Example || Example || Example || Example
 
|-
 
| 10 || Example || Example || Example || Example || Example || Example || Example || Example || Example
 
 
|}
 
|}
  

Latest revision as of 09:16, 23 November 2018

Analyteaka Header.png


HOME

ABOUT US

PROJECT OVERVIEW

PROJECT MANAGEMENT

DOCUMENTATION



Analyteaka Task.png

We used a combination of task metric calculations to track our progress of task completion through the project.

  1. Quantitative Task Metric Measure to gauge task estimation efforts and appropriate action taken to address any over/underestimations

Calculation of Task Metric Score
Task Metric Score = (Actual Tasks Completed / Planned Tasks to Complete) x 100%

Score Action
< 50% Team is very significantly behind schedule, advise contacting supervisor for advice, re-estimation of tasking and dropping of non-essential functionality.
50% to 90% Team is behind schedule, consider number of tasks attempted and circumstances, advise re-estimation of tasking.
90% to 110% Team is on schedule, carry on with current estimation of tasks.
110% to 150% Team is ahead of schedule. Effort required to complete task is over-estimated.
> 150% Team is very significantly ahead of schedule schedule, advise contacting supervisor for advice and re-estimation of tasking.


Iteration Number Of Tasks Total Complete Completed within the same iteration Completed within a different iteration Planned Cumulative Task Count Actual Cumulative Task Count Task Metrics Action
1 8 8 8 0 8 8 100% Team is on schedule, carry on with current estimation of tasks.
2 9 17 9 0 17 17 100% Team is on schedule, carry on with current estimation of tasks.
3 6 23 6 0 23 23 100% Team is on schedule, carry on with current estimation of tasks.
4 5 28 5 0 28 28 100% Team is on schedule, carry on with current estimation of tasks.
5 10 42 14 0 38 42 140% Team is ahead of schedule. Effort required to complete task is over-estimated. Re-estimate tasks for future iterations. Add the number of days gained to buffer days.
6 13 55 14 0 51 55 108% Team is on schedule, carry on with current estimation of tasks.
7 8 63 8 0 59 63 100% Team is on schedule, carry on with current estimation of tasks.
8 7 70 7 0 66 70 100% Team is on schedule, carry on with current estimation of task
9 7 80 10 0 73 80 143% Team is ahead of schedule. Effort required to complete task is over-estimated. Re-estimate tasks for future iterations. Add the number of days gained to buffer days
10 9 90 10 0 82 90 111% Team is on schedule, carry on with current estimation of tasks.
11 9 101 9 0 93 101 100% Team is on schedule, carry on with current estimation of tasks.
12 7 108 7 0 100 108 100% Team is on schedule, carry on with current estimation of tasks.
13 6 114 7 0 106 114 117% "Team is ahead of schedule. Effort required to complete task is over-estimated.

Re-estimate tasks for future iterations Add the number of days gained to buffer days"

14 4 - - - - - - -


Analyteka Task Metrics.png
PlannedVsActualTask.png


Analyteaka Bug.png

Calculation of Impact Score

Total = 1 x num (low) + 5 x num (high) + 10 x num (critical)

Severity Description
Low Impact (Score: 1) Inconsequential. Simple typo error or minor user interface misalignment.
High Impact (Score: 5) Non-critical functionalities are not working, but still system runs.
Critical Impact (Score: 10) The system or core functionality is down. Immediate attention is required

Mitigation Plan

Points in Iteration Action
Points =< 10 Fix during buffer time only.
10 < Points < 20 Use the planned debugging time.
Points >= 20 Stop current development and resolve the bug immediately. Reschedules the project.


Iteration Impact
Low High Critical Total Score
1 0 0 0 0
2 0 3 0 15
3 0 0 0 0
4 0 0 1 10
5 0 1 1 15
6 1 3 0 16
7 2 4 0 22
8 1 2 3 41
9 0 4 2 40
10 2 0 3 32
11 - - -
12 5 1 2 30
13 3 1 2 28
14 1 - 1 11

Bug Logs

Analyteka Bug Metrics.png
Analyteka Bug Score.png
Analyteaka issues.png

Issues metrics show the issues that surfaced during the course of our project. As well as steps being taken to resolve it.

# Iteration Issues Module Priority Initiator Status Open on Closed on Action taken
1 3 Client requested everything to be done on Google standard engine. However, machine learning cannot be done on standard. It would require a flexible or VM instance. Backend High Chester Ong Closed 20/6/18 22/6/18 Adding compute engine as the backend.
2 5 During integration, we discovered issues with running flask and dash concurrently. Therefore we decide to use iframe or run dash on flask or flask on dash. Visualization High Larry Closed 9/7/18 9/7/18 Use iframe to integrate dash and flask.
3 5 Server log shows unauthorized user from China trying to ssh into our compute engine. However, we are not at the stage of whitelisting IP currently. Therefore, we need an alternative solution for security hardening. Backend Medium Solomon Closed 13/7/18 13/7/18 "Proceed with hardening

Non-default SSH port Uncomplicated Firewall Disabled root access Disabled password RSA key only LogWatch enabled Fail2ban enabled "

4 6 We realize gender has no bearing on the customer clustering result as purchasing decision tends to be made as a family. Therefore, we would need a different formula to cluster customer. Machine learning low Hong yang Closed 24/7/18 25/7/18 Dropping gender and use house size, household income, age, race and district for clustering purpose
5 7 Notice high swap on the compute engine system. This affects the performance of the system, increasing load time by 230% (based on browser inspector) Backend Medium Solomon Closed 8/8/18 8/8/18 Increase compute engine instance size from f1-micro to g1-small and activate auto scaling for app engine. Will monitor for the next few iter before deciding on CPU and ram size for custom machine size.

Adding of gunicorn with 2 workers threads

6 9 Datastore is too slow, we would require a faster system for pulling of data. Hence, the need to dd Mysql to contain the aggregated data. Backend High Solomon Closed 3/9/18 13/9/18 Datastore is meant for long-term storage. Hence even retrieval of a single record will take at least 2 seconds. Hence, there's a need to speed up the process by using aggregating of data. Data will still be uploaded to datastore and during certain period, a cron job will trigger and aggregate the data to MySQL, allowing the front end to reduce the size of the data being retrieve while increasing the processing speed by reducing the computational power needed.


Analyteaka Footer Transparent.png