HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2013T2 Silicon Geeks Final Presentation"

From IS480
Jump to navigation Jump to search
Line 453: Line 453:
 
|6
 
|6
 
|align="center"| Leonard Ong
 
|align="center"| Leonard Ong
|align="left"| Apart from the usual time management and project coordinating, one biggest takeaway will be conducting user testing efficiently. When conducting user testing in big groups, it was important for us to ensure that all participants are clear of their roles and will give useful feedbacks. That aside, time management was extremely critical in this stretch of our project as we have many pressing datelines, while having to consistently work on the FYP. Through these, i was not only able to work more efficiently, but have also learnt to be more independent when doing the project
+
|align="left"| Throughout the entire project, I have learnt that managing client's expectation is not as easy as it seems because it is challenging to adapt to sudden changes and requests. Apart from that, time management is the key takeaway for me. Having good time management is challenging because nobody has the perfect technique or solution. I have also learnt that everyone in the team is important. Other than that, team collaboration and communication is the key to the success of a project. Given the scale of IS480, it is crucial that we have constant communication and collaboration throughout the team.
 
|-
 
|-
 
|}
 
|}

Revision as of 22:32, 20 November 2014

Final logo.PNG

Home Team Description Project Overview Project Management Project Documentation Project Testing Key Milestones


Acceptance Presentation   Mid Term Presentation   Final Presentation



Project Progress Summary

Deliverable

Final Presentation Slide

Deployment Information

Link to Site

  • Username: win2008_machine16
  • Password: P@ssw0rd480
Current Phase

Current Iteration: 13
Development: 90% Of Core Modules and 100% Completion of Secondary Modules
Starts: 9 November 2014
Ends: 23 November 2014
Current Status: Slight delay in our current iteration because the printing code is not working on the client side but working on local computer.

Iterations Remaining (Excluding Current Iteration)

1

Project Highlights:

Iteration Features Description Action
5 First Printing First Printing of card was unsuccessful Relook at the codes. Decide to take a look at the printer SDK instead of using javascript
6 Local Deployment Acceptance Feedback that deployment was not done for reviewers to look at our application Approach Fiona for obtaining a school VM
7 Merging of Forms Acceptance Feedback given that the webparts should be merged Merge the webparts together. Feature pushed forward to this iteration.
7 Local Deployment Obtaining of school's VM took longer than expected -
8 Caml Query Jason proposed to ask about finding a more efficient way of retrieving the data Introduce new function - Caml Query
9 Create New Pass Type Sponsor proposed the flexibility of the user to create any new pass type that he wants Added as new functionality for Iteration 11 and 12
9 Tableau Analytics Sponsor interested in obtaining a connection from Tableau to SharePoint Added as new functionality for Iteration 11 and 12
9 Printing Module Troublesome to do testing with Sentosa printer during office hours Printer was brought home over the weekend for testing.
10 Change in Sponsor Angeline (Sponsor) officially step down and a new sponsor (Fayyaz) took over. Update Supervisor and Project Coordinator on the new changes
10 Printing Module Difficulty in obtaining the printer to carry on alignment testing for the rest of the card type Lead to a delay in the iteration. Rest of modules still carry on in schedule as per normal.
11 UI Module Midterm Feedback about the lack of UI Design UI Module added. Create New Pass Type functionality dropped.
11 Tableau Analytics Face some technical issues and we were unable to connect SharePoint lists to Tableau. Hence we focus on priority functions Tableau Functionality dropped.
11 Usability Testing 2 Usability Testing 2 to be done with the new revamp design User Testing 2 postponed to Iteration 13
12 Client Deployment Jquery features all not working Debugging to be carried out immediately
13 Client Deployment 2 Codes that accesses the printer API is run on the server side, but the printer is connected locally via USB cable. Hence the code cannot access the printer Currently in the midst of debugging

Project Challenges:

Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.

  • Connecting the printer to the network that Sharepoint server can recognise. Currently the printer is connected to a standalone computer which the is only recognisable by the particular computer with the old card printing software. However, our application is deployed in the Sharepoint server and the printing process is done through the backend of our application. Thus, we had to work closely with the external vendor of Sentosa to solve this issue as we were afraid that we might crash the system if we were to connect it without any help.

Project Achievements:

Methods, technologies, processes, teamwork, etc. which were particularly successful – highlight things which worked very well towards completing the project. A bulleted list of one to two sentences each will do. If there are no achievement, remove this section.

  • Despite the challenges faced, our team managed to deploy the application on to the server and the users were satisfied with our progress and work done.

Project Management

Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.

Project Schedule (Plan Vs Actual):

Deployment_Diagram

