HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2014T1 Team Epsilon Mid-Term"

From IS480
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 561: Line 561:
 
|-
 
|-
 
| Prototype || User Flow ||  
 
| Prototype || User Flow ||  
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Scope_iOS_User_Flow iOS User Flow], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Scope_Admin_User_Flow Admin User Flow], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Scope_Agency_User_Flow Agency User Flow]
+
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Hi-Fi_iOS_App iOS User Flow], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Lo-Fi_Admin_Web_Portal Admin User Flow], [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Prototype Agency User Flow]
 
|-
 
|-
 
| rowspan="2" | Design  
 
| rowspan="2" | Design  
|| ER Diagram || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Documentation#E-R_Diagram E-R Diagram]
+
|| ER Diagram || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Design_Overview#E-R_Diagram E-R Diagram]
 
|-
 
|-
|| Architecture  || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Documentation#System_Architecture System Architecture],
+
|| Architecture  || [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Design_Overview#System_Architecture System Architecture],
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Documentation#MVC_Application_Layer_Architecture MVC Application Layer Architecture]
+
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_Design_Overview#MVC_Application_Layer_Architecture MVC Application Layer Architecture]
 
|-
 
|-
 
| Testing || Usability Testing 1|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_User_Testing#Usability_Testing_1 UT 1 Details & Follow-Up Actions]
 
| Testing || Usability Testing 1|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2014T1_Team_Epsilon_User_Testing#Usability_Testing_1 UT 1 Details & Follow-Up Actions]

Latest revision as of 23:47, 22 November 2014

Team Epsilon Logo.png.png

Home   Project Overview   Project Management   Documentation   Team


[ Mid-Term ] [ Final ]

Mid-Term Project Progress Summary

Mid-Term Presentation Slides: Click Here

Deployed Site: Click Here

For the rest of our submission deliverables, Click Here

Project Highlights

  1. Project Business Value
    1. Crowdsourcing feedback platform
    2. Island-wide implementation
    3. Caters to current user's needs
  2. List of requirement changes
    1. Added Edit Agency under non-core functionality in iteration 7
    2. Added Audit Log under non-core functionality in iteration 7
  3. Schedule Updates since Acceptance
    1. App Store Submission delayed from 7th Sep 2014 to 5th Oct 2014
    2. App submitted to App Store for approval on 4th Oct 2014
    3. Used up buffer period after iteration 6 to complete unfinished core functions
    4. Additional requirements requested are scheduled in iteration 7 where the team will try to complete as much functions as possible

Project Management

Project Status

There are a total of 9 iterations for our project. As of Mid-Term, we have just embarked on the start of iteration 7.

This is the last feature-development iteration, where we will be attempting to complete as many secondary functions as possible before wrapping up the development with System and User Interface refinements in iteration 8.

Iteration 9 will be the time period where we attempt to gather real public user and feedback data from users who download our app from the App Store.

A marketing campaign is also currently in discussion with our sponsor, where we plan to attract public users to use our system by offering incentives such as the chance to win vouchers.

The iOS application has been submitted to Apple App Store and is currently pending approval.

Task/ Function/ Features, etc Status Confident Level (0-1) Comment
Account Management Fully deployed and tested 100% 1 Benjamin, Lavinia, JongHyeok
Submit Feedback Fully deployed and tested 100% 1 Benjamin
Feedback Displays 80% 1 Benjamin, Lavinia, JongHyeok: Display My Feedback remaining.
Closing of Feedback
Backend Management
Fully deployed and tested 100% 1 Lavinia, JongHyeok
Vote & Comment Fully deployed and tested 100% 1 Benjamin, Lavinia, JongHyeok
Agency Update 70% 0.7 Lavinia, JongHyeok: Image attachment remaining.
Report Abuse 70% 1 Benjamin, Lavinia, JongHyeok: Description remaining.
Proximity Sorting 0% Starting after midterm 1 Benjamin, Lavinia, JongHyeok
Notification 0% Starting after midterm 0.75 Benjamin, Lavinia, JongHyeok: Apple Push Notification is something new for the team & might prove to be more challenging than normal notifications.
Audit Log 0% Starting after midterm 0.9 Lavinia, JongHyeok
Export Report 0% Starting after midterm 0.6 Lavinia, JongHyeok


Project Schedule (Plan Vs Actual)

Since Acceptance, the scope has increased to include [Edit Agency] and [Audit Log].

Both of these functions will be scheduled at iteration 7 along with all the non-core functions and the team will work towards getting as many functions complete as possible.

Iteration Planned Actual Comments
1 Requirement Gathering 01 Jun 2014 01 Jun 2014 Team.
Create Technical Diagrams 8 Jun 2014 8 Jun 2014 Team.
Explore Technology 14 Jun 2014 14 Jun 2014 Team.
2 Define Scope 08 Jun 2014 10 Jun 2014 Team. New technology & steep learning curve resulted in more time needed to learn language
Set up Database 15 Jun 2014 15 Jun 2014 JongHyeok & Joel.
Set up SMS Verification 15 Jun 2014 14 Jun 2014 Lavinia.
User-Flow Prototype 25 Jun 2014 25 Jun 2014 Joel.
Web: Registration 19 Jun 2014 19 Jun 2014 Jong Hyeok & Lavinia.
Web: Login 23 Jun 2014 23 Jun 2014 Jong Hyeok & Lavinia.
Web: Facebook Integration 28 Jun 2014 28 Jun 2014 Jong Hyeok & Lavinia.
iOS: Registration 16 Jun 2014 16 Jun 2014 Benjamin.
iOS: Login 21 Jun 2014 21 Jun 2014 Benjamin.
iOS: Facebook Integration 26 Jun 2014 26 Jun 2014 Benjamin.
Proposal Submission 18 Jun 2014 18 Jun 2014 Team.
3 Initial Requirement Document 17 Jul 2014 17 Jul 2014 Joel.
iOS High-Fidelity Prototype 27 Jul 2014 27 Jul 2014 Joel.
Web: Display All Feedback 23 Jul 2014 23 Jul 2014 Jong Hyeok & Lavinia.
iOS: Display All Feedback 23 Jul 2014 23 Jul 2014 Benjamin.
4 Finalized Requirement Document 6 Aug 2014 6 Aug 2014 Joel.
Web: Display Detailed Feedback 13 Aug 2014 13 Aug 2014 Jong Hyeok & Lavinia.
iOS: Submit Basic Feedback 13 Aug 2014 13 Aug 2014 Benjamin.
Acceptance Presentation 14 Aug 2014 14 Aug 2014 Team.
5 Web: Display Agency Feedback 21 Aug 2014 21 Aug 2014 Jong Hyeok & Lavinia.
Web: Mark Feedback as Resolved 23 Aug 2014 23 Aug 2014 Jong Hyeok & Lavinia.
Admin: Login 24 Aug 2014 24 Aug 2014 Jong Hyeok & Lavinia. Shifted from Iteration 4.
Admin: Display All Feedback 25 Aug 2014 25 Aug 2014 Jong Hyeok & Lavinia. Shifted from Iteration 4.
Admin: Display Detailed Feedback 26 Aug 2014 26 Aug 2014 Jong Hyeok & Lavinia.
Admin: Tag Agency to Feedback 27 Aug 2014 27 Aug 2014 Jong Hyeok & Lavinia.
iOS: Submit Full Feedback 27 Aug 2014 28 Aug 2014 Benjamin. Annotation proved to be more complex than initially thought and took a little more time for development.
Usability Testing 1 29 Aug 2014 1 Sep 2014 Team. Testing took place over several days to accommodate users’ schedule.
6 Web: Close Feedback 10 Sep 2014 11 Sep 2014 Jong Hyeok & Lavinia. Technical complexity in checking of feedback owner. Shifted from Iteration 5.
Web: Agency Update 13 Sep 2014 17 Sep 2014 Jong Hyeok & Lavinia. Customization of entry and image upload was more challenging than the team initially thought. Shifted from Iteration 5.
Web: Report Abuse 15 Sep 2014 20 Sep 2014 Jong Hyeok & Lavinia. Slight delay due to backend complexity of Report Abuse with status change.
Web: Comment on Feedback 18 Sep 2014 25 Sep 2014 Jong Hyeok & Lavinia. Complexity of comment is higher than expected due to integration with Agency Update.
Web: Vote on Feedback 20 Sep 2014 27 Sep 2014 Jong Hyeok & Lavinia. Delayed due to above functions snow-balling.
Admin: Close Feedback 23 Sep 2014 29 Sep 2014 Jong Hyeok & Lavinia. Used buffer period after this iteration to offset delay.
iOS: Display Detailed Feedback 15 Sep 2014 20 Sep 2014 Benjamin. Detailed Feedback has a lot more components that caused some UI instability.
iOS: Comment on Feedback 19 Sep 2014 25 Sep 2014 Benjamin. Took longer than planned due to making sure app is sufficiently stable for App Store submission.
iOS: Vote on Feedback 23 Sep 2014 30 Sep 2014 Benjamin. Took longer than planned due to making sure app is sufficiently stable for App Store submission. Used buffer period after this iteration to offset delay.
App Store Submission 1 5 Oct 2014 4 Oct 2014 Benjamin. Shifted from Iteration 5. Used buffer period after this iteration to offset delay.


Project Metrics

Absolute Days Delayed

Epsilon Midterm Absolute Days Delayed.png

This is a snapshot of the mid-term absolute days delayed.

For the most updated absolute days delayed, Click Here


Schedule Index

Schedule Index Chart Epsilon.png

All iterations so far are on time, except for iteration 6.

However, we have a buffer period scheduled right after iteration 6 to catch up on unfinished functions.

After factoring the buffer period into the equation, iteration 6 is on-time too.

This is a snapshot of the mid-term schedule index.

For the most updated schedule index and how it is calculated, Click Here


Effort Metric

Epsilon Midterm Effort Metric.png

This is a snapshot of the mid-term effort metric.

For the most updated effort metric, Click Here


Bug Metric

Epsilon Midterm Bug Metric.png

This is a snapshot of the mid-term bug metric.

For the most updated bug metric and how it is calculated, Click Here


Project Risks

Risk Consequences Likelihood Impact Level (Derived) Mitigation Strategy Status
Updates to iOS Project schedule may be delayed to support the new iOS version release High High A Research into iOS update roadmap to better gauge when new versions will be released (Apple often seeds beta versions to developers early) as well as what changes will come with it.

Evaluate if there is a need to allocate time to support the new update. If there is, adjust the schedule accordingly, taking into account the overall development progress using the critical path.

Mitigated
Change or increase in requirements Project schedule may be delayed to accommodate the changes to the project.

Increase in project requirements may lead to scope creep.

Medium High A Work with the sponsor to create a requirement document that both parties agree on. Come to an understanding that any change requests would be subject to the other party’s approval based on his/their judgement of the necessity of the change.

Create a change management metrics to help with the change management decision. Keep track of all change requests.

Mitigated
Team member pulls out of project Team might be overwhelmed with project scope due to the sudden reduction in manpower Low High B Reshuffle roles and responsibilities to fill up the gap created by the team member’s exit.

Source for another suitable team member if possible and bring him/her up to speed.
Consider scoping down to make the project more manageable for the smaller team.

Mitigated

This is a snapshot of the top 3 most interesting mid-term risk management list.

For the most updated and full list of risks, Click Here


Quality of product

Technical Complexity

1. Image Handling

Both our iOS and web platforms require the upload and storage of images and we want to standardize how this is done across all platforms. This has the additional benefit of just a one time pain to configure for image handling. To do so, the devise would have to send the image over the rest service using our API. However, the API was unable to receive the image directly so we had to encode it into a base64 string before sending. We initially wanted to decode the image and store it in Amazon Web Services S3 via the library “Paperclip". However, the decoding process sometimes resulted in corruption of the images. As such, we switched to storing the encoded base64 image string into the database and rendering it directly.

Image Handling.png

We created a pop-up to display an enlarged version of the image. However, this disabled the next button in our image slider and our navigation tabs. This occurred because the z-index of the hidden pop-up image is greater than the image slider and navigation bar, causing the hidden pop-up image to be in front of those button/ tabs. To fix this, we had to overwrite the z-index of pop-up image provided by "Twitter Bootstrap” so that it would be smaller than the image slider and navigation bar prior to popping up and greater after popping up. We also rewrote the pop-up javascript provided by "Twitter Bootstrap” so that the pop-up will now pop-up from the image slider and not from the top of the page.

Z-index.png


2. Layering process

The layering process is done under a fix frame of image view and gesture recogniser. Upon a tap of the problem on the image, another callout view will be layer upon the image view using the x and y axis provided from the tap gesture recogniser.

Layering Epsilon.png

3. Annotation Flow

When a user tap on the gesture recogniser, a callout view will be layer upon base on what the user tap. The call out view uses a text counter to calculate the length of the text for the dimension of the callout view box. Upon user enter the text that they wanted to annotate, the first callout view will be dismiss and another callout view with the user’s text will be displayed.

Intermediate Deliverables

Stage Specification Modules
Project Management Minutes Meeting Minutes
Metrics

Schedule Metric, Bug Metric, Effort Metric, Change Log, Product Backlog

Risk

Risk Management

Requirements Storyboard Comic Storyboard
Design Priority Diagram Priority Circle, Priority Table
Analysis Use Case Use Case Diagram, Use Case Description
Prototype User Flow

iOS User Flow, Admin User Flow, Agency User Flow

Design ER Diagram E-R Diagram
Architecture System Architecture,

MVC Application Layer Architecture

Testing Usability Testing 1 UT 1 Details & Follow-Up Actions

Deployment

iOS App: Awaiting App Store Approval

Deployed Site: Click Here


Testing

User Testing 1: Click Here

Reflection

Team Reflection & Learning Outcome

Our team learnt that communication between team members and the sponsor is vital in a developing a software project. Managing changing requirements is something that we should be expecting to encounter in every project we do, but the key is in evaluating the change requirement proposed, and see how it can be fit into the current planned schedule. If the change requirement is important to the business process, and is of high business value, then some other parts of the scope has to give way. Besides prioritizing the functions and scope, we should also have mitigation plan in place to handle change and risk management.