Difference between revisions of "IS480 Team wiki: 2014T1 Happy Sounds Midterm Wiki"
Line 271: | Line 271: | ||
===Man Hours Calculation=== | ===Man Hours Calculation=== | ||
− | [ | + | [[Image:HS_Manhour_Calculation.JPG | 450px]] <br/> |
*Roughly reached our target of 12 hours/ member/ week | *Roughly reached our target of 12 hours/ member/ week | ||
Revision as of 15:56, 11 October 2014
MAIN WIKI | MIDTERM WIKI | FINAL WIKI |
Contents
Links and Slides
View our midterm presetation slides !
View our deployed Carousell web application here!
Project Progress Summary
Current Iteration: 7 (04/10/2014 - 16/10/2014)
- Till date of 09/10/2014, we have completed 62% of our project
- Next Iteration starts on 17/10/2014 and ends on 31/10/2014
- Completed development of brand new Offers Management Functionality that is only available on the web application
- Release and Deployment of our web application using Carousell live database
Project Highlights
- Added and completed a small User Test after acceptance with 5 existing Carousell Users
- Completed planned user test with 75 new and existing Carousell users
- No features removed from scope
- 2 new features added to scope
- Steep learning curve for front-end technologies
Milestones Completed
- Proposal Submission
- Acceptance Presentation
- User Test 1
- User Test 2
- Release 1
Milestones Remaining
- User Test 3
- Release 2
- Poster Submission
- User Test 4
- Final Release
- Final Presentation
- Poster Day
Project Management
Project Status
Module | Functionality | Status | Confidence Level (0-1) | Comment |
User Account Module | Login (email & Facebook) | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng |
Logout | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Register (email & Facebook) | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Password Reset | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Product Listings Module | Browse Product Listings | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng |
Search Products | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Product Filters (Category, Min & Max Price, Sort, Geolocation) | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
User Profile Module | Search Users | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng |
View User Profile | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Listings by User | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
User Profile (Product Category Filter) | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Recent Listings by User | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Product Details Module | View Product Details | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng |
View Product Comments | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Add Product Comment | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Recommended Product | Fully implemented and deployed. User tested in UT1 & UT2 |
1 | U San & Yi Sheng | |
Buy Now (Chat) | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Offers Management Module | Chat to Buy | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng |
Offer Filters (Offer Type & Offer Status) | Fully implemented and deployed. User tested in UT2 |
1 | U San | |
Sort Offers | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
Search Offers | Fully implemented and deployed. User tested in UT2 |
1 | U San & Yi Sheng | |
User Profile Module | Follow Users | To be developed in Iteration 7 | 1 | Yi Sheng |
User Review Ratings | To be developed in Iteration 7 | 1 | U San & Yi Sheng | |
Update User Profile | To be developed in Iteration 8 | 1 | U San & Yi Sheng | |
Product Details Module | Like Product | To be developed in Iteration 7 | 1 | U San & Yi Sheng |
Share Product (Facebook/Pinterest/Twitter) | To be developed in Iteration 7 | 1 | Yi Sheng | |
List/Sell Product Module | Progressive Validation | To be developed in Iteration 8 | 0.8 | U San & Yi Sheng |
Image Upload | To be developed in Iteration 8 | 0.8 | U San & Yi Sheng | |
User Account Module | Activity/Notification Log | To be developed in Iteration 8 | 0.5 | U San & Yi Sheng |
Time-based Security Token | To be developed in Iteration 9 | 0.5 | U San |
Planned Schedule Vs Actual Schedule
Planned Schedule
Actual Schedule
Changes in User Test date
- Changed the number of UTs from 3 to 4
- Added in additional UT1 scheduled on 14th September
- Changed UT 2 start date from 29th September to 4th October
- Change 1 - Earlier completion of Iteration due to lower count of bugs. So, we ended iteration early to devote more time for implementation of more complex functionalities in future iterations.
- Delay 1 - Major Delay was faced due to scope expansion. "User Profile (Product Category Filter)" was added to the scope as per client requirements. Thus, we needed more time to complete the additional feature as well as the planned features for the particular iteration.
- Delay 2 - Delay caused due to underestimation of time required to develop an entirely new feature from scratch. "Offers Management" is not a part of the Mobile app. So, we had to develop it from scratch due to which a large number of bugs were detected. Extra time was required to debug the application
Man Hours Calculation
- Roughly reached our target of 12 hours/ member/ week
Changes in Scope
Project Metrics
Schedule Metrics
Click here to view our schedule metrics
Schedule Metrics Graph
- Iteration 1,2, 3 & 4 are within the safe zone
- Iteration 5 - Major delay was caused due to scope expansion. Schedule was revised for Iteration 6 & 7
- Iteration 6 - Delay was caused due to underestimation of time required to develop an entirely new feature from scratch and then to debug the application. UT2 was postponed as we wanted to debug the application before the UT. Scope and schedule have been revised for all future iterations.
Bug Metrics
Click here to find out how we calculate our bug score and what are the respective action plans for different category of score.
Bug Metrics Score Graph
Bug Metrics Impact Distribution
- Bug scores for Iteration 3, 4, & 5 are within the safe zone
- Bug score exceeded safe limit in iteration 6. This was due to the development of the new feature "Offers Management" from scratch
Outstanding Bugs
- Iteration 5: Product Details page - Product title extends out of image thumbnail (hover over images from 'Other items from the same category')
Project Risks
Click here to view all our Risks
Top 3 Risks
Risk Event | Likelihood | Impact | Category | Mitigation |
Difficult to meet client as Carousell is now rapidly expading to SEA region due to which the clients are very busy (remain abraod for long periods) | High | Medium | A | Communicate with the clients via HipChat to update them on the progress and to get their feedback |
Sponsors make major changes to functionalities in their native app, thus necessitating a rescope of our web app | Medium | High | A | Regular communication with the clients to keep ourselves informed about the latest status in the firm |
With the usage of new technologies, we may run into trouble implementing certain complex functionality | Medium | High | A |
Research more on the support our technologies have for the functionalities we need, and consider alternatives |
Technical Complexity
Click here to view our Technical Complexities
Local Django Backend
- While a Vagrant box had been set up for us to replicate the Django backend, we still had to do much work before we could get the actual server up and running
- Manually installed services such as elasticsearch server, rabbitmq, and redis, as well as specific installation steps like those required for PostGIs
- Research and implement workaruonds for unexpected bugs inherent when integrating many libraries
- Populate test database with hundreds of products imported from the live database
Combining Angular and Flask
- Since Angular was designed to handle routing, the framework assumes that routing should be handled in Angular. This meant we had to deal with issues relating to linking between pages, which no longer work when we are not using Angular's routing.
- Flask's jinjga templates uses the same double curly braces as Angular's templating system, which required yet another set of workarounds.
Responsive CSS with Media Queries
- We relied on CSS as opposed to the Javascript alternative
- We kept track of the different screen sizes to target, tweaking the sizes and margins as we went along, ensuring that elements are not out of alignment.
Serializers in Django
- Code reuse – If a new variable is added or renamed, we only have to update it in one place, and all views that use this serializer would be automatically updated.
Offers Management APIs
- Single API is used to handle multiple permutations of search parameters
- Makes integration with Angular development easier
- Complexity faced due to the fact that we have several permutations of different states – pending, accepted, declined, and different sort options – username ascending and descending, etc, etc.
Quality of Product
Intermediate Deliverables
Stage | Specification | Links |
Project Management | Meeting Minutes | Meeting Minutes |
Schedule Metrics | Schedule Metrics | |
Bug Metrics | Bug Metrics | |
Requirements | Motivation Video | Video |
Analysis | Use Case | Use Case |
Architecture Diagram |
System Architecture Overview | |
Offers State Diagram | Offers State Diagram | |
Design | UI Prototype | Mockups |
Testing | User test plan | Testing |
Deployment
Deployed Carousell application with live database
User Testing
User Test | Date of User Test | Objectives | No of Participants | Link |
User Test 1 (Existing Carousell users) |
14/09/2014 - 15/09/2014 |
|
5 | User Test 1 |
User Test 2 (Existing and New Carousell users) |
04/10/2014 - 06/10/2014 |
|
75 | User Test 2 |
Reflection
As a Team:
- Learn about real world projects and the complexities associated
- Learn new technologies
- Learn to work as per a changing scope as specified by the client
- Learn to coordinate within the team
- Learn to improve an existing application and value add to our client
- Learn to juggle the rest of our projects along with FYP
Sulovna Susant:
- Enhanced and improved on project management skills
- Learnt to keep the team on track and informed of the happenings
- Learnt to balance between gaining technical knowledge to understand developer’s concerns, and project management
- Learnt to balance the needs of various stakeholders, with the team’s capability and schedule in mind
Heng U San:
- Learnt the power of automated task runners to streamline build process
- Learnt the importance of good modular backend structure
- Learnt the importance of communication code collaboration
- Learnt what it takes to maintain a responsive web design
Lim Yi Sheng
- Learnt how to use a framework such as AngularJS to best manage presentation logic
- Learnt how to negotiate with stakeholders and strike a balance between their expectations and what I can achieve
- Learnt and understood industry best practices and design trends, and mimicked them for this project
- Learnt importance of communication for code collaboration
Tan Qi Yang
- Enhanced and improved on project management skills
- Learnt the nuances of a QA: When to and not to allow the developer to release application in order to meet deadline
- Learnt to conduct user tests and gather feedback to deliver a quality application
- Learnt to work closely with developers to meet deadlines