Scope Change

Add Search Pop up & Reissue functionaity

  • Priority to be on core functionality as there were some unexpected bugs and we wanted to ensure that core functionalities work as best as possible
  • Time spent on revamping the UI design for the web parts through using of Jquery and SPquery
  • Hence we drop Create new Pass Module as we realise that after our research, it will be too time consuming and complex
  • Added Reissue feature which allows the user to create multiple cards in one shot.

Dropped Tableau Functionality

  • Face some technical issues and we were unable to connect SharePoint lists to Tableau. Hence we focus on priority functions

Testing

  • Usability testing and UAT to be shifted as we wanted it to be tested after the search popup was implemented
Module Status Confidence Level In-charge / Comment
Create Pass 100% Completed and tested 1 Chun Fatt, Wen Jie
Edit Pass 100% Completed and tested 1 Alex, Shu Han
Card Design Tool 100% Completed and tested 1 Jeremy, Leonard
Merging of Create & Edit 100% Completed and tested 1 Chun Fatt
Zebra Printer Print Script 90% Completed and tested 1 Chun Fatt, Jeremy/ Left alignment for remaining passes
Caml Query 100% Completed and tested 1 Shu Han, Leonard
Reporting Functionality 100% Completed and tested 1 Wen Jie, Alex
Export 100% Completed and tested 1 Alex
Search Popup 100% Completed 1 Chun Fatt, Jeremy
Jquery Enhancement 100% Completed 1 Chun Fatt, Leonard
Reissue 100% Completed 1 Alex, Jeremy

Project Metrics:

Details about the metrics

Summary of the metrics


Iteration Number Percentage Reason Solution
4 78.57% Underestimate the time taken to complete certain modules. Re-estimate the following tasks and reschedule.
5 85.29% Picture overlay and drawing text on pictures proves to be more challenging than expected because it requires more time to learn.
  • Re-estimate following tasks and reschedule.
  • Provide more time for difficult functionalities that team members have not tried before.
9 88.23% Testing of printing code could only be tested with the specific printer. Hence, it requires more time instead to complete testing and debugging the code. Re-estimate following tasks and reschedule.
10 83.33% Alignment of cards took longer than expected to complete because of the difficulty of obtaining the printer Re-estimate following tasks and reschedule.
12 65.22% Jquery error occurs when deployed on client side. Re-estimate following tasks and reschedule.

Technical Complexity:

Different business logic for different pass types

1)link with existing entry for another pass

Rangerpassstafflink.PNG
Certain fields are populated from another existing entry from another pass type.
Example: ranger pass populating information from existing staff pass

2) Project information entry can have multiple entries for the same contractor tied to different projects and multiple entries for the same project tied to different contractor

3) Calculated fields

Family pass dob.PNG
Expiry date field is calculated from DOB for son/daughter relationship(21 years added to the DOB)

4) Reissue VIP, Wave and Family passes

Reissue.PNG
Users can reissue passes to a person which will create a new entry for the pass with extended expiry dates and it will automatically invalidate the original pass.

Printing of Passes

1) Printer API

APIUsed.PNG
Used the Zebra SDK to call its API as shown in the image above to print customisable texts and pictures.

2) Properly draw images and strings to preview printed pass

Printer picture.PNG
The image has to be previewed properly and correctly using a separate library to draw the image on the previewer. Once it is printed, the application uses a separate code (Printer API) to print the pass.

Linq Methods

Linq search.png

Linq-join.PNG

We are using LINQ to implement database functions for our web parts through C# programming language. Through LINQ, we are able to:

  • Full outer join data tables for the reporting function
  • Implement search functionality in the search pop ups

Quality of product

Provide more details about the quality of your work. For example, you designed a flexible configurable system using XML.config files, uses Strategy Design Pattern to allow plugging in different strategy, implement a regular expression parser to map a flexible formula editor, etc.

Project Deliverables:

Stage Specification Links
Project Management Meeting Minutes Meeting Minutes
Metrics Metrics
Requirements Gathering Business Requirements Project Overview
Current System Client Current System
Analysis Deployment Diagram Deployment Diagram
Use Case Use Case Diagram
Design UI Prototype UI Prototype
Testing Test Plans Internal Test Plan and Test Cases
Bug Metric Bug Metric

Deployment:

Deployment_Diagram

Deployment Information

Link to Site

  • Username: win2008_machine16
  • Password: P@ssw0rd480

Quality:

Improved flexibility of system

1) List referencing

SID Reference.PNG

