Saturday, October 22, 2011

Challenges to our demo

We are approaching the end of the semester and also, the end of our product developing process and it's time to show our product to the public. Although getting the demo to work properly to show case our product is not something that is challenging for us, especially after all we have done, we still have to consider carefully about this. The following is the issue that I found we faced while preparing for this demos.

The first conflict we had is about whether we should use video to demonstrate our product or not. I myself always think that a good combination of these two methods is the best way to demonstrate a software project: the videos to show something cool that visually impress the audience and the live presentation to communicate with them closely to help them get used to the product. However, due to the scope of our project, which is only V0.2 of a commercial program to public to users, I think the live demo is the best for us. Through the live demo, we can keep contact with the audience. Demonstrating our product lively can also show the audience how easy and user-friendly our program is, to ensure with them that they will not have to deal with lousy troubles, like how to add such tasks, how to delete, etc. Of course, the live demo has some risks, we may encounter some unexpected problems such as laptop or projector stop working unexpectedly, but for me, this is the most flexible and most suitable for our product demo.

Once again, I want to emphasize that this demo is the first introduction to impress the audience, so we need to consider it carefully and make it the best the can do. Making this to be true is not challenging for us after the great jobs we have done. All we need to do is a bit more effort to make the presentation runs well. This is not hard at all and we can do it successfully.

Challenges encountered in the run up to the software demo

Powdering and polishing the software while preparing for the software demo is the penultimate lap in this ‘race’ to the end of this semester, with the actual delivery of the demo being the final one. It is true that we are facing the heat but this is where our personal and team skills come into play.

Our product is evolving by the day as a result of continual modifications in structure and functionality that we are incorporating to the beta version (V0.1). This became a point of concern when we wanted to finalize the version that we were going to use for the demo. A lot depended on this decision as speakers needed to equip themselves to handle operations concerning the functionality that they are focusing on. This problem was eventually solved as we decided that we will use that version last updated three days before the demo.

There was also this debate on the usage of a video during our demo. I personally felt that using a video was not a good idea as it lacked the throw and feel of a live presentation. Eventually we decided against using a video, thanks to the open-minded approach of my teammates. Our commitments, both academic and non-academic, continue to limit the time we spend on our preparations for the demo. This is something we must live with but perhaps more efficient time management can make life a lot easier.

Once again division of responsibility proved to be a big headache. The evident solution was that each of us present the part that we had developed as we would be most comfortable with that. All of us agreed to this albeit some minor changes. Coming up with a relevant story board, with equal emphasis on the different sections, for the presentation was also challenging. We were and still are discussing means by which we could add that additional bit of excitement and buzz to the demo. We have zeroed in on a few ideas but I do not want to spoil the surprise here!

From a technical point of view, the biggest problem that we are combating currently is the number of bugs in our program. The number of different scenarios that needs to be considered, while allowing users to type in commands, is quite large and this makes bugs inevitable. By bugs I refer to semantic and logical errors rather than syntactical errors. This is something which can be solved by testing the product extensively. At this point I would definitely like to acknowledge the contribution of my teammates in this testing process. A single person can never do justice to testing as his view is bound to be biased in some way. All of us have done extensive testing individually to ensure that the product is bug-free.

The spirit with which we are currently functioning is enough evidence that we are up to the challenge. If we continue to work like this and perhaps add that additional push, I am quite confident that we can pull this off successfully.

Lakshminarasimhan

Challenges of Our Demo

During the preparation of software demonstration, we did not have many challenges. I believe everything works well except for some small conflicts. I just describe the problems exist at least in my mind. Some have been solved and some we still need to work on. However, I do believe our presentation will be great!

We had some conflicts when we talk about we demonstrate by video or live demo. At first, I preferred demonstrate by video because I felt that was the method most of software companies used when publishing their new products. It is quite cool to use a fantastic video to show our product. Additionally, I thought video would help us to minimize the number of unexpected problems during the demo. We all know the computer is stupid and unreliable.  Moreover, I did believe we could focus more on talking and communicating with the audience if we make the demonstration as a peace of video since we do not need to type on keyboards while talking. I thought this will help us to make a better communication during the presentation.

