SwarmQuestionnaire

De CCSL
Revisão de 13h47min de 12 de dezembro de 2016 por Herez (discussão | contribs) (Questionnaire about teams experience with Mob Programming at LAB XP.)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Questionnaire about technical knowledge with programming and Mob Programming: Automata.Life Individual Answers: Member 1: These four questions are pertinent to experience in the evaluated technologies and processes in the experiment: 1. How many years have you programmed? (Educational and professional experience in any language) Programando a 4 anos. 2. How do you evaluate your current level of knowledge in the programming language used currently? No projeto atual, sei o básico de todas linguagens (Python, javascript, java...). A linguagem que mais uso fora dessa matéria é lua, e me sinto extremamente confortável usando ela (conhecimento avançado). 3. Do you like Mob Programming? You had practical experience with Mob Programming before this course? Gostei muito de mob-programming, e foi a primeira vez que ouvi falar e utilizei tal pŕatica. 4. How would you compare Mob Programming to other practices you have tried or know about such as XP, Scrum, etc? Achei mob-programming uma prática muito recompensadora, trazendo muitos benefícios para nosso projeto. Achei ágil e com um feedback constante do progresso do projeto, que é algo que senti trabalhando com práticas XP. Member 2: These four questions are pertinent to experience in the evaluated technologies and processes in the experiment: 1. How many years have you programmed? (Educational and professional experience in any language) Around 7 years, with a 1.5 year gap without programming 2. How do you evaluate your current level of knowledge in the programming language used currently? Basic to Intermediate. 3. Do you like Mob Programming? You had practical experience with Mob Programming before this course? Yes, this was the first time I heard about MOB programming, but I enjoyed using it 4. How would you compare Mob Programming to other practices you have tried or know about such as XP, Scrum, etc? The team communication is better with mob and everyone knows about everything in the project so there's no need for stand ups which is nice. Member 3: These four questions are pertinent to experience in the evaluated technologies and processes in the experiment: 1. How many years have you programmed? (Educational and professional experience in any language) I have 6 years of programming experience. 2. How do you evaluate your current level of knowledge in the programming language used currently? I have intermediate to advanced knowledge about the languages used, but basic to intermediate knowledge of the specific frameworks and tools used in the project. 3. Do you like Mob Programming? You had practical experience with Mob Programming before this course? I love Mob Programming. I had no experience with it before this course. 4. How would you compare Mob Programming to other practices you have tried or know about such as XP, Scrum, etc? Mob Programming helps to create a sense of community, group and even friendship between the members of a programming team. Although I feel XP also has this effect, I believe Mob does more for creating a united group. Member 4: These four questions are pertinent to experience in the evaluated technologies and processes in the experiment: 1. How many years have you programmed? (Educational and professional experience in any language) Programo há 4 anos. 2. How do you evaluate your current level of knowledge in the programming language used currently? Baixo-Intermediário. 3. Do you like Mob Programming? You had practical experience with Mob Programming before this course? Sim gosto de Mob Programming, mas não possuía experiência na técnica antes do curso. 4. How would you compare Mob Programming to other practices you have tried or know about such as XP, Scrum, etc? Como eu não tive nenhuma experiência real com outras metodologias ágeis, não me vejo em posição de compará-las. Quanto às demais metodologias mais pautadas pelo planejamento, posso dizer que o Mob Programming possibilitou que todos os integrantes tivessem ciência e compreensão da totalidade do projeto, (ideal para desenvolvimento de projetos pequenos) o mesmo já não pode ser dito de outros métodos que se focam na divisão adequada do trabalho entre seus integrantes. Se, por um lado, a divisão do trabalho permite a execução paralela de tarefas acelerando o andamento do projeto pelo número de integrantes, pelo outro, o trabalho em conjunto permite a superação de bloqueios de modo muito mais fácil e eficiente. Team Answers: Please describe the environment where your team practice Mob programming: 1. Do you use a tv or a projector? How many? Yes. We use two projectors. 2. Sometimes other computers were used? Could be useful? Yes. They were useful for parallel searches. 3. How many people in the work room? Everybody was from you team? Around 30 people. Not everyone on our team. We are the only Mob team in the room, with 4 members. 4. People from other teams asked or helped in something? Noise was a problem? We had sporadic interactions with other teams, but nothing regarding technology or problem solution. Two members were heavily annoyed by the noise. Two members were not bothered too much. 5. How to improve the visualization? Was it adequate to see the code? We usually increased the magnification of the text and the brightness of the projectors. Reading the code was adequate, but we would like to be able to dim the room’s lights a little bit more. 6. Did you use a laser pointer or other ways to communicate to the driver? We used the laser pointer during some work sessions. 7. Could you send photos to us that you and all team member authorizes to publish? Alfredo took some pictures during the classes. We authorize the usage of those pictures. Please let us know if more photos are needed. 8. Were there people missing at the Mob sessions? About work frequency of people, do you think Mob Programming improves engagement or helps in good work environment? Something more about that? All members were present at all Mob sessions. We think Mob Programming improves the engagement and work environment. We believe that having all members solving the same problem really helps understanding how to solve it. Even when individual members leave temporarily, the group is able to make progress. These questions are pertinent to Driver rotation: 1. Do you use a timer or a program? How was it? We developed our own timer tool. It received an integer as argument and warned us when time was up. We enjoyed the timer because it helped us organized the rotation. We typically used 15~20 minutes. 2. Do you use Strong Style driving style? When the driver does not have the ideas and for an idea to go from your head to the computer, it must go through someone else’s hands. We were able to use the Strong Style at some points. 3. If the Strong Style was not used, please describe the experience and compare with other styles that your team used including how it worked. N/A 4. If your team tried Strong Style, please describe the experience and compare with other styles that your team used or have previous experience with. We had difficulty enforcing it all the time. We found it difficult to force the rotation when the current driver had an idea to solve the problem, but we were able to do that sometimes. We had a good experience with Mob Programming, but we believe that its potential could be better developed when most members of a team are familiar with all technologies used in the project. These questions are pertinent to retrospectives and mini-retrospectives: 1. Could you send photos to us that you and all team member authorizes to publish? Yes. I will send Alfredo the photos of our retrospective and Kanban boards. 2. Did the team do daily mini-retrospectives? We did not do daily mini-retrospectives, but we did a mid-project retrospective, and a mini-retrospective during a call with Yoder. 3. Did the team do other longer retrospectives (weekly, every other week, monthly, ...)? We did one long retrospective before starting Mob Programming. 4. Did the team change anything after a retrospective (Sprint) or mini-retrospective (Mob Session)? What was changed? Were the changes useful? Yes. We decided to start the day with 30 minutes of individual research on an unknown topic or technology relevant to the project. The changes helped us to understand the technologies. These question are pertinent to automation of the job and avoid idle time. The difference between wasting one minute of your time versus wasting one minute of your entire team. 1. Did your team automate anything? What? Why? Was it useful? Yes. We automated the build, test and deploy processes and the timer. We did it because those tools helped us performing daily tasks. 2. Did members of your team every split off and do some spike solutions to integrate back into the main solution? Yes, when we had to learn new technologies and performed separated searches. These questions are pertinent to full involvement all the time can be exhausting: 1. Did your team take breaks together? How was it? Team members usually left to and came back from breaks individually, but we had some team breaks. 2. Did your team make sure that every hour there was a 5–10 min break where people weren’t allowed to be behind the screen? What do you think about that? We had spontaneous breaks instead of scheduled ones. We liked the freedom of being able to choose breaks individually and knowing that the team continues to make progress even when individuals left for a break. This question is about learning as a team: 1. Did your team try learning something? Was it together? Was it at the beginning of the Mob Session? How was the learning experience? We did try to learn things together during the project. It was not always at the beginning of the session. Sometimes we were able to learn effectively. These three questions are pertinent to Groupthink. Just because we act with kindness, consideration, and respect does not mean that we always agree, nor does it mean we want to always agree. 1. Do some in your team have strong personalities? No. 2. What do you do about strong personalities? Did it help or hurt the team? N/A 3. Do you think that the decisions of your team sometime was tentious or influenced by a strong personality? N/A These questions are pertinent to Collective Intelligence. Every programmer has experienced moments of mental exhaustion where it can take a lot of time to resolve even the most trivial problem. Most programmers (even those that do not practice pair or mob or pair programming) are aware of this and will invite a fellow programmer to take a look at their code in those moments of frustration. In a mob programming session, such moments are practically non-existent. 1. Do your team agree with above affirmation? Was it unanimous? Since our entire team was not familiar with all the technologies that we used in the project those moments of frustration happened, because no one knew what to do. When that happened we switched to individual searches. 2. Did the experience help the overall team grow with collective intelligence? Yes. Sometimes a member of the group was able to come up with a solution that helped the group. 3. Were there advance members that felt Mob Programming was holding them back or slowing them down? No. These questions are pertinent to Collective Intelligence. When dealing with more far-reaching issues like design and architectural questions, swarming provokes a creative dialogue and exchange of ideas without falling into a trap of long and heated arguments. After a while, the collective decisions are based on mutual trust. In cases when significant difference in opinion persists longer than usual. 1. Do you agree with the above statement? Yes. 2. Please, tell something about that based on your team experience at LAB XP. We usually made decisions based on trust and emerging from a group vote. We discussed opposing ideas but we always reached a consensus. These questions are pertinent to Learning and mentoring. In the knowledge industry, learning and mentoring should be an integral part of everyday work activity. A swarm provides an ideal environment for that, as long it is done in a deliberate manner and at a steady pace. By observing others, team members learn almost immediately how to make better use of tools and perform their day to day work. More importantly, they will soon gain deeper understanding of a problem domain and will improve their problem solving skills as they observe and question others on proposed solutions. 1. Do you agree with the above statement? Yes. 2. Please, describe if Mob Programming helps to understanding of the problem domain and improve technical competence based in your team experience at LAB XP. Yes. We were able to learn from others’ knowledge and experiences. We grew as a team while we learned new technologies. These questions are pertinent about if other practices were used or only Mob Programming: 1. Do your team used Mob Programming all the time? Was there activities where your team do not apply Mob Programming? Why? We used Mob Programming all the time. 2. What other practices did your team use such as informative workspace of Kanban? We used a Kanban and a burndown graph. 3. Please, tell us about your informative workspace and about other practices you used? We used a whiteboard where we wrote the Kanban and the burndown. We also used a small whiteboard where we drew concepts and ideas. 4. Did your team stop using Mob Programming or used other practice together with Mob Programming? No. 5. Did your team try to Improve the Mob Programming Session? We tried to inserted learning sessions during the Mob Sessions, where each member used a computer to learn or search a topic. 6. Do you think that it is good mob programming all the time? We think that when no one on the team knows a technology it is better to individually search and learn. 7. Did members of your team say that they approved and enjoyed the Mob Programming? Was it Unanimous? Yes it was unanimous. 8. Do you think that Mob Programming was productive? Why? More productive than other ways you’ve previously used working with groups of people? Yes because the team was able to continue working even when some members left for a break. We believe that Mob Programming was useful to spread the knowledge between team members and was more productive because every team member became familiar with the code and the build process. 9. Did your team measurement something? How and what your team measured? Yes. We measured the points of each task using a burndown graph. 10. What was your favorite experiences of Mob Programming? Sharing knowledge and working with friends. These questions are pertinent to Continuous Improvement: 1. Was there any change from when you started to do Mob programming? Yes. We started to allocate 30 minutes at the beginning of each session to individual searches. 2. How would you improve your environment in the future? We would like a more silent room and that each member has access to an individual notebook or computer. 3. Do you have any ideas on improving the Mobbing process or Swarming? No.