HeaderSIS.jpg

IS480 Team wiki: 2010T1 OOLaLa Final

From IS480
Jump to navigation Jump to search

We are OOLaLa

Project Progress Summary

Rigorous work took place to enhance and further improve the entire SMS Application since the Mid-Term Presentation. A series of User Acceptance Test was conducted on various groups of people (Student & Working Adults), which will further elaborated at the Quality of Product section. In addition, with the results obtained and analyzed, further work and improvements were implemented to ensure that we deliver a robust system by the end of our project, which we have officially completed.

Project Highlights:

  • Software Alignment to Business Needs
Software Alignment to Business Needs

Event Management tools and IT solutions are in abundance in our current society. Gaps and misalignment between current business and these solutions are tremendous. In this project, we address limitations of the current methodology of Event Management.




  • Usability Issue
Usability Problem and Resolution

The implementations of a user-friendly, easy-to-use system that can be efficiently utilized by any people from differing backgrounds deem to be easier said than done. Numerous heuristic tests to gather perspective on the established interface were tedious and time-consuming. Usage of tooltip, other visual studio tools and backend processing tools such as timer and threading enhanced the user interface. Intuitive Message allows end users to use the application without the usage of any user manuals.

Project Challenges:

  • Usability Issues

After gathering feedbacks and results from our Heuristic tests, we recognized the need of improving our existing user interface based on the feedback given by our testers and sponsors. Usage of many usability features and tools coupled with usage of intutitive terminology and message enhances the usability and simplicity of our application.

  • Ensuring a Fully Functional Working System

Data inconsistency present with the usage of XML document and inconsistent file paths deters the end user from using the developed application appropriately. We are challenged to find the root source of the problem and standardize the variables that are compatible with all end user’s computers.

  • Resolving Shortcomings of Various External Libraries’ Tools

The external library used for the generation of any event attendance list as a PDF document which posed major problems for the team. The library’s method was not able to print the pie chart properly due to its shortcoming. As a result, conversion of the pie chart as a bitmap is necessary.

  • Compatibility with Various Operating System

Different operating system configures the serial ports for GSM modem connection differently. Initial programming codes used to open the specific port connected to the GSM modem did not work on older Windows Operating System. Thus, vigorous research and testings were done to identify the exact problem to seek for an alternative solution, which requires timeout codes to be implemented in order to resolve the compatibility issue with older Windows Operating System.

  • Compatibility with Various GSM Modems

With only two GSM modem models given by the sponsor for the development of this application, we faced issues, such as, making the application compatible with other GSM modem models. However, due to budget constraints and having only one of the two modem available in the market, we are challenged to find alternative solutions to reduce the risk of compatibility problems with other GSM modem models not made available to us. With the subscription of wireless plans with M1, we were able to gather commonly a used GSM model, HuaWei Modem, for testing. Therefore, this helps to reduce the probability of compatibility issues occurring in commonly used GSM modems.

Project Achievements:

  • SMS Application used at an event organized by Client/ Sponsor

To provide our client/ sponsor with a real-life experience on the responsiveness of the SMS Application, we did a test on an event that our client/ sponsor had organized.

  • Bringing commonly used technologies to a new experience

Who knew SMS could be used to create an event and consolidate attendance for it? Leveraging on commonly used technologies that had been available since Short Messaging Service (SMS) existed; we have brought the capability of SMS towards a newer user experience, with enhanced usability.

  • Creation of Events can be done Intuitively On-The-GO

We managed to change the workflow for creation of events On-The-GO from a long set of syntax to a workflow that can be done intuitively now! This new workflow makes creation of events so much easier and interactive than before.

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):

OOlalaschedule.png

During each iteration, the following is carried out:
- Sketch and brainstorm the design and requirements of the functions that is to be implemented before coding it.
- After integration of new functions, review and test the whole application(including functions previously implemented).
- Record progress details and update PM documents.

Project Metrics:

Schedule Metrics

The graph below illustrates an overview of our iteration progress. During the 1st milestone, which is from iteration 1-4, our group deviated from the estimated schedule as we have allocated too much time for functions that were easily done up. Meanwhile, functions that we presumed could be easily implemented took us longer than expected and that delayed our schedule as can be seen in iteration 4.

From the mistake learnt in milestone 1, we adjusted our project schedule and subsequent iterations (5-9) in milestone 2 and 3 became more consistent.