However, Lakshmi and Shawn persuaded me. To demonstrating lively will attract more attention since audience are more likely to try our products lively in the demonstration instead of watching the video. We can even invite some of the audience to try our products. Moreover, Shawn did remind me that we do not need to type while talking since people will talk after they type the commands normally. Finally, I did realize that it is much more difficult to demo with video since we need to talk synchronically with the video. It is not an easy job and we need to rehearse many times. Moreover, if we use video, we have to follow the script strictly since we cannot change the video when we present. This may make the presentation boring. In contrast, it is much freer to do live demonstration. We can make change according to the situation.

Another small problem is that we haven’t finished our products for the demonstration. Until now, our search function, which is quite important, is not ready. Although I do believe, this will be finished before the demonstration, as I mentioned in the previous blogs, we need some buffer. Thus I think it is not good to do the job in last minute, some unexpected problems may happen. This is quite a small problem and I believe we will finish our product successfully. We did not have any buffer we came to the deadline of V0.1 a few weeks ago, but we still made it. Therefore, I still strongly believe we will make it!

Regardless of these small problems, I still believe our preparation of demonstration is good and we will make a good presentation. 

Problems, challenges and solutions in the preparation of our software demo

It is interesting to see how a group of guys came together not by choice but through random selection and somehow approach one of the final few milestones without much hiccups. And this milestone is preparation for the software demo.
The team faced a few problems during this preparation and I would like to highlight the two major problems we faced. The first major problem was each of us have a different perspective of how the software demo should be conducted and could not come to an agreement with one another. And the second problem was the dedication of roles for the software demo.

Different Perspectives
This was probably the biggest problem the group faced during the preparation. The crux of the problem was getting everyone to agree with an idea, and be comfortable with it. 
Even though we came from different culture, tradition and social upbringings, I do believe this problem would still persist even if all of us were to come from the same parents. This is so because each one of us thinks differently and each one of us has our own opinion.
There are no fix solutions to overcome this problem, but there was one very 'logical' solution which the team applied. That solution was having each one of us to compromise, not to stay hell bent on our own ideas and putting ourselves in each other's shoes. And through this the team adopts the best idea and integrate it into our demo. Each one of us listens to each other's ideas and opinions as a result each one of us developed a greater understanding with one another.

Dedication of roles
The other major problem we faced was actually deciding who is going to do what during the software demo. One of the main causes to the problem was actually being in such a diverse team, each one of us have different strengths in the area of presentation. Therefore the selection process became a headache, to choose who is going to do the main aspects of the demo and who is going to close and facilitate the QnA session. One solution the team came up with was taking into consideration the strengths and weakness of each individual in the aspect of presentation skills. And after taking this into consideration, the team then decided who is going to do which portion of the software demo. With this every member's contribution was justified.

The only reason why this solution worked was because everyone in the team was being honest with themselves regarding their capabilities in the area of presentation . As we recognize our own strengths and weakness, we did not feel that injustice was served as to why we are not given a particular role. Our team recognizes that each one of us have different roles to play to benefit the team, after all this is a team project.


Challenges
Conducting a live software demo for the first time was a challenge to the team. As none of us have any experience in doing a live software demo in front of an audience before, this becomes a daunting challenge. How are we suppose to react? How are we going present? How to interact with the audience? How to handle technical issues when problems occur? Are just some of the few questions that were brought up during our team discussions. Our team look in awe at how some software demos are being conducted by professionals, one example was a software demo conducted by the late Steve Jobs. One solution the team used to overcome this challenge was to look at how professionals conduct a software demo. As we learn from those people, we started to be familiar with the presentation style that was required and felt comfortable and confident with this genre of presentation.

