2011年10月22日星期六

CHALLENGES IN THE PREPARATION OF THE SOFTWARE DEMO

As the time for software demo approaches, I made some preparations for it at the basic level, such as accumulating some fundamental materials and organizing them. Most of the things have gone well. However, I observed two main challenges faced by me. One is that the volunteer may type in some invalid input, and the other is that how to make the presentation professional.

The first challenge roots in the ToDo manager designed by us, because it is us who decided which inputs are valid or invalid. In all, there are two scenarios of this challenge. One scenario is that some time expressions cannot be distinguished by the software. Although the third party library introduced can identify a lot of time expressions, it cannot distinguish all the situations; for example: “forty-five days later” is regarded as “five days later” by mistake. The other scenario is that the test cases including script testing and exploratory testing we used may not cover all the situations where a bug occurs or an exception is thrown. It is possible that the person who tests our software types some inputs, resulting in a bug or an exception, because all the classmates have tested their software a lot and they know which test case is more prone to find errors.

To solve the first scenario, there are two suggestions. One suggestion is to clearly state the restrictions before someone tries out the software. The demonstrator should tell the user which kind of inputs is invalid. However, this method just avoids problems occurring during the presentation, but not solves the problem for the users. While the other suggestion can solve the problem permanently, which is removing more restrictions and making the software distinguish more time expressions. For the second scenario, the suggestion is to get the help of coverage tools introduced in the last CS2103T lecture to tell us how much percent of the codes we have tested. In this way, more errors or exceptions can be avoided.

The first challenge is more about the software, while the second one focuses more on the presentation skills, which is how to make the presentation professional. In my opinion, this presentation should be taken as one for real business, because the aim of this module is to make us ready for real business. Thus, the demonstrators should make their best to be professional. However, to show professionalism is not easy for me, and I still have to practice a lot in the future to achieve that.

One technique of appearing to be professional is to show passions and interests towards the product, and the passions and interests of the demonstrator will influence the audience positively. In addition, another technique is that the demonstrator should make the audience more willing to accept or at least remember the software. How to achieve this? One way is make a distinction between the primary and secondary features; for example, the demonstrator of Schedulicity emphasized the most important feature of their product by saying “the most exciting part is…”. I found this technique is quite useful to catch my attention and as a result, I thought that demonstrator was quite professional.

The two challenges above are faced by me now, and the focus of the preparation is mainly on how to solve these two potential problems.

2011年10月5日星期三

Reflection on the principles of communication and team behaviour

Britain’s first female prime minister, Margaret Thatcher (n.d.) once said “I do not know anyone who has gotten to the top without hard work. That is the recipe. It will not always get you to the top, but it will get you pretty near.” Since the day we formed the group, we have put in great effort and we are happy to see the achievements. One of the most important reasons contributing to the achievements is the good use of the principles of communication and team behaviour. These two concepts made us achieve a lot, but there are still some areas which can be improved in the future.

The two areas done extremely well about communication are remembering the purpose and the way we communicate with each other. When we were communicating with each other, we always kept the purpose in mind, in order not to skip the purpose. In this way, we got a lot great ideas efficiently. Moreover, every time one person talked about something not related to the purpose, there will be someone coming up to remind that person of the purpose.

Another aspect was the way we communicated with each other. Negative moods have a bad influence on the communication. On the contrary, a positive mood is the catalyst to the pleasant conversation and enhances creative problem solving and flexible yet careful thinking (“Frontline”, 2011). Each of us kept a positive mood when communicating with the others, maybe this was because a common belief was possessed by us, which was contributing to the group. Therefore, everyone was quite willing to communicate with the others in order to make the team better.

In addition to the communication, excellent team behaviour also helped the team a lot. Michael Jordan (n.d.), former American NBA basketball player once said “Talent wins games, but teamwork and intelligence wins championships.” Although it is unknown that if teamwork could make us the “champions” at last, it has already put us on the way to success. All the members are punctual for meetings and open to others’ opinions and criticism.