However, we were severely delayed in milestone 4 due to other project commitments and deadlines. We chose to do away with some additional functions that were least important to the sponsor and also increased our working hours to finish the functions on time.

Schedule graph.png


How we measure it:

Formula : Estimated Duration / Actual Duration
Action Plan: Reference Table below

Schedule reference table.png

Data Collected: Measurement Data below
Schedule Metric Measurement Data

Happiness Metrics

The graph shows the emotional state of every member based on a set of questionnaire answered weekly. As can be seen, the metric ratings of some members fluctuates greatly while some are more consistent. In iterations 7 and 8, ratings of member were generally low, some even fall below the average of 4. This is due to several midterm projects and tight deadlines that we need to abide to. We adjusted our project schedule and kept meetings as short and productive as possible.

Happiness graph.png

How we measure it:

Questions:

Happiness qn chart.png

Action Plan: Reference Table below

Happiness reference table.png

Project/ Technical Complexity:

We basically did not encounter much technical complexity when programming our entire application. So, we changed our focus of complexity to ensure better usability in our SMS Application, such as its heuristics.

  • User Experience

To enhance user experience, we implemented our SMS Application in a simple, user-friendly and efficient manner. Numerous discussions and brainstorming sessions took place to ensure that we deliver a smart and interactive SMS Application that could easily understand different user’s entries and data.

Since the Proposal Acceptance Presentation and during the Mid-Term Presentation, technical issues surrounding the processing time of our SMS Application arouse. Because upon a desktop application user logs onto our SMS Application, he/ she had to wait for approximately 10-15 seconds before he is logged on. Such long waiting times does not provide any benefits for the desktop application user as he/ she stares at the frozen screen for 10-15 seconds, which is simply a waste of time. Thus, since then, we had explored on various multi-threading methods that allows speedy log in. And a resolution found to this technical issue was by incorporating a background thread or, otherwise, a time-out functionality, which was incorporated in the Send SMS functionality.

  • Managing Multiple Interactions
    Managing Multiple Interactions

To allow multiple users to create events On-The-GO, we had to enhance our SMS Application to be robust enough to allow multiple users to interact at the same time. Furthermore to ensure every user who creates events On-The-GO is recognized, our SMS Application had to be smart enough to know the last session of the user and prompt of any unfinished session.

  • Logic

An important part in ensuring good usability throughout our SMS Application is to ensure good drawn-out logic of the application, and functionality. This is important to predict human behavior and all other alternative inputs (or SMS sent) by the mobile users. An example of such prediction includes the different date format specified by every mobile user: Such as 24 Nov 2010, 24 November 2010, 24/11/2010, 24-11-2010 and 24.11.2010.

Because various other library files and functionalities were created and done concurrently with all other basic and additional functionalities, we had to ensure that integrating with different solutions was done successfully. Furthermore, our logic had to be robust enough to ensure stability of our SMS Application.

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:

List the artifacts produced for this project. The entire deliverable can be submitted in a separate thumb drive, web repository or place in the IS480 team wiki.

Stage Specification
Project Management Minutes
Metrics
Requirements Software Alignment to Business Needs
Usability Issue
Analysis Use Case Diagram
Use Case
System Sequence Diagram
System Sequence Diagram
Design
Class Diagram
Example of Class Diagram
Testing Test plan
Tracking Mantis Bug Tracking
Handover Code
Deployment

Not all parts of the deliverables are necessary but the evidence should be convincing of the scope.

Quality:

  • User Interface
We started with working on paper prototype in our initial discussions with our project client. This paper prototype also enabled us to make changes and to reflect them on the paper easily. This enabled us to have a clearer understanding of what our project client really wants.

Paper Prototype for Draft UI Paper Prototype for Template UI Paper Prototype for Events UI

Progressing from paper prototype, we started to build our initial application UI. Initial UI Design
After vigorous rounds of UAT and Heuristic Test by different users, we have discussed and finalized the UI with our project client. Finalized UI Design


  • Adopting Model View Controller (MVC) concept in our programming codes

At the early stage of our programming stage, we realized the importance of maintaining a healthy structure and adhering to a certain standard. We have decided to adopt MVC concept and the enabled us to reuse codes and also ease in making changes.

Deployment:

Our SMS Application is coded using Microsoft Visual Studio 2010 which makes deployment a breeze.

  • To install the SMS Application just click on the executable (.exe) file which will extract the required files into a folder.
  • To run the SMS Application simply click on the SMS Application shortcut found on the Desktop after installation.