One other possible solution the team took on to help us overcome our challenge was to constantly prepare and practice as a team for the demo. On top of this, the team had a qualified evaluator Ms Janet to come and evaluate at one of our demo rehearsals. By doing this, Ms Janet will be able to point out the strong points of our software demo so that we can work on them and make it even stronger. Besides pointing out the good points, she will be highlighting the bad points of the software demo as well so that we can improve on it. We recognized the benefits of having a qualified evaluator such as Ms Janet to come and evaluate our software demo.


Conclusion
Overall the team has come a long way now, as we head to the final third of the project, all these challenges faced by the us would only strengthen us for our future endeavours. Learning how to overcome such problems now and how to avoid the same problems in the future are valuable lessons each of us took home.


Shawn Teo Chee Yong

Monday, September 19, 2011

On our team's problems

We, being a multi-culture group, have been going through half of the semester. At the moment, I'm glad that we have done our job well. I have good experience working with you. And more time spending with you, I have more chance to realize some problems which we can improve. I want to have a clear sight into it.

First of all, we are lucky to be in a group where every member is strong in IT. However, that also means that we have to consider clearly to choose the best idea when discussing something. Let's take the GUI meeting for an example. When discussing about the features and how the GUI should look like, we have a lot of different ideas, all are interesting. I understand that you have good knowledge in IT and always have some solution to a problem, but if we can listen to each other and understand him a bit better, then perhaps we could have come up with more interesting ideas in our project.

This is a common problem faced by all teams, when all member are good at something in common, and it can be definitely resolved. We should listen to each other's ideas carefully and understand its pros, cons before we make any comments on that. We are all doing heavy work in this semester: Zhou Jun taking 8 modules, the other 3 taking CS2010, which requires a lot of coding efforts, so we don't have much time for meeting. Perhaps at this moment, each of us have personal stuff to do. Like me, I'm working on a NUSSU project and working part-time. But in the next weeks, when we have come to the coding stage, I think we have to meet more regularly and by then, we should have more time to discuss problems more carefully.

It is not something very serious and I think we can resolve it. It is a common problem that must be solved in order to improve teamwork ability. We're a great group, doing a great job and I believe we can pass all problems and go further in this project if we put more effort.

Saturday, September 17, 2011

Insights into one of our problems

As I had pointed out earlier (in my previous blog post), being a team of like-minded people helped us gel as an outfit in the early half of the semester. We were to find out later that this by itself was one of our biggest shortcomings.

Let me expand on this problem. All of us are alike on many different fronts. Both while separating topics for our oral presentations as well as dividing responsibilities for our project, we found out that all of us were intent on taking up similar tasks/responsibilities. This was because our skill sets overlapped significantly. All of us are good programmers, natural leaders, speakers more comfortable while presenting topics with heavy content rather than abstract ones and so on. This is a problem as it restricts our variety to a great extent. An even bigger problem arises when we are left with no choice but to pick tasks outside of our comfort zone. This is bound to happen as we need to do a variety of subtasks for each submission with limited resources at hand.

We could solve this problem by proposing a system wherein a person can ask for what he/she wants and will be assigned the task on a first cum first serve basis. Still, this solution does not work fairly as team members who are extroverts tend to gain an advantage over others as they are the ones who generally speak out first. A possible advantage of this system is that it gives the silent members of the team an incentive to speak out thereby indirectly enhancing their communication skills. The least we could do is to ensure that the same guy does not suffer every time.

Every coin has two sides. Even this problem has helped us in certain ways. We were forced to move out of our comfort zones on a few occasions and hence were exposed to newer things. In this process, we had an opportunity to explore newer arenas which may be to our liking. I am quite sure that we wouldn’t have taken the pains to experiment otherwise and thus wouldn’t have realized our full potential.

Personally, I feel that I have gained a lot in this process. Opening presentations was not my forte. I now feel more confident when I am opening presentations. If I had been given the choice, I wouldn’t have opened presentations and thus would not have realized that I actually like it.

This problem – a result of our team composition – cannot be avoided but can definitely be resolved. It is our responsibility as a team to ensure that no team member suffers extensively because of a conflict of interest. I can tell that we are proceeding in the right direction from the way we have split tasks for our upcoming submissions. Hope that this good work continues!

