Midterm Wiki

From IS480
Jump to navigation Jump to search

Linkage logo.png

Home   Project Overview   Project Management   Technical Documentation Key Takeaways Midterm Wiki Final Wiki
Project Progress Summary Project Management Quality of Product Reflection

LinkAge Photo.JPG

Project Progress Summary

Midterm Slides : Media:Team_LinkAge_Midterm_Presentation.pdf

Deployed Site Link : LinkAge PwC

Team LinkAge has progressed gradually since FYP Acceptance-Iteration 4.Through the iterations, we have completed paper prototype with our sponsor and have been focusing on the front-end user interface to deliver user-friendliness and adhering to our sponsor's requirements.We have conducted one significant milestone in Iteration 12 for Heuristic Evaluation and User Acceptance Test 1 with our sponsor,PwC.

We are now at Iteration 13 for FYP Midterm Evaluation. Based on our performance and progress,the team has confidently completed 50% of LinkAgePwC features which include the integration work for our Login, Profile Page, Project Management Pages and Report Management Pages. We had a slight delay as there was a change in sponsor's requirement and severs' availability. Team LinkAge is therefore confident of delivering the complete solution for PwC by the end of week 13.

Project Highlights

  • Sponsor's servers availability issue
    • Database mySQL and server GAE - connection problem
  • Sponsor's change of requirements
  • Short span of time for learning AngularJS
  • Change of framework
    • Scraped off Yii framework

Project Management

Project Status

LinkAge ProjStatus1.jpg ProjStatus2.jpg

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 4 'Ahead Schedule' , 56 'On Schedule' and 6 '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

Iteration Planned Actual Comments
Iteration 1 FYP Acceptance Proposal
Iteration 2 FYP Acceptance Demo Prototypes
Iteration 3 FYP Acceptance Demo Prototypes Phase 2
Iteration 4 Project Management Phase 1
Iteration 5 Acceptance Clean-up Dropped IT Audit function
Dropped voice chatting function
Droped auto members to tasks
Iteration 6 Project Management Phase 2
Iteration 7 Project Management Phase 3
Iteration 8 Project Management + Report Management Phase 1
Iteration 9 Project Management + Report Management Phase 2
Iteration 10 Project Management + Report Management Phase 3 Project Management
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 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 1 Deployment is to be scheduled in recess week

Project Metrics

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.

Bug Metric Summary:
LinkAge Bug Metrics Chart.jpg

Schedule Metric Summary : Metrics LinkAge

Project Risks

Risk Probability Impact Mitigation
Sponsor Deployment High Medium Strategised to focus on Front-End Development
Deployed online with database (may not be secured but at least working copy for sponsors)
Miscommunication within stakeholders Medium High Conduct effective meeting with agenda
Conduct group chat
update information via email
Change of framework/programming language Medium High plan before implementation
Think of worst case scenarios
Address concerns with supervisor and sponsors
Seek help and advices earlier in the course of implementation

Technical Complexity

Rank Issue Issue-Description Technical Solution
1 Report editor How to change the formatting of each part of the report?
How to store these formatting?
Store value in the database representing the different formatting, and reformat the output document using css.
2 Report generator How to dynamically generate report, based on information in the database, in a .doc format. Dynamically generate a .html file from the database, format it with css styling recognizable by MS words and force it to be downloaded as a word document with html header
3 Task Allocation How to dynamically create multiple input fields with different id, and storing all the information in a systematic fashion.
how to update the displayed information as user enters them.
Real time changing of displayed data is implemented by using Angular JS.
Input field are stored in an arry and iterated using Angular js to dynamically create the fields.
4 Reduced back end reliance What if client's server can't support PHP / JSP pages?
Anyway to make app less dependent on client server?
Controller logic programmed using Javascript and angular js. server only contacted to retrieve information.
Advantage of easy integration with different databases.

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.

Intermediate Deliverable

Stage Specification Modules
Project Management Metrics Metrics Description
Minutes Minutes
Content Storyboard Story Board
Design Use Case Use Case Diagram
Entity Relationship Diagram Entity Relationship Diagram
Logical Diagram Logical Diagram
User Interface Mockup User Interface
Testing UAT Test Plan Test Plan
UAT Survey Form Survey
UAT Feedback Heuristic Feedback


Latest version of codes always on Google App Engine, GitHub and SVN. Codes can be deployed to any machine on the condition that the supporting software is being installed. Hardware sever will be provided by PwC that will be used for actual deployment. Our application thus far have been developed and anytime ready to get deployed.


