HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2015T2 Tinkers MidTermWiki"

From IS480
Jump to navigation Jump to search
 
(36 intermediate revisions by 3 users not shown)
Line 51: Line 51:
 
==Project Progress Summary==
 
==Project Progress Summary==
  
*Place your Midterm slides link and deployed site link here
+
*View our Midterm slides [[Media:Tinkers_Midterm_Final.pdf |here]]
 
*View our deployed application in Google Play:[https://play.google.com/store/apps/details?id=com.ionicframework.pytracker944743&hl=en Platinum Yoga]
 
*View our deployed application in Google Play:[https://play.google.com/store/apps/details?id=com.ionicframework.pytracker944743&hl=en Platinum Yoga]
  
Line 60: Line 60:
 
**1 feature was removed (Lucky Draw System due to incompatibility with the MindBodyOnline internal point system)
 
**1 feature was removed (Lucky Draw System due to incompatibility with the MindBodyOnline internal point system)
 
**2 features were renamed (Events to Special Events, Yoga Pose-Tree to Yogapedia)
 
**2 features were renamed (Events to Special Events, Yoga Pose-Tree to Yogapedia)
*Completed a user testing with ??? Platinum Yoga students
+
*Completed a user testing with 10 Platinum Yoga students
 
*Steep learning curve for front-end technologies (Ionic platform, Angular JS)
 
*Steep learning curve for front-end technologies (Ionic platform, Angular JS)
 
*Postpone the deployment of iOS app in Apple store
 
*Postpone the deployment of iOS app in Apple store
Line 82: Line 82:
  
 
===Milestones Remaining:===
 
===Milestones Remaining:===
 +
* User Test 2
 +
* Poster Submission
 +
* Final Presentation
 +
* Poster Day
  
 
==Project Management==
 
==Project Management==
Line 330: Line 334:
  
 
|| View Contact Us
 
|| View Contact Us
 +
*<span style="color:#33ee88"><b>NEW module</b></span>     
 
|| Fully deployed and tested 100%
 
|| Fully deployed and tested 100%
 
|align="center"| 1
 
|align="center"| 1
Line 344: Line 349:
  
 
|| Special Events Module
 
|| Special Events Module
 +
*<span style="color:#33ee88"><b>NEW module</b></span>
 
|| View Special Events                               
 
|| View Special Events                               
 
|| Fully deployed and tested 100%
 
|| Fully deployed and tested 100%
Line 351: Line 357:
  
 
|| PY Privileges Module
 
|| PY Privileges Module
|| View PY Privileges                              
+
*<span style="color:#33ee88"><b>NEW module</b></span>     
 +
|| View PY Privileges                        
 
|| Fully deployed and tested 100%
 
|| Fully deployed and tested 100%
 
|align="center"| 1
 
|align="center"| 1
Line 395: Line 402:
  
 
|| Yogapedia Analytics Management
 
|| Yogapedia Analytics Management
*database                            
+
*database
 +
*<span style="color:#33ee88"><b>NEW module</b></span>                                   
 
|| To be completed in iteration 7
 
|| To be completed in iteration 7
 
|align="center"| 0.5
 
|align="center"| 0.5
Line 495: Line 503:
  
 
====Actual Schedule====
 
====Actual Schedule====
[[Image:Tinkers newSchedule130215v3.png|850px|Left|Tinkers Goals Previous]]
+
[[Image:Tinkers midterm repost.PNG|850px|Left|Tinkers Goals]]
  
 
===Schedule Comparison===
 
===Schedule Comparison===
Line 521: Line 529:
 
===Project Metrics:===
 
===Project Metrics:===
  
Summary of analysis for the metrics collected. You may refer to another page for the details about the metrics and how it is collected.
+
====Schedule Metrics====
 +
 
 +
[[File:TinkersScheduleMetrics.jpeg]]
 +
 
 +
====Bug Metrics====
 +
 
 +
[[File:TinkersBugMetrics.jpeg]]
  
 
===Future Project Risks:===
 
===Future Project Risks:===
Line 554: Line 568:
  
 
===Technical Complexity:===
 
===Technical Complexity:===
 +
 +
====Using MindbodyOnline API====
 +
 +
[[Image:Mindbodyonline complex2.jpg|center|500px]]
 +
<br/>
 +
[[Image:Mindbodyonline complex1.jpg|center|700px]]
 +
*As we cannot directly send requests from our mobile application to the MindBodyOnline API, we need to use a web server and php scripts to act as a middleman to do that
 +
*Soap Client function in the php is used to communicate with the MindBodyOnline API
 +
 +
 +
[[Image:MindBodyOnline complexity.JPG|center|500px]]
 +
*The execute tag is not in the documentation. Have to trial and error to work with the API.
 +
*Mindbody also took quite some time to reply which slowed down our development.
 +
 
====Ionic Platform:====
 
====Ionic Platform:====
 
[[Image:Learning the tricks of Ionic Framework updated.jpg|center|700px]]
 
[[Image:Learning the tricks of Ionic Framework updated.jpg|center|700px]]
 
[[Image:Slide2.JPG|center|700px]]
 
[[Image:Slide2.JPG|center|700px]]
 
Describe and list the technical complexity of your project in order of highest complexity first. For example, deploying on iPhone using Objective-C, customizing Drupal with own database, quick search for shortest flight path, database structure, etc.
 
  
 
*Learning Ionic Platform as front-end for our project
 
*Learning Ionic Platform as front-end for our project
Line 576: Line 602:
 
<b>Changes Made to Implement Phonegap Plugins for Ionic Project:</b>
 
<b>Changes Made to Implement Phonegap Plugins for Ionic Project:</b>
 
[[Image:New config.JPG|center|500px]]
 
[[Image:New config.JPG|center|500px]]
 
  
 
<b>Phonegap Plugins used:</b>
 
<b>Phonegap Plugins used:</b>
 
[[Image:Phonegap plugins.JPG|center|500px]]
 
[[Image:Phonegap plugins.JPG|center|500px]]
 
<br/>
 
<br/>
 +
 +
====Displaying Images in Firebase ====
 +
<b>Adding a particular pose for Yogapedia on the portal:</b>
 +
[[Image:Yoga1.png|center|500px]]
 +
<b>Retrieving the picture from Firebase (HTML Codes):</b>
 +
[[Image:Yoga2.png|center|1000px]]
 +
<b>Firebase Structure:</b>
 +
[[Image:Yoga3.png|center|500px]]
 +
*Firebase has limitation in uploading images and photos
 +
*Backend developer conducted intensive research and trial & error using different alternatives to insert images into Firebase
 +
*Base64 decoder was chosen to encode and decode images using text (compatible with Firebase)
  
 
==Quality of product==
 
==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.
 
  
 
===Intermediate Deliverables:===
 
===Intermediate Deliverables:===
 
There should be some evidence of work in progress. 
 
  
 
{| border="1" cellpadding="4" cellspacing="0"  
 
{| border="1" cellpadding="4" cellspacing="0"  
Line 599: Line 631:
 
|rowspan="2"| Project Management
 
|rowspan="2"| Project Management
 
|| Minutes
 
|| Minutes
|| Sponsor weeks -10 -5 3 7 Supervisor weeks -2 3 5 7
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Documentation_Minutes Minutes]
 
|-
 
|-
  
 
|| Metrics
 
|| Metrics
|| Bug metrics
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Metrics Metrics]
 
|-
 
|-
  
 
|| Requirements
 
|| Requirements
|| Story cards
+
|| Storyboard & Motivation
|| [http://www.agilemodeling.com/artifacts/userStory.htm CRUD Customer], [http://www.agilemodeling.com/artifacts/userStory.htm Trend Analytic]
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Project_Motivation Storyboard & Motivation]
 
|-
 
|-
  
|rowspan="4"| Analysis
+
|rowspan="2"| Analysis
 
|| Use case
 
|| Use case
|| [http://en.wikipedia.org/wiki/Use_case_diagram overall]
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Project_Documentation Use Case]
|-
 
 
 
|| System Sequence Diagram
 
|| [http://en.wikipedia.org/wiki/System_Sequence_Diagram client], [http://en.wikipedia.org/wiki/System_Sequence_Diagram server]
 
|-
 
 
 
|| [http://en.wikipedia.org/wiki/Business_Process_Modeling_Notation Business Process Diagram]
 
|| Here
 
|-
 
 
 
|| Screen Shots
 
|| CRUD Customer, Trend Analysis
 
 
|-
 
|-
  
|rowspan="2"| Design
+
|| Architectural Diagram
|| [http://en.wikipedia.org/wiki/Entity-relationship_model ER Diagram]
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Project_Documentation Architectural Diagram]
|| 1, 2, 3
 
 
|-
 
|-
  
|| [http://en.wikipedia.org/wiki/Class_diagram Class Diagram]
+
|rowspan="1"| Design
|| [http://en.wikipedia.org/wiki/Class_diagram 1], [http://en.wikipedia.org/wiki/Class_diagram 2], [http://en.wikipedia.org/wiki/Class_diagram 3]
+
|| UI Prototype
 +
|| [[Media:Platinum Yoga Application Mockup UI.pdf | Mockups]]
 
|-
 
|-
 
  
 
|| Testing
 
|| Testing
 
|| User test plan
 
|| User test plan
|| [[IS480_Midterm_Wiki#Testing: | instructions]]
+
|| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Documentation_Usability_Test Testing]
 
|}
 
|}
 
Not all parts of the deliverables are necessary but the evidence should be convincing of the progress. Try to include design deliverables that shows the quality of your project.
 
  
 
===Deployment:===
 
===Deployment:===
Line 650: Line 667:
  
 
===Testing:===
 
===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.
 
 
  
 
{| border="1" cellpadding="4" cellspacing="0"  
 
{| border="1" cellpadding="4" cellspacing="0"  
Line 664: Line 678:
  
 
|align="center"| User Test 1 <br/> (Existing Platinum Yoga users)
 
|align="center"| User Test 1 <br/> (Existing Platinum Yoga users)
|align="center"| Dates
+
|align="center"| 30th January 2015
 
||  
 
||  
* objective 1
+
*Allow users to try browsing & booking classes using the phone app
* objective 2
+
*Receive feedback about the app’s UI
|align="center"| 5
+
*Receive feedback about what the users would like to see in the app
|align="center"| Insert Link
 
|-
 
  
|align="center"| User Test 1 <br/> (Existing Platinum Yoga users)
+
|align="center"| 10
|align="center"| Dates
+
|align="center"| [https://wiki.smu.edu.sg/is480/IS480_Team_wiki%3A_2015T2_Tinkers_Documentation_User_Testing1 User Test 1]
||
 
* objective 1  
 
*  objective 2
 
|align="center"| 5
 
|align="center"| Insert Link
 
 
|-
 
|-
  
Line 688: Line 695:
 
===Team Reflection:===
 
===Team Reflection:===
  
Over the past few months, our team learnt have learnt that preparation, good communication and proper work delegation are the three essential pillars for any project to be managed well and succeed. Whenever we are in doubts, we always clarify them with each other or the client to ensure that the project is executed properly and proceeds in the right direction. We have also embraced learning to learn, a core learning outcome for many courses in SIS, as we learn new skills while doing the project.
+
Over the past few months, our team have learnt that preparation, good communication and proper work delegation are the three essential pillars for any project to be managed well and succeed. Whenever we are in doubts, we always clarify them with each other or the client to ensure that the project is executed properly and proceeds in the right direction. We have also embraced learning to learn, a core learning outcome for many courses in SIS, as we learn new skills while doing the project.
  
 
===Managing Client's Expectations:===
 
===Managing Client's Expectations:===
  
 
While working closely with our stakeholders, we have learnt that clear communication with our client and sponsor is very important to the success of the project especially when we are gathering all the necessary requirements for the project. Complex technical details are explained in simpler terms to our client to help him understand the project better and be part of the project. We also learn about negotiating and bringing the gap of customer's expectation and concerns and the team's technical ability. This is a very important skill for us as we aim to maintain a good relationship with our clients and deliver as much as we can with the limited resources we have.
 
While working closely with our stakeholders, we have learnt that clear communication with our client and sponsor is very important to the success of the project especially when we are gathering all the necessary requirements for the project. Complex technical details are explained in simpler terms to our client to help him understand the project better and be part of the project. We also learn about negotiating and bringing the gap of customer's expectation and concerns and the team's technical ability. This is a very important skill for us as we aim to maintain a good relationship with our clients and deliver as much as we can with the limited resources we have.

Latest revision as of 17:16, 2 April 2015

TinkersBanner.jpg


HOME

 

TEAM

 

PROJECT OVERVIEW

 

PROJECT MANAGEMENT

 

PROJECT DOCUMENTATION

 
Main Wiki Midterm Wiki Final Wiki

______________________________________________________________________________________________________________________________________________


Project Progress Summary

  • View our Midterm slides here
  • View our deployed application in Google Play:Platinum Yoga

Project Highlights:

  • Scope of the project has been updated:
    • 5 features were added (Retreats/TT, Analytics for Yogapedia, Promotions, PY Privileges, Contact us)
    • 1 feature was removed (Lucky Draw System due to incompatibility with the MindBodyOnline internal point system)
    • 2 features were renamed (Events to Special Events, Yoga Pose-Tree to Yogapedia)
  • Completed a user testing with 10 Platinum Yoga students
  • Steep learning curve for front-end technologies (Ionic platform, Angular JS)
  • Postpone the deployment of iOS app in Apple store
    • Team decided to postpone the deployment of iOS app due to resource and time constraints after being advised by Supervisor (Chris Boesh) and discussing with our client.
    • Client agreed with this as the review and testing process for iOS application is different than Android
    • Client and team agreed to deploy a stable Android application first before releasing an iOS after poster day where he will provide the resources needed to deploy iOS application
  • Mid-terms goals have been updated after discussion with client to a more realistic one(see images below)


Previous Goals

Tinkers Goals Previous

Updated Goals

Tinkers Goals Updated

Milestones Completed:

  • Proposal Submission
  • Acceptance Presentation
  • User Test 1
  • Release 1

Milestones Remaining:

  • User Test 2
  • Poster Submission
  • Final Presentation
  • Poster Day

Project Management

Project Status:

Module Functionality Status Confident Level (0-1) Comment
User Account Module Login/Logout Fully deployed and tested 100% 1 David
Auto login after 1st successful login Fully deployed and tested 100% 1 David & Ricky
Register Fully deployed and tested 100% 1 Hosanna
Edit Profile Fully deployed and tested 100% 1 David & Ricky
Attendance Checking (barcode) Fully deployed and tested 100% 1 Hosanna
View User's Schedule Fully deployed and tested 100% 1 David & Ricky
Class Module Browse Classes Fully deployed and tested 100% 1 Hosanna & Ricky
Book Classes Fully deployed and tested 100% 1 David & Ricky
View Instructor's Information Fully deployed and tested 100% 1 David & Ricky
Filter Classes Fully deployed and tested 100% 1 Hosanna & Ricky
Waiting List Fully deployed and tested 100% 1 David & Ricky
Pull to Refresh Fully deployed and tested 100% 1 Hosanna
Workshop Module
  • client request challenges to be under here
Browse Workshops/Challenges Fully deployed and tested 100% 1 Hosanna & Ricky
Book Workshops/Challenges Fully deployed and tested 100% 1 David & Ricky
View Instructor's Information Fully deployed and tested 100% 1 David & Ricky
Filter Workshops/Challenges Fully deployed and tested 100% 1 Hosanna & Ricky
Waiting List Fully deployed and tested 100% 1 David & Ricky
Pull to Refresh Fully deployed and tested 100% 1 Hosanna
Retreats/TT Module
  • NEW module
Browse Retreats/TT Fully deployed and tested 100% 1 Hosanna & Ricky
Book Retreats/TT Fully deployed and tested 100% 1 David & Ricky
View Instructor's Information Fully deployed and tested 100% 1 David & Ricky
Filter Retreats/TT Fully deployed and tested 100% 1 Hosanna & Ricky
Waiting List Fully deployed and tested 100% 1 David & Ricky
Pull to Refresh Fully deployed and tested 100% 1 Hosanna
Appointment Module View Categories Fully deployed and tested 100% 1 Hosanna & Ricky
View Instructors Fully deployed and tested 100% 1 Hosanna & Ricky
View Available Timeslots Fully deployed and tested 100% 1 David & Ricky
Book Appointments Fully deployed and tested 100% 1 David & Ricky
History Module View Past Bookings Fully deployed and tested 100% 1 David & Ricky
View Past Purchases Fully deployed and tested 100% 1 Hosanna & Ricky
Review Module Write Reviews for Classes
  • database
Fully deployed and tested 100% 1 David & Johnathan
Rate Classes
  • database
Fully deployed and tested 100% 1 David & Johnathan
Display Reviews for Classes
  • database
Fully deployed and tested 100% 1 Hosanna & Johnathan
View Health Tips
  • database
Fully deployed and tested 100% 1 Hosanna & Johnathan
FAQ Module View Information/Etiquette
  • database
  • rename from FAQ
Fully deployed and tested 100% 1 David & Johnathan
View About Fully deployed and tested 100% 1 Hosanna
View Contact Us
  • NEW module
Fully deployed and tested 100% 1 Hosanna
Promotions Module
  • client changed from database to redirect to web
View Promotions Fully deployed and tested 100% 1 David
Special Events Module
  • NEW module
View Special Events Fully deployed and tested 100% 1 Hosanna
PY Privileges Module
  • NEW module
View PY Privileges Fully deployed and tested 100% 1 Hosanna
Hall of Fame Module Display Winners
  • database
Fully deployed and tested 100% 1 David & Johnathan
Admin Portal User Reviews Management
  • database
Fully deployed and tested 100% 1 David & Johnathan
Hall of Fame Management
  • database
Fully deployed and tested 100% 1 David & Johnathan
Information & Etiquette Management
  • database
Fully deployed and tested 100% 1 Hosanna & Johnathan
Health Tips Management
  • database
Fully deployed and tested 100% 1 Hosanna & Johnathan
Yogapedia Analytics Management
  • database
  • NEW module
To be completed in iteration 7 0.5 David & Johnathan
Yogapedia Module View Poses under Different Categories
  • database
To be completed in iteration 7 0.5 Hosanna & Johnathan
Record User's progress
  • database
To be completed in iteration 7 0.5 David & Johnathan
Notification Module Push Out Events To be completed in iteration 7 0.5 David & Ricky
Push Out Reminders To be completed in iteration 7 0.5 David & Ricky
Social Media Module Share Upcoming Classes To be completed in iteration 7 0.5 Hosanna & Johnathan

Module(s) removed:

Module Functionality Status Confident Level (0-1) Comment
Event Module
  • REMOVED module
Browse Events Completed 1 Hosanna & Ricky
Book Events Completed 1 David & Ricky
View Instructor's Information Completed 1 David & Ricky
Filter Events Completed 1 Hosanna & Ricky
Waiting List Completed 1 David & Ricky
Pull to Refresh Completed 1 Hosanna & Ricky

Project Schedule (Plan Vs Actual):

Planned Schedule

Tinkers Goals Previous

Actual Schedule

Tinkers Goals

Schedule Comparison

Tinkers Schedule Comparison

Changes in scope:

Tinkers scope v3(130215).jpg

Details of the changes made:

  • Primary
    • Client informed us to rename "Events" to "Special Events"
    • Events module is changed to "Special Events" module which will redirect to Platinum Yoga's Special Events page
    • Booking and filtering of "Retreats/TT" (TT stands for teacher training) has been added
  • Secondary
    • "Lucky Draw System" has been removed as MindBodyOnline API adds points to users' accounts internally automatically for referrals and there is no way for us to add points to users' accounts using the API. Furthermore, client find it a hassle if he has to manage 2 point systems.
    • "Yoga Pose-Tree" is renamed to "Yogapedia"
    • New module "Analytics for Yogapedia" has been added
    • Waiting list for events is removed as of events module is changed to "Special Events" module
    • Waiting list now shows "Retreats/TT"
  • Tertiary
    • "FAQ" is renamed to "Info/Etiquette"
    • "Promotions", "PY Privileges" and "Contact us" has been added

Project Metrics:

Schedule Metrics

TinkersScheduleMetrics.jpeg

Bug Metrics

TinkersBugMetrics.jpeg

Future Project Risks:

Our Top 3 Risks:

Risk Probability Impact Mitigation
Problems encountered from third party vendor (MindBodyOnline) & unclear API instruction Medium High Run frequent testing and alert MindBodyOnline immediately. Readjust project schedule to ensure that other tasks can be done while waiting for replies or MindBodyOnline to resolve the issue.
Updates in scope from client Medium High Establish a standard which is agreeable for client and readjust schedule and resources to attempt to deliver what the client needs. Establish constant communication with client to keep him in the development loop.
With the usage of new technologies, we may run into trouble implementing certain complex functionality Medium Medium Research and allocate more time for technology familiarization and consider alternative.

Technical Complexity:

Using MindbodyOnline API

Mindbodyonline complex2.jpg


Mindbodyonline complex1.jpg
  • As we cannot directly send requests from our mobile application to the MindBodyOnline API, we need to use a web server and php scripts to act as a middleman to do that
  • Soap Client function in the php is used to communicate with the MindBodyOnline API


MindBodyOnline complexity.JPG
  • The execute tag is not in the documentation. Have to trial and error to work with the API.
  • Mindbody also took quite some time to reply which slowed down our development.

Ionic Platform:

Learning the tricks of Ionic Framework updated.jpg
Slide2.JPG
  • Learning Ionic Platform as front-end for our project
    • Mastering the 2 way data binding (from front to back and vice versa)
    • (first picture) Ionic method is called from the front-end to pass data to the controller which then passes the data to the factory before the data gets transferred to the MindBodyOnline API.
    • (second picture)Data is retrieved using server from the MindBodyOnline API within the factory. Controller then use the same factory to get the data before iterating it through from the front.
  • Loading Time Issues
    • Developers realised that data from API need to be retrieved earlier in the factories (call these factories earlier), before pulling them from the controllers. This will enable the data to display on time if not the information will only show up after a longer time.

Using Phonegap Plugins for Ionic Project

  • Developer has experience using Phonegap Build service to deploy Android application, however, support for deploying Ionic applications using Phonegap plugins on Phonegap Build service is limited
  • Need to understand how to use Phonegap Plugins(eg. opening browser) work for Ionic projects.

Default Ionic Project config.xml Configurations:

Old config.JPG


Changes Made to Implement Phonegap Plugins for Ionic Project:

New config.JPG

Phonegap Plugins used:

Phonegap plugins.JPG


Displaying Images in Firebase

Adding a particular pose for Yogapedia on the portal:

Yoga1.png

Retrieving the picture from Firebase (HTML Codes):

Yoga2.png

Firebase Structure:

Yoga3.png
  • Firebase has limitation in uploading images and photos
  • Backend developer conducted intensive research and trial & error using different alternatives to insert images into Firebase
  • Base64 decoder was chosen to encode and decode images using text (compatible with Firebase)

Quality of product

Intermediate Deliverables:

Stage Specification Modules
Project Management Minutes Minutes
Metrics Metrics
Requirements Storyboard & Motivation Storyboard & Motivation
Analysis Use case Use Case
Architectural Diagram Architectural Diagram
Design UI Prototype Mockups
Testing User test plan Testing

Deployment:

View our deployed application in Google Play:Platinum Yoga

Testing:

User Test Date of User Test Objectives No of Participants Link
User Test 1
(Existing Platinum Yoga users)
30th January 2015
  • Allow users to try browsing & booking classes using the phone app
  • Receive feedback about the app’s UI
  • Receive feedback about what the users would like to see in the app
10 User Test 1

Reflection

Team Reflection:

Over the past few months, our team have learnt that preparation, good communication and proper work delegation are the three essential pillars for any project to be managed well and succeed. Whenever we are in doubts, we always clarify them with each other or the client to ensure that the project is executed properly and proceeds in the right direction. We have also embraced learning to learn, a core learning outcome for many courses in SIS, as we learn new skills while doing the project.

Managing Client's Expectations:

While working closely with our stakeholders, we have learnt that clear communication with our client and sponsor is very important to the success of the project especially when we are gathering all the necessary requirements for the project. Complex technical details are explained in simpler terms to our client to help him understand the project better and be part of the project. We also learn about negotiating and bringing the gap of customer's expectation and concerns and the team's technical ability. This is a very important skill for us as we aim to maintain a good relationship with our clients and deliver as much as we can with the limited resources we have.