We need to make more efforts

We, as a wonderful group, have gone through half the semester. I do believe that we have done a really good job and everything goes well. However, since we are trying our best to be the best group, I still want to point out an aspect we can improve, which is the effort we make for this project.

In this semester, every one of us has a very heavy workload from other modules. I have 8 modules to study and the other three take CS2010, which is difficult and requires a lot of programming efforts.  As a result, we have to spend less time and efforts on this project. However, this project is really important and need more time and efforts.

We must first keep in mind that this project is related to both CS2101 and CS2103, which worth 8 MCs. With so many MCs, it deserves more time and efforts. Moreover, for most of us, this project is the first time we work like real software engineers and we can learn a lot about software development. This opportunity is quite important for us and we should try our best to learn as much as possible.

This project has no quizzes and weekly progress requirements, but this does not mean we can spend less time on it. Since the total workload is almost fixed for us, if we do less now, we need to make up in the future. Then, the project can become a final week project and we need to rush a lot. As a result, the quality is low and we have to interrupt our plan of other modules. This is quite terrible and we should try to avoid it by completing tasks as early as possible. Therefore, we need to make more efforts on it.

Now we have come to the stage of coding, which is the most important part of the project. I hope we can spend more time working together, discussing problems and communicating. We may have to squeeze the time of other modules, but the project worth it. I think the meeting today is quite a good beginning. By the two-hour meeting, we have made clear of the components we need to implement in version 0.1 and the parts for everyone to code. As the work gets more complicated, we really need to work more on this project, programming, writing reports, discussing problems, etc.

Now we have fell behind many groups in progress since we did not do any extra works, but it is still under control. Let’s work more from now on and catch up. I do believe we will do an excellent job for this project in both CS2101 and CS2103. 

A Particular Problem Faced By The Team




There are many challenges and problems the team faced during this period of time. And as our team approaches the halfway mark of the project, I would like to highlight this particular problem that I as the team leader feels the team should address.

And the problem is, the team is too casual and laid-back at times. While this can be a good thing but at the same time it can be disastrous as well. Our team's laid-back and casual approach is most likely caused by our very own doing and that is our own abilities. Our team is very fortunate to have every member being strong in a lot of areas of work in the project. And this leads to the emerging problem of being too casual and laid-back. Members of the team have been excelling in the task that are assigned or handed out to them. As a result the team started to develop a laid-back and casual stance. This problem might develop and become difficult to overcome or to handle in the future. I felt that being this laid-back might be harmful to the progression of the team in the future and might really be detrimental in the long run. As we approach the toughest phase of the project, being this laid-back and casual would only harm the quality of the work that is produced.

However being casual and laid-back can be a positive thing as well. Being casual and laid-back allows the team to remain calm and not to panic when the going gets tough. Since everyone in the team is confident of their abilities and the work they have produced so far has been of great quality, being laid-back and casual might actually be a positive thing to the team.

To be this casual and laid-back allow the team to look at things in a bigger perspective. To come up with ideas or ways to solve a problem. Unconventional ways that could have easily solve the problem could be thought of in a less stressful environment.

Being laid-back and casual allow team members to express their views freely. This is a good thing given that a lot of creativity is needed and is involved in the project. Competition is tough, with all the groups in the module developing the same program. Therefore to beat the other groups out there, is to come up with something different, creative and intuitive. With this current attitude of the team, it allows the team not to be affected by the tough competition out there. But rather to have full focus on our own project. The high level of competition does not get to us and as a result every team member is happy and focused on his job.

However so, this problem has solutions to it. One of the many solutions to this problem is to encourage the team to strive to be the very best. To make use of this casual and laid-back attitude of ours to our advantage. Being the team leader I would want to motivate the team members to beat the best group out there. By doing this, it does not crank or jack up the stress level of the team and at the same time overcomes the problem. This is just one of the many possible solutions to the problem.