Description Details
Date 15th February from 5.45pm to 7.00pm
  • Test the functionalities of the LinkAge PwC system
  • Gather users’ feedback about LinkAge PwC system
Scope completed
  • Cover the main functionalities
    *Performance & stability of the system
    *User interface
    * Testing covers Login Page, Profile Page and Project Management Page.

7 testers
(4 Females,3 Males)
Team Members
Age: 25-45
IT Proficiency: 2 Males are well versed with IT while the rest have only basic IT skills

Test Plan Flow

1. Get tester to create a LinkAge account
2. Let tester edit skillsets & change password
3. Enables tester to see the current projects
4. Allows tester to create new project
5. Assist tester to add tasks and select team members
6. Let tester edit and/or delete task
7.Permits test to log out


User Test Plan:Media:UAT_LinkAge_Test_Case.docx
User Acceptance Test Survey Form: Media:User_Acceptance_Test_1_Survey_Form.docx
Heuristic Feedback Form :Media:Linkage_UAT_feedback.doc
Results of heuristic rating:Media:User Acceptance Test Survey Results.docx


Team Reflection

FYP has been fulfilling to the 6 of us.It all started with knowing each other to shortlisting for a sponsored project and meeting sponsors first time to find out on their requirements.It is not always easy at the beginning, Team LinkAge finally secured PwC to collaborate on the FYP. We were being informed that the scope of our FYP was too limited at the beginning. Hence, the team felt hopeless then but it was not until we met our supervisor Professor Chris Boesch that we dared to dream big and made it throught the FYP acceptance.

Things started picking up and like all other FYP projects, sponsors changed requirements and were flexible in the programming terminologies. The team has equipped ourselves to be determined to learn new framework , attempting to create synergies for sponsors and went all ahead to look into unexplored areas. It is not easy picking up a new skillset but with determination from the team members, nothing is impossible.

The fact that deployment was being pushed back, Team LinkAge has to change track and stopped backend developments in the meanwhile. The whole team strength went into frontend development to create an extra-ordinary user experience. We managed to pull through with the use of AngularJS which the team members took about 2 weeks to apply as they go about doing the development work of the project.

Individual Reflection

Name Individual Reflection
Liang Yahui From the project, I learnt how to learn, how to solve problem, how to manage time as well as how to cooperate with teammates and clients. First, regarding of the technique aspect, since I am a front-end coder, I need to learn a lot of bootstrap, javascript, jQuery, Angularjs, etc. I learnt a lot from online tutorial, peers, supervisor and other forums. There are so many latest front-end technologies out there that I could not learn them all in a short time. I found that the best process of learning is making mistakes, posting the problems and solving the problems. Through the continuous replay of this process, I learnt a lot of new knowledge about css and javascript in a shorter time. Secondly, due to the client and our own underestimation, we have very limited time to finish the project. Therefore, our teammates, everyone take a part and work concurrently to ensure the completion of the project. The most important thing is to be effective which link back to my first point. However, due to the time constraint, we need to reduce the scope of our project and drop the least value added functions. Thirdly, there are a lot of misunderstanding and disagreement during programming, especially when facing certain bugs or bottlenecks. I found that sometimes argument is inevitable but it is not a bad thing; argument sometimes may inspire brilliant ideas and deeper concerns. The last but not least, I learnt how to cooperate with client. There are lots of aspects on their side that are totally uncontrollable by us. Therefore, we should always have a plan B in hand.
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.
Zhong Zhenyu The FYP experience so far has been challenging and fulfilling. The team had to manage their time well rolling out product while juggling other subjects at the same time. I found that practices encouraged in my previous IS core courses are extremely useful in preventing code conflicts (such as keeping a common repository) and improving communication. The learning curve is certainly steep, starting with only knowlege in java and visual basic, i can now code in angular js, html and javascript (not to mention other languages tested along the way). Learningm new languages maybe hard, but it also bring a sense of great fulfillment whenever I resolved a bug and find myself more proficient in the language.

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 Through the FYP journey thus far,I have learnt to apply my knowledge learnt back in Software Engineering. This is to focus and strategise on each components of the project. A project is only completed when project team members work out in areas such as project management, project development codes, project scope risks and stakeholder's management. This all rounded experience make me realise the significance of a working project team,leveraging from each of the team members to effectively communicate when they have any difficulties. It is a consistent effort put in by each of the team members to see the success of the FYP project.