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.