It is very important for the members to be punctual, because it says a lot about you; for example, you “respect others”, “have a standard for excellence” and so on (Bilanich, 2006). All of the group members were punctual for all of five meetings except the situations when someone had a valid reason and had informed the others before. In this way, the enthusiasm of the whole team was aroused by everyone’s determination of being punctual and responsible.

When the group members were discussing about some issues of the oral presentation, it was quite common that everyone had his own “perfect” idea. Luckily, everyone was open to others’ opinions, even the criticism. One of the biggest conflicts was the selection of leaders for the two modules, CS2101 and CS2103T. At first, none of the suggestions was unanimously adopted by all the group members. However, after serious consideration and repeated discussion, we finally selected the leaders.

Although overall we have done a good job, there are still some areas which we can improve in the future. One is the failure to finish the work before the next meeting, which can be improved in two ways. One way is the decrease in the workload to make it doable and the other one is the increase in the personal efficiency. In addition, there are also some other areas to improve, such as making the discussion more efficient. They will be discussed in the next meeting.  

It is such a pleasure to see the improvements in communication and team behaviour which our team has made, since the first day of this module. What is more pleasant to see is determination of each one to make our group better. Finally, thanks to our tutor for teaching us with the principles of communication and team behaviour.

References:


Frontline Employee University of Texas Employee Assistance Program. (2010, August). Retrieved from: http://www.uh.edu/work-life/docs/FrontLine-Newsletter-August%202011.pdf


2011年9月17日星期六

Problems Of The Alarm System And Some Possible Solutions

To make our todo manager stand out, our group has taken dramatic efforts designing new features and refining our existing features. Although we have made great progress since the start of this project and it seems that we are in the right direction to the success, there are still some problems left to be solved. Among the problems, one of the most rigid problems is about the alarm system.

The idea of the alarm system was first introduced with the intension to provide users with a convenient way to remind them of the tasks. Actually, this idea is proved to be fantastic and beyond reproach, but the method of how to create this feature is not that straightforward. Overall, the biggest concern is how users can set the alarm for their tasks.

As what our group has described before, the biggest feature of our todo manager is the multi-purpose command bar. After the user types a simple sentence, which does not need to follow any specific format, the system will automatically distinguish the key words and react according to different commands. However, it is not a doable way to set the alarm using the command bar. The reason why it is not doable is that it is impossible to estimate what the user will type for the alarm information, which will result in quite a number of key words. Therefore, it is extremely hard for us to set some criteria for the system to analyze the alarm information. Here is an example for a better understanding of this problem: the user types “have supper with Jim at 10 pm today reminding me every 20 minutes after 9 pm”. We can see that the information for the alarm is much longer than that of the deadline. Therefore, we abandon this way to set the alarm.

Although it is almost impossible to implement it using the command bar, one possible solution is to set the alarm after a new task has just been added. To facilitate this, every new task will be automatically shown at the top of the list of the task. Beside the task, there is a symbol of a clock representing the alarm. If the user clicks it or presses the shortcut key “ctrl+A”, there will be a pop-up window with the details for setting the alarm. Since the task is shown at the top, it saves a lot of efforts for users to find the task they want to set the alarm for. Actually, this suggestion has its own limitation, because many clicks are needed rather than just type some words.

Except this problem, there are some other technical problems about the alarm system, such as how to synchronize the time in the todo manager with the time in the user’s computer and how to remind the user even if the todo manager is shut down. The solution is to search the Internet first for some APIs (application programming interfaces), which contain some functions to make the feature work.

The contents above are the problem of the alarm system and some possible solutions. In the near future, we will discuss this problem more in the meeting, especially after the release of version 0.1, because we intend to implement this feature in version 0.2. We hope that we can add this beneficial feature to our todo manager and make users’s life much easier.