Difference between revisions of "IS480 Team wiki:2017T2 Zenith FinalWiki"
Line 58: | Line 58: | ||
Unexpected events: | Unexpected events: | ||
− | * List of requirement changes after Midterms can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till | + | * List of requirement changes after Midterms can be viewed [[IS480_Team_wiki:2017T2_Zenith_change_management#Change log (till Finals)| here]]. |
</div> | </div> | ||
Revision as of 23:48, 3 April 2018
Midterm Wiki | Final Wiki |
Project Progress Summary
Finals Slides
Deployed site link
Project Highlights
Our project schedule is divided into 13 iterations.
- We are currently on our 12th iteration (26 Mar - 8 Apr 2018).
- Up till 3 Apr 2018, we have completed 94% of our development progress.
- 2 User Acceptance Tests were conducted before the Final Presentation. The results are shown here.
- Achieved and exceeded Midterms X-factor. <<update after UAT>>
Unexpected events:
- List of requirement changes after Midterms can be viewed here.
Project Management
Iteration Progress: 12 of 13
Features Completion: 94% (43 out of 46 features)
Confidence Level: 100%
Project Status:
A breakdown of tasks is shown in our project scope.
Project Schedule (Plan Vs Actual):
Milestones Overview:
Project Schedule:
Project Metrics:
Task metric
Score | TM <= 50 | 50 < TM <= 75 | 75 < TM <= 125 | 125 < TM <= 150 | 150 > TM |
---|---|---|---|---|---|
Action | 1. Inform supervisor within 24 hours. 2. Re-estimate tasks for future iterations. 3. Consider dropping Tasks. |
1. Re-estimate tasks for future iterations. 2. Deduct number of days behind from buffer days. 3. If there are no more buffer days, decide the functionalities to drop. |
1. Our estimates are fairly accurate, and are roughly on track. 2. Add/deduct number of days ahead / behind from buffer days. |
1. Re-estimate tasks for future iterations. 2. Add number of days ahead to buffer days. |
1. Inform supervisor within 24 hours. 2. Re-estimate tasks for future iterations. |
Bug metric
Severity | Low Impact | High Impact | Critical Impact |
---|---|---|---|
Description | User interface display errors, such as out of alignment, colour used is not according to theme.
It does not affect the functionality of the system. |
The system is functional with some non-critical functionalities are not working. | The system is not functional.
Bugs have to be fixed before proceeding. |
Points | BM <= 5 | 5 < BM < 10 | BM >= 10 |
---|---|---|---|
Description | The system does not need immediate fixing, could be fixed during buffer time or during coding sessions | Coders to use planned debugging time in the iteration to solve the bug | The team has to stop all current development and resolve the bug immediately |
Project Risks:
S/N | Risk Type | Description | Likelihood | Impact Level | Threat Level | Mitigation Plan |
---|---|---|---|---|---|---|
1 | Project Management | The schedule is planned based on macro functionalities, so small coding tasks may have been left out / time is underestimated due to lack of experience. | Medium | High | A | Project Manager will review the project schedule and the time needed for each task regularly, and make changes when necessary. |
2 | Client Management | Client may request for changes to existing functionalities or request for new functionalities. These increases in scope may delay the project completion. | Medium | Medium | B | Team will have to consider expertise and time required. Project Manager will manage the expectations of the client. |
3 | Project Management | Team members feel overwhelmed by the workload, and feel that they are increasingly burned out. | Medium | Low | C | Team members will limit the increases in scope, and prioritize functions in case functions need to be dropped. |
Technical Complexity:
Our technical complexity comprises of:
- Use of Natural Language Processing to mark open-ended questions. (Discussed here during Midterms)
- Development of game for students, including anti-cheating mechanisms. (Discussed here during Midterms)
- Security features: firewall, automated backup for database, HTTPS protocol, SSH tunnel, and encryption of environment variables. (Discussed here during Midterms)
- Analyics dashboards for Students, Professors and Admins.
- Recommendation Models for Students and Professors.
Analytics Dashboards
Coming Soon :)
Recommendation Models
Coming Soon :)
Quality of product
Intermediate Deliverables:
Stage | Specification |
---|---|
Project Management | Schedule |
Minutes | |
Bug metrics | |
Task metrics | |
Risk management | |
Change management | |
Requirements | Overview |
Scope | |
Personas | |
Analysis | Use case diagram |
Architecture diagram | |
Technologies used | |
Design | Prototypes |
Testing | User Acceptance Test 1 (11 - 13 Feb 2018) |
User Acceptance Test 2 (4 - 10 Apr 2018) |
Testing:
- Creation of test cases during development.
- Functionality testing after completion of function.
- Regression testing at the end of every iteration.
- 2 UATs completed by Final Presentation.
- 1 UAT has been completed after Midterms. To view the results of this UAT, click here.
Reflections
Team Reflection:
Our team has learnt the importance of working together closely with our clients, to ensure an ideal alignment between the client business requirements and our end-product. Throughout our development process, we are constantly plagued with minor hiccups and bugs. However, our team feels that our most valuable quality is resilience, as we tackle each and every problem with our ineffable tenacity and innovation.
Individual Reflections:
Amelia:
It has been a very experimental journey managing the team since the project started. New challenges are always popping up, and I have learnt to manage the workload of each member more carefully. I believe communication is today’s important skill, be it raising issues with the team or simple dissemination of information. That is why I ensure that there are no communication lapses in our team.
Chin Rui:
It has been a challenging 7 weeks since our acceptance. The application architecture has undergone multiple major changes, especially our security configrations, to ensure better quality and continuity for our clients. The security breach incident was an eye-opening experience for me, and I have learnt to never take security for granted. I have realised that security should be a key consideration when planning an application's architecture because every implementation or change made could introduce a new vulnerability for potential attackers to take advantage of. Aside from the security enhancements, I have also discovered the difficulties in planning a software architecture after taking into account of budget, skill and technical constrains.
Ervin:
Being the previous Business Analyst, it was an enriching and mind-boggling experience researching on various Natural Language Processing techniques and trying to appraise their adequacy and appropriateness for our application. Moving on as the Quality Assurance lead, I hope I do not offend everyone involved in development by scrutinizing every single corner case in the application.
Ming Rui:
The opportunity to be able to apply the entire design thinking process from the creation of prototypes to the actual web development have been arduous but rewarding journey. The final designs of the application are a product of multiple revamps, each better compared to the previous. I have learnt the importance of gathering feedback from the clients as well as real users.
Qimin:
Having to pick up Node.js and React.js in a short period of time really pushed me to learn and adapt at a much faster pace. There are many front-end and back-end considerations to factor in during the design process, such as the communication between parent-child components and the use of redux store versus a direct http request to the database. I believe that my technical skills have definitely improved over the past few weeks.
Ricky:
It has been a great experience seeing how the project has grown from infancy to where it is today. As a backend developer, I have realised that is important to have a seamless integration of the frontend components with the server side logic as well as designing and implementing data storage solutions. Throughout the past few months working on the project, I have learnt that what’s even more important than completing the work assigned to me is to help my team members with their tasks. This will enable smoother and faster progression as a team.