Goodmix Final Wiki
Main Page: IS480 Team wiki: 2010T2 Good Mix
Project Progress Summary
Project Highlights:
This section is about sudden requirement changes or requests since midterm which we took up. More information on how requirement changes are handled here.
S/N | Event | Evaluation | Action | Result |
---|---|---|---|---|
1 | User request customizing symbols by choosing from a list of images | Impact: high as it affects many other functionality Difficulty: high as no research about this is done before. |
Team consulted sponsor with the following options:
1. Implement change but outcome is not the responsibility of Goodmix a. Might have major bugs that cannot be solved and have to revert b. Less time to work on existing bugs but able to pass UAT 2. Do not implement change and focus on debugging Sponsor chose option 1. |
Team split into coding team (Bernard, Shazlee and George) and project management team (Naresh and Jess) to work concurrently.
Scenario 1(b) occurred. |
2 | New “find coordinates” function requested on 8th November to be up by 10th November for UAT | Impact: low because it is a standalone function
Difficulty: low because similar techniques are used before |
Went ahead with the request but tight deadline is a challenge so collaboration is critical. Bernard had to finish the coding and UI before passing it to Naresh to update Test Plan and Shazlee to update User Guide. | Request completed and RIBA tested before UAT |
3 | Client failed the spatial error handling for the UAT conducted on 10 November 2010. If this is not addressed, it means that the UAT failed. | Impact: low because it does not implicate other codes
Difficulty: medium as previous attempts to give specific errors had failed. |
Team is offered 2 options from sponsor
1.Fix it 2.Not fix it and write a statement as explanations which will be submitted back to the client who graded fail for approval. |
Jess thought of an idea and managed to accomplish the specific error handling. |
Project Challenges:
1) Expectations of end users from different departments in biodiversity center
Even though our source of requirements is our sponsor, we attended all usability study sessions to get direct feedback from them. This means indirectly managing users’ expectations which can be different and sometimes contradictory. After each usability study sessions, we will discuss with our sponsor during the next meeting to prioritize the changes requested for the next deliverable. We also make use of our project metrics to help us evaluate the requests. This plan had worked well for us.
2) Managing many deliverable
Other than FYP milestones, there are biweekly sponsor meetings and client usability sessions where different deliverable for RIBA is expected. “Just keep going” attitude to deliver what is expected to our best. We will first meet our sponsor to show him what we have done before he organizes the usability study sessions with KOOPrime and National Parks. This is both a challenge and a benefit for GoodMix. With many milestones, we are able to keep our schedule on track regularly.
Project Achievements:
Scheduling the project is the most complex task for this project. Due to the nature of our development process, we design our own method to mitigate the disadvantage of adopting this process which we called it dynamic scheduling. This method was effective as it successfully helped us overcome many milestones to satisfy our stakeholders.
Although we make use of external libraries, we create methods to access them and logics to integrate them with functionalities. When the libraries cannot perform what we hope they will, we modify them or seek other alternatives such as using PostGIS functions.
To make RIBA interactive and getting the architecture right, it takes a lot of planning, research, learning, explorations and testing at the backend.
Project Management
Project Schedule (Plan vs. Actual):
Changes to project schedule were elaborated up to midterm. Therefore comparison of the plan and actual schedule will start at phase 6.
Although there are many changes to the requirements, schedule is well on track. Most of the time, while we include change to the requirements, we also removed some that got prioritized lower after the change request. Hence, the net effect is neutralized.
table here
Project Metrics:
There are 3 metrics that Goodmix use: requirement evaluation metric, risk assessment and bug tracking.
Technical Complexity:
We ranked the technical complexity by functions and provided explanations for top 3 choices:
Rank | Function |
---|---|
1 | Symbol Customization
This is the most technical component for us because attempts to customize the symbols of the layers with color picker was made before but failed. This is why we modified it to become randomized color symbols and no prior research was done specific to this function. Furthermore, this feature affects most of the functionalities since they were built on top of the marker population algorithm. Achieving dynamic icon list where administrators just need to upload icons to the symbol folder is one of the most satisfying feeling. |
2 | Layer Control Manager
This function is considered a basic feature but it is one of the most difficult function particularly trying to implement this in the early stages. This means that if we don't get this feature out in time, it will be a critical bottleneck for the rest of RIBA development. This feature is also the one that morphed the most throughout the project - from changing UI to changing logic.
|
3 | Spatial Search
Spatial search is both difficult and special at the same time. Through our usability sessions, our end users seem to be most awed by this function. This is also another function that transformed a lot through the phases - from single point buffer to multiple point buffer to polygon buffers. A lot of hiccups were met during the development of this function. As this is a geospatial concept search, a lot of careful considerations and revisions are made for its UI.
|
4 | Attribute Search |
5 | Highlight |
6 | Heatmap |
7 | Data Loading |
8 | Dynamic Legend |
9 | Area Calculation |
10 | User Interface |
11 | Map Export to Images (Snapshot) |
12 | Distance Calculation |
13 | Find Coordinates |
14 | Map Navigation |
15 | Map Scale |
16 | Map Provider |
Quality of Product
Project Deliverable:
Stage | Specification | Modules |
---|---|---|
Project Management | 1) Minutes
2) Metrics |
Client, Sponsor, Supervisor & Internal |
Requirements | 1) Storyboard
2) Specifications |
story |
Analysis | Use Case & Description | Use Case Materials |
Design | 1) System Architecture
2) UI Design Changes 3) Database Schema |
Architecture
Media:DataSchema.pdf of NParks_DB |
Testing | UAT | Test Plan & UAT Details |
Handover | 1) Guides
2) Code 3) Deployment |
Media:User Guide.pdf, Deployment Guide
On Test Server |
Quality:
Deployment:
This page includes all the deploying details and materials: Deployment Details
Testing:
Testing: UAT
Reflection
Team Reflection
Benjamin Gan Reflection
Jess: As project manager, in terms of schedule, I am lucky to have our developers helping out in managing the deliverables, particularly in the project development aspect. On top of this, FYP is probably the longest project, about 6 months, for SMU undergraduates so sometimes, the team does get tired or less motivated. However, I truly experienced the spirit of “keep moving on” from this team which enabled us to deliver what we were set out to. To me, this is a journey of stamina, management and motivation.
123
Initially in our team, only Jess and George are exposed to Flex coding while the rest (Bernard, Naresh and Shazlee) do not have any background knowledge about it. Therefore, the initial learning curve is extremely steep for me but with the help of reference books and examples from the web, and slowly I come to terms with Flex coding. Then for the rest of the coding of the project, it would be basically more of reading what each APIs can do and applying programming logic into it. Besides Flex coding, I also has to understand PHP programming as well as using APIs from our PostGreSQL database in order to achieve some of the spatial functions (spatial query, area calculation and etc) in our project. All in all, through this project, I have been exposed to several programming languages and also the interaction between each phase of our architecture.
After a grueling 6 months, the FYP is finally coming to an end. It has been a long and tough journey, especially having to juggle other modules, external classes and work. Personally, I feel that the challenge in this project is the new programming language of which made it hard to search the Web for information on it. That aside, having to handle the client’s request proved to be a challenge as well. Due to the various constant changes requested, it was hard having to keep up with it. Something which I loved about this project was coming up with some of the algorithms to make it work. I felt a sense of completion seeing some of the things work in the project such as the randomization of color for the markers, which unfortunately was removed after one of the usability session with the end user.
I personally think that IS480 is a good educational channel for me to experience a real project life cycle, from gathering requirements to project management and to completion. As an educational environment, I have a chance to learn from my mistakes and amend from it, so that I am more prepared when I enter the business world. Apart from the technicality aspect of our application, the takeaways from this project are mostly the soft-skills that I learnt; managing stakeholders’ opinions, addressing internal conflicts, and how we can convey our ideas more effectively. I have also learnt how to advice stakeholders by presenting different outcomes from various implementations and our recommendations, balance tough decisions and strive for a win-win situation. I would like to thank our project sponsor and supervisor for giving me keen insights in project development and management. |
Sponsor Comment
Disclaimer: All images and content on this page are done by Good Mix and should not be published without their permission.
Main Page: IS480 Team wiki: 2010T2 Good Mix