Final Wiki LinkAge
|Home||Project Overview||Project Management||Technical Documentation||Key Takeaways||Midterm Wiki||Final Wiki|
|Project Progress Summary||Project Management||Quality of Product||Reflection|
- 1 Project Progress Summary
- 2 Project Management
- 3 Quality of Product
- 4 Reflection
Project Progress Summary
Final Slides : Media:IS480_Team_LinkAge_Final_Presentation_Slides.pdf
Deployed Site Link : PwC LinkAge
Team LinkAge has finally reached the end of all of our iterations. We are at Iteration 22,ready for FYP Final Presentation and Poster Day. We have also completed 10 milestones to mark the end of IS480 FYP.After the FYP Midterm Evaluation in Iteration 13, we have progressed gradually to the end. Notably, in iteration 15 for milestone number 5, promised us a deployment opportunity with our sponsors. We have developed all the agreed functionalities with our sponsors.
There were 2 UAT conducted with sponsors before Iteration 22. We have collected valuable feedback and responses from them to constantly excel and strive in the direction of sponsor's requirements of our application. PwCLinkAge promised for 100% live deployed project management application. Based on our performance and progress the team has confidently completed the application which sponsors could enjoy working through with the profile page, project management, report management, schedule page , team member's statistics , issue data analytic , data trending , notification board and messaging service.
- Postponed deployment on sponsor’s server
- The team plan to deploy Linkage application progressively on sponsor’s server. However, due to postponed deployment, the team decided to host Linkage application on Google App Engine, and focus on front-end development.
- Google App Engine vs. MySQL
- Initially, the team plan to implement MySQL database. However, with the change of server to GAE, it does not freely support MySQL database. The team decided to implement GAE Python database firstly, and ensure all front-end development first.
- Short span of time for converting back-end from Python to MySQL
- Although with fully functioned front-end and Python database, and successfully deployed this version on sponsor’s server, the team is required to convert existing database to MySQL version within a short period of time.
Project Schedule(Plan Vs Actual)
Team LinkAge's approach is by iteration. Each iteration will cover Document Review, Development Codes, Development Designs, Metrics Review, Case Testing and Debugging. We have been keeping track of both Schedule and Bug metrics. Till date, Iteration 1 to Iteration 14 are all 'On Schedule' as recorded in the Schedule Metrics. However, going by task level, there are a breakdown in total of 13 'Ahead Schedule' , 76 'On Schedule' and 30 'Behind Schedule'.
Noticeable scope change will be when the deployment is not on schedule. Team LinkAge had to restrategise and focus on the front end development as much at that moment and slowed down on the backend development till sponsors got back to us about the deployment date. The connection problem / configuration with the mysql severs made us realised and discovered AngularJS.
Detailed iteration schedule planning is found in : Schedule LinkAge
|FYP Acceptance Proposal|
|FYP Acceptance Demo Prototypes|
|FYP Acceptance Demo Prototypes Phase 2|
|Project Management Phase 1|
|Acceptance Clean-up||Dropped IT Audit function|
Dropped voice chatting function
Droped auto members to tasks
|Project Management Phase 2|
|Project Management Phase 3|
|Project Management +
Report Management Phase 1
|Project Management +
Report Management Phase 2
|Iteration 10||Project Management +
Report Management Phase 3
UI Front End
|Deployment was being put to a hold till sponsors’ server had to finish maintenance|
|Iteration 11||UAT Preparation
Wrap up on :
Profile Page & Project Management
|UAT was shifted to Iteration 12 as sponsors’ schedule did not allowed for it|
|Iteration 12||Report Management +
Schedule Management Phase 1
|Heuristic & UAT||Heuristic & UAT Feedback collection |
Changes done to UI from UAT feedback
|Iteration 13||FYP Midterm Preparation||Report Management & Schedule Management Phase 1 is shifted to Iteration 14|
|Iteration 14||Schedule Management Phase 2||Report Management & Schedule Management Phase 2||Deployment is to be scheduled in recess week|
|Iteration 15||Analytics Phase 1||Adjustment to sponsor’s UI outlook||1st Deployment is successful|
Analytics Phase 1 shifted to Iteration 16
|Iteration 16||Analytics Phase 1 & 2|
|Iteration 17||UAT 2 Preparation||Touch Screen Enabled with Responsive Website Phase 1||UAT 2 is shifted to Iteration 18|
|Iteration 18||Touch Screen Enabled with Responsive Website Phase 1||Touch Screen Enabled with Responsive Website Phase 2||UAT 2 is shifted to Iteration 19|
|Iteration 19||Touch Screen Enabled with Responsive Website Phase 2||UAT 2||2nd Deployment completed |
UAT 2 Results Collection & Feedback
|Iteration 20||UAT 3||UAT 2 Adjustment on spsonsor's UI requirements||FYP Final Presentation Phase 1|
|Iteration 21||FYP Final Presentation||UAT 3
FYP Final Presentation
|Final Deployment |
FYP Hand Over
FYP Final Presentation
|Iteration 22||FYP Poster Day|
Team LinkAge keeps track of two different types of metrics. They are for schedule and bugs. Both metrics have scoring index tagged to identify the actions required. The metrics index indicator are recorded by formulas. The description could be found at Metrics. The recording of bug and schedule metrics could be found at LinkAge Metrics.
Bug Metric Summary:
Schedule Metric Summary :
|Development risk||High||Medium||The team plan to deploy Linkage application progressively on sponsor’s server. However, due to postponed deployment, the team decided to host Linkage application on Google App Engine first. By taking this development risk, the team focuses on front-end development and implements Restful dataservice as support.|
|Converting back-end from Python - GAE datastore change to PHP - MySQL database||Medium||High||Although with fully functioned front-end and Python database, and successfully deployed this version on sponsor’s server, the team is required to convert existing database to MySQL version. The team is taking high risk of converting the entire backend support within a short period of time.|
|1||Restful data-service||Implementing Restful data-service, we can keep developing the front-end design. Even there is a change of back-end to another database, we just need to change the queries and all front-end design remains.||Discussed below|
|2||Report generation||Users can edit report through LinkAge application, with “Generate Report” function, users can download a well formatted report into word document.||Discussed below|
|3||Chatting function||To enhance communication among team members though Linkage application, the team design a chatting function. And the team builds Channel function to accomplish this real time chatting function.||Discussed below|
Quality of Product
We designed a responsive, web-based application for managing project, personal and generation of reports.
Using angular js and java script to create controllers, we create an application function primarily on the client side. Hence lessening the reliance on the back end for processing power. A client-side based approach also allow us to integrate the system with minimum configuration on the client side, simplifying deployment process
This made sense as our client's employees each has their own laptop at work, and multiple concurrent users are expected to be on the system at the same time.
|Project Management||Iteration & Milestone||Schedule Management|
|Design||Use Case||Use Case Diagram|
|Entity Relationship Diagram||Entity Relationship Diagram|
|Logical Diagram||Logical Diagram|
|User Interface Mockup||User Interface|
|Testing UAT1||UAT Test Plan||Test Plan|
|UAT Survey Form||Survey|
|UAT Feedback||Heuristic Feedback|
|Testing UAT2||Detailed UAT Test Plan||UAT Test Plan|
|Simplified UAT Test Plan||UAT2 Test Plan|
|UAT Survey Form||Survey Form|
|UAT Feedback||Survey Result|
Team LinkAge kept all the codes, mainly on Google App Engine and GitHub to collaborate with the internal stakeholders. Codes could be deployed to any machine on the condition of having Google App Engine installed in the hardware. The server at PwC,operating on Linux could work with Google App Engine launcher and installing all build dependancies for Python with the build-dep option in apt-get "sudo apt-get build-dep python" : apt.get.build.dep.python.The first deployment was done in Iteration 15,on the 7th March 2013 at 3pm, the second deployment was done in Iteration 19, on the 4th April 2013 at 4pm and the last deployment was done in Iteration 21, on the 15th April 2013 at 3pm.
|Date||4th April 2013, 4.30pm|
7 Users, (3 Males & 4 Females)
|Test Plan Flow||
1. User will create an Admin account for reseting password for members and approving member's manager role.
1. Users will create a new account if she/he is a new user of Pwclinkage.
5. Users will click on "Edit Info" on the Profile Page,
8.Users (Manager) will click on "Create Project" to create a project.
14.Users will edit the report content in the report generator.
17.Users will apply leaves in the "My Schedule".
20. Users will click on a team member's name and see their individual schedule for different project.
22. Users will click on "Data Analytics" to display the percentage by a search for the industry ranking.
24.Users will click on "Notification" to be reminded for submission.
25. Users will click on Member's name and message them.
26. Users will click on sign out icon to sign out of application.
After the completion of FYP IS480, Team LinkAge has gained valuable lessons in life in dealing with internal stakeholders and sponsors.This is an all rounded experience from us,stretching our capabilities and applying concepts learnt in the previous modules to good use. Collaborating with PwC has been an eye opener for us all,in understanding their business concepts,the requirement of what the industry needed and aligning sponsor's requirements with Information Technology.
Team LinkAge has enjoyed very much providing a service that value adds for our sponsors. We are proud of our customised application, PwCLinkAge. This journey has not been easy for anyone of us but we learnt to give and take,leverage on each team member's strength, be an effective communicator and a believer of faith and determination.
Team LinkAge has the benefit of doubt about deployment.Deployment was new to all of us but we have managed to work alongside with our sponsor well enough to successfully get our application for deployment. It was a privileged learning experience to be deploying in the server room of actual settings.
|Liu Huan||Among all SIS projects, FYP endows the highest degree of freedom of developing an IT project. This is the most challenge and fulfilling part about it.
On project management, I have learnt the importance of communication. With miscommunication, the team may spend double time and efforts to complete a task. Next time, if a member does not understand something, it is always the best to ask clarifications immediately; do not guess. In addition, effective project management must have an audit and tracking system. This is to make sure everyone is in progress and will deliver components on time. With tracking system, even if someone encounter problems, it is easier to allocate extra resources to resolve the problems. On technical side, I have learnt a lot from my teammates. Through pair programming sessions, they help me to building a sense of programming. The most significant method is how to debug program step by step. Last but not least, seeking help via posting questions online is a good learning experience, too.
|Li Lu||FYP is a good learning experience for me. Learn to learn, and learn from teammates, supervisor and clients.
To learn new programming languages such as Python, to learn front end coding, to adjust deployment plan based on real world situation. My role is technical analyst and coder. As a technical analyst, I improve in drawing technical diagrams based on real world situation. As a back end coder in the starting stage of the project, I reviewed the sql and java programming language and learn new language – Python. As a front end coder in the second half part of the project, I improve html, and learn AngularJS, jquery, and boostrap. My multiple roles is caused by the change of deployment plan. To avoid wasting time, we change our back end plan in the half way. I also learn that back-up plan is very important. In real world, there are a lot of things that we cannot control. It is always good to take as many factors as possible into consideration, and do the best of the part that you can control.
|Jerome Ching||The experience has been challenging and rewarding at the same time. Apart from juggling our other modules, we also had to keep up with the pace of our other team members. Also, we had to manage our sponsor in terms of fulfilling their requirements and needs while keeping them aligned with that of our project requirements. It is challenging to come to a common vision on our end product versus what the client has in mind and there is a constant process of probing and evaluation in order to keep these two goals aligned as close as possible. Since areas in our project require new skills which we may not have had much practice in our other IS modules, there was alot of emphasis on self-learning, though without the help of structured learning tools. Overall, the satisfaction of having a product that can add value to an organization is rewarding.|
through this project i learnt that my biggest advantage as a SMU SIS student is my versatility and the ability to learn from other. Technology is changing in an increasing pace, technologies are being replaced by something better every few month, hence it is important for us to leverage the vast information on the internet and the online community to produce quality product in a limited time.
|Low Ying Lin||Being a Project Manager for Team LinkAge has always been pleasurable. I have learnt tangible and intangible skill sets which allow me to be versatile. I have the responsibility to make sure that the team progress on steadily without any hiccups.Even with obstacles,I could resolve and mitigate issues calmly.I am an effective communicator to know about the capabilities of my team members and assign accordingly to their skills and workload.I understand that strength is unity in my team and have been an awesome journey for me, working with our sponsor, our supervisor and my team together. This has taught me valuable experience and make an impact to see that our application is able to be deployed , make use of by sponsors and their department.|