Testing:

  • The 1st round of testing will be done internally

There will be 2 pair of programmers doing the application, while the other member will be assign to be the observer. The role of the observer is to get update with the functionalities' status of that particular week and when a functionality is completed, the observer will proceed to test the functions and at the same time come up with the test plan and report any bugs found. The reporting of bugs can be done through Mantis Bug Tracker and the observer is also able to assign a programmer to solve the bug.

  • The 2nd round of testing will be done by the sponsor

Every couple of weeks, we will deliver a working application to the sponsor. He will do the testing and inform us of any bugs found. Besides that he will also give us comments about the user interface for us to improve on.

  • The 3rd round of testing will be done externally

We contacted our friends to test our application for bugs and usability which consist of a mixture of SIS and Non-SIS students.

  • User Acceptance Testing in week 10

Sample size: 11
Total bugs discovered: 10
8 were user interface bugs
2 were functionalities bugs

We approached different users such as parents, students and working adults to test our application based on the test plan created by the observer. While conducting the test plan, we will be with the user to guide them and also to record any bugs found in the process.

Reflection

Team Reflection:

Key lessons learned – indicating where the team improved, or would do things differently next time. You may refer to the learning outcome summary in your proposal. A very short checklist style will suffice. It would be very convincing if the knowledge is share at the wiki [Learning Outcomes] and linked here.

Any training and lesson learnt? What are the take-away so far? You may include individual reflection if that make sense at this point. Be brief.

  • Key Lessons Learnt
Learning unfamiliar programming languages from scratch, understanding our project sponsor’s requirements and conveying our action plans to our project supervisor were quite challenging at times. Not only did we learn and become better project managers and programmers, we have acquired other soft skills through this fabulous project experience.
The following are the key lessons learnt:
1. Click on either setup.exe or SMSApp.msi to install
OOLaLa setup.png
2. Navigate to the Desktop and click on the SMS Application shortcut to run
OOLaLa app.png
3. Login with the username admin and the password 123
OOLaLa login.png
4. Click on the Profile button
OOLaLa profile.png
5. Click on the Set SMSC Number radio button then select the relevant operator and click on Set to save
OOLaLa smsc.png
6. The SMS Application is now ready to use
Understanding user's behavior and patterns

Developing a real world application requires us to constantly collect data and inputs from the end users. Observing the way they use our application and the collection of their experience has exposes us to the mentality and understanding of the differing interactions performed by end users.

These interactions and observations has allowed us to think and understand the different user behavior and patterns. Thereby, catering to these differences to achieve usability and simplicity.
Learning to integrate existing technologies
With usage of existing technologies and libraries provided on the web, we have learn to integrate it by modifying the configurations. For efficient usage of each library's methods, we have learnt to identify the required parameters and sequence of activities that has to be done for successful execution of a desired method even when the documentation of the library is poorly done.
Managing client's expectations
Additonal business requirement are always initiated by our client. Though so, we learn to priortize each task based on its importance, value to the client. In efforts of aligning the software specifically to the client's needs, we learn the importance of using a user sign off specifying all functionality that scheduled to be delivered at the iteration phase.
Effective handover of functions
With pair programming arrangemnet and constant handover of functions to another pair of programmers each iteration, we learnt to keep each other updated regarding the current status of each functionality and the improvements that are required to be made in each team meeeting that we have.
Interpersonal Skills
Initially, our meeting are usually too interactive where everyone is fighting to get their inputs heard from the team. This situation worsen across the initiation phases which ended up many confusion and unheard thoughts. In resolution of this persisting problem, we learnt to respect one another and never interrupt each other when somebody is speaking .
View Video: Team Member's Key LOMS
Go to:Detailed explaination of our learning outcomes

Individual Reflection:

Brendon Png Lee Hong Reflection:

OOLaLa Brendon.jpg

This has been a rewarding experience and is indeed a highlight of my learning journey in SIS. We started out initially not knowing what we do not know. We have not idea what are the skill sets we need to equip ourselves with and everything about the project isn't that clear. From there, we progressed to realizing what we do not know and started to learn the ropes. We did our own research, studied the best practices and available solutions and constantly seek advice from our project supervisor.

