- Previous Labs
Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Before the beginning of the lab, the teachers made many preparations. In Bonn University, I visited the preparation meeting of the organizers. The teachers prepared very well.
It is said management is just planning, planning, planning. Grand preparations lead to success.
Communication is very important in the process of software development. Most software engineering problems are not caused by technology problems but the communication ones. In this group, several persons from different native speaking country, for example, Indian, German and so on, of course, include us, Chinese. What attractive me most is that in such group there are very active disscussions, which is very effective.
No doubt that English is the bridge. However, the disscussion itself here is quite different with which in our XP lab in China. I am not sure if it is caused by the culture difference. In our lab, guys always pay more attention to the conclusion and always follow the exports. So, they always wait for the conclusions and do not take active part in the disscussion. While the students here are used to showing their views, listening to others and debating with each other. The organizer also took part in the discussion. The discussion always close to the solution, the experts may also guide the solution. What are the differences? In my opinion, for the team, the member will be more responsible for the solution made by themselves, while if the exports pushed too much, the experts will be too tied. Although the students are good at discussion, there are also some complaints that too many discussions without any conclusions in the course of the lab. The problem is solved very well after the first iteration. I think maybe the experts here could push a little bit more, while in China we should build more active discussion.
Different kinds of tools are used in the course of the lab in order to make the students understand. The game really makes sence. The lectures are always humourous. The wall and whiteboard are full of different kinds of cards. Traffic light, alarm…. Many many things
I am really sure that the students could learn a lot in XP lab. Instead of an organizer, this time, I acted as a developer, deep in the pair work. Different viewing angle to agile, to the course. It is very interesting. I was not familiar Objective C and Ruby&Rails, and I missed the technology preparing discussion before the lab, and the field of mobile game is also quite new for me. So at first I can not understand at all. And because of the language problem, the communication became the worst problem. I always tried my best to understand everything. Several iterations later, I learn a lot. I can understand the total structure of the project, I can understand the Objective C Client. I can even type ruby codes and make test cases. Rapid progress. The most important thing is that during the course I can totally understand the thoughts and feelings of developers in different situation.
We are a team. The whole project belongs to the whole team. The story estimation build the team responsebility. The color paper build the team efficiency. The pair work build the coordination. After each iteration, the team gather together to find ways to make the team more strong.
There is no good process but only the suitable one. The project is something with Client-Server Architecture. There should be many dependency. So there should be more difficult. Actually, the team also met the problem of dependency. Both client and server rely the protocol. We discuss the protocol several times. In the last two iterations, the problem is solved. Whether agile is suitable to such Client-Server Architecture project is a question, because this project needs more complicated design.
Pair work build the knowledgement of the team. The fast developer could be slow down to make the code clearer, and the slow one could be speed up. When implement, there are full of communication. I found that the students here own not only good communication skill, but also good learn ability. Almost all the students here were not good at Objective C or Ruby on Rails before the lab. During the course, guiding by the experts, finding on google, talking with each other, almost all the students can handle the technical problem. During pair work, I discussed with my partner. Really helpful.
In the last two iterations, because of so many bugs, we have to make a number of test cases and do a lot of test stuff. I also join in these stuff. Test can realy drive people understand the requirement and the whole system.
In bonn, we visited a lot of places, made friends. many many warmhearted people gave us help. In the lab, I learned a lot. I always thought about the difference between Chinese culture and the culture in the lab. I wanted to organize the same lab in China. Many experiences are helpful. Of course, during the lab, I also learn plenty of new technology. It is useful and interesting.
Thank You Very Much