There are different SID formats for all the different entries. The application is made to be as flexible as possible by making it reference configurable items that are stored in the list so that future changes can be taken into account. Changes such as a change in SID prefix value can be made to the list directly so that the application will reference the list and use the new SID formats in the future. Other areas where we made sure the system is as flexible as possible is the options for dropdowns such as the existing divisions, departments, pass status. These are all stored in lists so that users in the future can modify the dropdown values easily.

Improved intuitiveness/ease of use and efficiency of system

1) AJAX validation

Ajax.PNG

Before a user clicks on the submit button, ajax validation is done so that the user does not have to click on the submit button before he knows that the staff id already exists.

2) Search popups

Search popups.PNG

Search popups were used in place of dropdown lists to find a specific entry. This helps in improving flexibility of the system as the number of entries increase. It also gives user a way to filter out results and more easily find the entry that they are looking for. This was a feature which the client did not ask for but we added it in as we felt that this would help improve the efficiency and ease of use of the entire process for the user.

3) Improve intuitiveness using jqueryUI effects

Jquery1.PNG

Jquery2.PNG

Expands and show/hide hidden elements of the form to make the use of the form as intuitive as possible depending on the user input. In the example screenshots, when the user selects that the first deposit is received, it displays the form for the user to input details of the first deposit.

4) Tooltips for input field

Tooltip.png

We displayed tooltip suggestions and help when a user mouseover an input field. This helps the user to remember the format of the SID and also prevents users from inputting incorrect values.

5) Used SPQuery more extensively across the code for item retrieving from the lists.

Use SPQuery across the code to find objects from lists in order to make sure that it scales better when the list grows in the future and that results


Testing:

Describe the testing done on your system. For example, the number of user testing, tester profile, test cases, survey results, issue tracker, bug reports, etc.

Reflection

Team Reflection

Team Reflection
Teamwork is very important and we have to help one another especially when we have many pressing deadlines.


Individual Reflections

S/N Name Reflection
1 Tan Shu Han My biggest takeaway from this was the importance of linking the test cases to the business requirements rather than just testing on the technical components of functionality. In addition, I have also learnt to conduct usability test more efficiently through finding users which are close to our actual users and asking them to play the role of the actual user. It is also important that we explain the business scenario properly, which was a major challenge during testing.
2 Chan Chun Fatt This semester has been a very trying semester for me wholly due to FYP. As I had did Sharepoint before for EWS, I had thought that it would have been a breeze. However I was very wrong as I found out that FYP has many angles to it and not just the product development side of things. I learnt that being able to juggle between differing roles in the team is a very important and vital skill to have as I found myself doing the work of different roles within the team quite frequently. Communication with the client is also very crucial. Small things such as replying to emails and remembering to follow up on minor promises made during meetings become hard to handle when flooded with the work of development. Although, it has been a very difficult time for me, I learnt quite a lot of things through the experience.
3 Chuah Li Xian This project has really prepared me for real life work experience. I have learnt an important lesson from this project. Anything that can go wrong, will go wrong. It is how we react to these sudden changes that matters. As a programmer who experienced a lot of unexpected setbacks, the only thing I can do is to stay resilient and proceed ahead with a solution.
4 Jeremy Lim Self-learning is important. There are skills and knowledge, especially regarding design tools and software, are not taught in school and I have to learn them myself. Because of time constraint, I have to train myself to be a fast learner to quickly pick up the necessary skills for the role.

In addition, I have learnt that collaboration is extremely important. There are different ideas and suggestions from supervisors, clients, project reviewers and also from other team members. I had to collaborate with not only other team members ourselves but also with clients and supervisors bring the ideas into action and to the real production.

5 Lee Wen Jie This project has taught me that in the real working world, always be prepared for many unexpected situations. Be prepared to adapt, be prepared to try harder, and be prepared for changes. It also taught me that as a PM, there are alot of planning to be done especially when it concerns a large scale project such as FYP. Time management is extremely critical in order for us to juggle between school and FYP
6 Leonard Ong Throughout the entire project, I have learnt that managing client's expectation is not as easy as it seems because it is challenging to adapt to sudden changes and requests. Apart from that, time management is the key takeaway for me. Having good time management is challenging because nobody has the perfect technique or solution. I have also learnt that everyone in the team is important. Other than that, team collaboration and communication is the key to the success of a project. Given the scale of IS480, it is crucial that we have constant communication and collaboration throughout the team.


S/N Name Reflection
1 Mohamed Fayaz Reissue Function is very helpful. Summary report functions is very efficient and save us alot of time in the preparation report for management used.
2 Adeline Kwok Search pop up feature is very useful to users, saves time searching through the list for past entries.
3 Remedios B. Pena Customized fields are helpful in our tracking of records. it is clear, and specific to our requirements & functions.