In this project, my involvement was the role of the Project Manager (PM). This role does sound quite powerful. However, with great power comes great responsibility. Basically, the PM has to be responsible for the team dynamics, project requirements, making sure we're on schedule and especially in making decision for many things such as OT, adjusting our project scope and even deciding on a location to meet. Additionally, whenever there is a challenge faced in programming, the PM would have to gather the team's opinions and make an informed decision in overcoming the situation.

Overall, I've learnt that every project has learning opportunities and it takes a team effort to produce a project with good project management. Every role has a part to play within the project team.

Woo Kai Ling Reflection:

OOLaLa Kailing.jpg

Developing a real world application has brought me to another level of understanding and appreciation of current business processes and workflow. Given the role and responsibility of a design analyst and programmer within the team, I am constantly challenged to learn and implement something new and interesting that will bring business value to my sponsor and potential end users. I have learnt new business logics, skills in utilizing tools and techniques available in various IDE, external libraries available on the web. It is only during this project that I really appreciate the usage of external libraries and the guidance provided on forums such as StackOverFlow, SMSLib, and CodeProject communities. Reusability of external implementation and resolution provided on these external libraries and communities has facilitated easier maintenance of codes and implementation of new features. As these libraries focus on providing the fundamental principles and features, I acknowledge the various constraints and utilized additional codes and logics to overcome each shortcoming. Though I wasn’t the project manager, this project has allowed me to practice adequate project management practices and time management skills. Though it might seem dry and all theoretical, it helped provided our team with better manageability, adaptability and definitely, earn us recognition for best IS480 project management. In summary, I treasure this experience tremendously and gratefully thank you my supportive team mates and supervisor for this awesome project experience!

Lur May Yee Reflection:

OOLaLa Mayyee.jpg

Through this project, I’ve benefited and learned a lot from my group mates that were technically competent and were selfless in sharing and imparting their knowledge. I’ve become proficient in using the Visual Studio (VS) 2010 IDE especially in solving conflicted files. The properties settings bar in VS also enabled me to create a holistic user interface with just simple navigation tools. I’m tasked with handling and conducting testing of the functions such as UAT and gathered feedbacks that could better enhance our existing system. Any bugs found were also logged into Mantis, our bug tracker, to facilitate the assigning and debugging of bugs. Lastly, I learned that in order for a team to function efficiently, understanding each other’s differences and covering each other’s back is very important. There might be overlapping roles that required help from other members and I’m proud to say that each and every one of my teammates was ready to lend their helping hand. Indeed, I’ve gained so much from this course, but I believe my best take-away is the one of having fun. Fun should be one of the several achievements that a team strives for. For if all else fails, you know that the fun memories are there to stay. And with these fun memories come new friendships that I believe is here to last for a long time.

Alan Tan Beng Heng Reflection:

OOLaLa Alan.jpg

IS480 is truly an exciting journey for me, besides burning the midnight oil to get work done I have learn that it is often hard to stick with the initial requirement that we had from our client as he will always request more functions to be added. To resolve this there is a need to constantly communicate and justify what can and cannot be done within this short period. Sometimes there is some miscommunication between us and the client such as how the function should work because we are used to view from a programmer's perspective and not from a user's perspective therefore it's always good to have something clear and understandable draft out such as a user sign off form. One of the main challengers I faced was solving the bugs in the application. Initially we often had to ask one another on how to reproduce the bug and sometimes we even forgot where is the bug however with Mantis Bug Tracker, bugs were more easily to capture and tracked. As a whole, I'm glad that we overcome the challengers and had an enjoyable time together!

Goh Shu Qing Maybelline Reflection:

OOLaLa Mayb.jpg

As a programmer, my greatest takeaways were not on how complex our SMS Application was programmed, it was in the area of decreasing miscommunication. Messages brought across from a team member to another member may, or many a times, be interpreted incorrectly conceptually in certain contexts. In such a case, drawings and diagrams, elaborations and in-depth explanations of what was supposed to be brought across took mostly 60% of the meeting time. It was evidently seen as time-consuming, and we had chose to keep such conversations out of the team’s meeting, but only to be discussed within the parties who did not understand what was misunderstood. Well, this was only experienced at the beginning of our entire project. Over time, this issue gradually became a minute problem as we got to get along better with one another. The 3/4 of the year 2010 we spent together for this project had been an overwhelming experience filled with fun and joy, amidst the stress and pressure. I will continue to keep these memorable experience throughout all other projects in my future.


OOLaLa's Sponsor Feedbacks

Click To View Our Sponsor's Evaluation