Having presented this problem, I would like to close with this. It is good to instill some urgency into the project group. To always keep the team on its toes and to be the best team out there. This is to prevent the team from taking this laid-back and casual approach to the other end of the highway.


Shawn Teo Chee Yong

Saturday, August 27, 2011

On Inter-Cultural Communication and Reflection on Team Behaviour

As a member of a diversity team like ours, I have some feelings about the the intercultural/interpersonal communication.

First of all, I want to mention to respect. As a team with four members from four different contries with different traditions, it's very easy to say something that violates other's culture and that may break the bonding in the team. However, our team members are communicating with each other in a very effective manner. We share the ideas, we joked together without worrying about the others' cultures. When there is a misunderstanding in the team, we found a solution quite quickly and effectively without much arguing. For instance, when I found out that the contents in Shawn's slides and mine are quite similar, we asked Ms. Janet to understand more clearly abou the questions in our topics and that eventually solved the trouble. The way we found out the solution made me think that we were going on the right way.

Second, I want to talk about resonsibility. It's very clear that every of us goes to the team meetings on time and well-prepared for the topics. And even in our oral representation, in the Q&A section, we have done our best to answer the others' questions. Each of us tried to answer the questions on our best, regardless the question is based on whose part. I think this is very nice as each of us not only carer for himself but also cares for the team.

Lastly, I want to say that I'm feeling good about our team. We're going on the right way. I hope you can continue to perform like this in the next hard coming days. I will try to speak more to all of you to understand you better, about your cultures, your countries, and yourselves. And I will speak more to express my ideas, even the smallest ones, not just the important ones, things that may be important to our team, to all of you and I hope you can do the same to me. I think when we are able to communicate with each other at that level, our team and our project will be the best thing we can do.

Keep up the good job, guys!

Friday, August 26, 2011

Inter-Personal/Inter-Cultural Communication and Reflections on our Team Behaviour

Being in a team as diverse as ours, with members from four different nationalities, the importance of interpersonal communication (cultural differences coming into play) is very high. Language – as far as our group is concerned – is not a big problem as all group members are comfortable with English. This saves us a lot of headache as translations are a primary reason for miscommunication. Even with all of us knowing a common language, there were problems initially, especially due to different pronunciations. This difficulty eased out once we got to know and understand each other’s accent better. Let it be me or my team-mates, we made sure that we clarified anything and everything we couldn’t hear or understand properly when someone else is talking. Repeating a sentence or two may seem tedious, irritating and like a waste of time. Believe me; clarifying doubtful things then and there is way better than understanding things differently, causing bigger problems down the line.

A self-driven team is always more successful. Ours is one of them! I have noticed on many occasions that each of us is willing to take up that extra bit of responsibility. Having done our homework research, all of us came well prepared for the meeting. This helps us save a lot of precious time and energy and we could concentrate on our next best steps and a probable agenda for the next meeting and more importantly, scheduling the next meeting.

All of us understood other team members’ constraints. This was evident when we were choosing time slots for the next meeting. None of the team members were placed under undue pressure and eventually we came up with a slot convenient for all of us. Personally, I had that sense of assurance from my teammates and this helped me bond with them better.

The fact that we were able to converge on many things quite easily like division of responsibility for the project, order of speakers for the oral presentation showed that we were moving on in the right direction as far as our team spirit and cohesiveness is concerned. Things which may seem trivial, like backgrounds and fonts for the presentation, are usually issues that are a pain. I am glad we were able to move over those quickly.

Our communications so far have been strictly professional. Taking that extra bit of effort to know team members more personally would improve our synergy and ultimately the quality of work we produce. What about becoming friends on Facebook?

Punctuality is another crucial factor which determines output. As most of our meetings are short and crisp it really helps when people are on time. I regret being late on one occasion when I messed up the location of our meeting point. I’ll make sure I am on time for the rest of our meetings and would really appreciate the same from all of us.

Like everyone else, we have our flaws and I can assure that we are working our way, rapidly, to becoming THE team!

Lakshmi Narasimhan