Devops for Growth
107.5K views | +8 today
Follow
Devops for Growth
For Product Owners/Product Managers and Scrum Teams: Growth Hacking, Devops, Agile, Lean for IT, Lean Startup, customer centric, software quality...
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Current selected tag: 'mob programming - swarming'. Clear
Scooped by Mickael Ruau
Scoop.it!

How Mob Programming Collective Habits Can be the Soil for Growing Technical Quality

How Mob Programming Collective Habits Can be the Soil for Growing Technical Quality | Devops for Growth | Scoop.it
Mob programming can support teams in changing old habits into new effective habits for creating products in an agile way. Collectively-developed habits are hard to forget when you have other people around. Mob programming forces individuals to put new habits into practice regularly, making them easier to adopt. Teams are intolerant of repetition, and are always looking for better ways of doing their work.

Chris Lucian, the director of software development at Hunter Industries, spoke about improving technical quality with mob programming and collective habits at Agile 2021.

Improvement in habits came naturally with mob programming, as Lucian explained:

While working with multiple people at the same computer at the same time, you have a sort of accountability group. Naturally, you start to eliminate bad habits and instill good ones simply because the feedback loop is constantly available.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Comprendre la science du Mobbing

Comprendre la science du Mobbing | Devops for Growth | Scoop.it
Llewellyn Falco s'exprimait sur le Mob Programming durant la première conférence sur le sujet. Il explora la différence entre le développement solo, en pair et en bande, ainsi que les raisons produisant un meilleur résultat avec le mob programming : "ce n'est pas obtenir le plus possible des gens, mais le meilleur".
Mickael Ruau's insight:

 

L'intervention de Llewellyn Falco, intitulée "Understanding the Science of Mobbing", part du principe que le Mob Programming n'est pas une science - tout comme l'informatique (computer sciences en anglais, NdR). Il y a pourtant des pratiques partagées sur la manière de développer des logiciels :

  • Le Solo programming est sans doute la pratique la plus admise aujourd'hui, qui implique que tout ce qui est produit entre dans le code, le bon comme le mauvais.
  • Le Pair programming est la seconde manière la plus connue de développer et les meilleures idées de chacun entrent dans le code.
  • Le Mob Programming est enfin la dernière pratique, et sans doute la moins connue, et comme l'explique Llewellyn : ce n'est pas obtenir le plus possible des gens mais le meilleur.

 

Où est donc la science ? Llewellyn fait un parallèle avec la théorie des systèmes : une équipe forme un système. Et c'est un système complexe. Il est difficile d'en isoler une partie, ou pour paraphraser Dan North : "Quel est le son de l'applaudissement d'une main ?".

 

Démarrer quelque chose dans un système est comme allumer un feu de camp. Dans une équipe de développeurs autonomes, même les très bonnes, lorsque quelqu'un est bloqué, il reste coincé seul. Pour qu'une idée grandisse, comme pour le feu, il faut des brindilles, et en quantité. C'est le principe du Mob : disposer d'un ensemble de personnes pour nourrir une étincelle.

 

Pour utiliser une image différente (qui ne vient pas de Llewellyn), c'est l'exact opposé d'un épisode de Docteur House (ou le dernier épisode de la saison 1 de Silicon Valley) : quelqu'un a une illumination, ou lance une idée, et le reste de l'équipe contribue pour la rendre meilleure.

 

Cet impact est similaire avec la mémoire et la mémoire de groupe. Cette dernière est plus robuste que celle d'un seul esprit, et une bande peut déclencher des mémoires multiples. Il en va de même avec la résolution de problème : l'état de votre système favorise ce que Takeuchi et Nonaka appellent la "diversité". Et c'est un état nécessaire quand les choses tournent mal.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

dillonkearns/mobster: Pair and mob programming timer for Mac, Windows, and Linux.

dillonkearns/mobster: Pair and mob programming timer for Mac, Windows, and Linux. | Devops for Growth | Scoop.it

A mob/pair programming timer, inspired by the MobProgramming/MobTimer.Python. Runs great on Mac, Windows, and Linux. Learn all about mobbing at the MobTimer.Python github page, and at mobprogramming.org.

Mobster was built with delight in Elm and Electron

 

RPG Mode

You can play through the mob programming RPG to practice mobbing skills with your team. This is a port of Willem Larsen's excellent Mob Programming RPG. This is a fantastic way to learn about some of the subtleties that are essential to effective mobbing, such as the Driver/Navigator Pattern (also known as Strong-Style).

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

The Surprisingly Inclusive Benefits of Mob Programming

The Surprisingly Inclusive Benefits of Mob Programming | Devops for Growth | Scoop.it
A story of how the Cucumber team, who are fully remote, practice mob programming and the surprising benefits we have discovered.
Mickael Ruau's insight:
Mobbing Remotely

The team currently uses Zoom to host the remote mobbing sessions. The driver shares their screen. A Slack channel is also used as a back-channel for sharing information, code, links, etc.

The ten-minute timer not only ensures everyone takes a turn driving, and stops that session of driving from being too daunting, it also keeps us honest about baby steps. The need to commit and push code at the end of ten-minutes so that the next driver can pull it down to work on forces us to work in small, bite-sized chunks in a very disciplined way. Of course, sometimes we cheat (if we are just about to finish off something when the timer goes and need a few more minutes to get it into a committable state), but mostly we do not.

One fabulous side-effect of mobbing is the fact that a team member can completely tailor their own physical environment and even change it around depending on their needs that day: the ability to sit in one’s favourite chair, have just the right level of lighting, turn the volume up and down, have fiddle toys or calming activities to hand, have access to favourite and suitable food and drinks.

Here’s Sal’s perspective on this:

 

“The possibility to create a sensory environment uniquely tailored to my needs that day is a wonderful luxury I have never been afforded in an office. The accompanying feeling of safety helps to compensate on the days I am feeling nervous about joining the mob or struggling to focus.

“In addition, it is supportive of a level of social interaction that feels more manageable – it is completely acceptable to turn off or hide people’s faces, although in practice I rarely do. I find the option comforting, and it is fine to leave the mob if the interaction feels too intense or prolonged. Of course, there is no pressure to be social during breaks either – I can just turn off the screen and have silent, alone time”.

 

Timings have flex, whilst the mob is “alive” from around 8.30 until maybe 5pm, the participants join and leave as and when they need or desire to do so. Not only does this help with social exhaustion, it creates an environment where it is OK to hop on the mob a little later so you can drop the kids at school or leave early for a meeting. Sal often goes for a run in the morning which she finds calming and helps her to focus for the day.

We believe there is a hidden benefit in this too, as each time someone joins, the mob is forced to depart from the detailed world of writing code in order to explain what they are trying to achieve from a more strategic product development perspective.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Harvesting Mob Programming Patterns: Observing how we work

Harvesting Mob Programming Patterns: Observing how we work | Devops for Growth | Scoop.it
We explore a set of mob programming patterns discovered by two different teams -- LendingHome and IBM -- after more than a year of practice. We were surprised at how much our mob programming improved after even modest reflection regarding our practice.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Team Dynamics Influence the Scrum Master Role - DZone Agile

Team Dynamics Influence the Scrum Master Role - DZone Agile | Devops for Growth | Scoop.it
There's more to being a Scrum Master than you may think. One of the aspects you have to keep in mind is your team's dynamics. Team dynamics can influence your role on the team.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Seven Strategies for Team Swarming

I don’t see a lot of talk about team swarming (sometimes referred to as mobbing) yet it can be one of the most powerful problem-solving techniques for breaking through really difficult challenges. A swarm is where you get the whole team together to focus on solving a single problem. You can also focus on multiple problems but only one problem at a time. Here are seven strategies for effective team swarms:
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Forming, storming, norming and swarming–-the Tuckman model for scrum - Highlight — Highlight

Forming, storming, norming and swarming–-the Tuckman model for scrum - Highlight — Highlight | Devops for Growth | Scoop.it
I was teaching a Certified ScrumMaster course when a question came up, as one often does, that needed an answer built around the concept of swarming.…
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Via Negativa : Revues, Binômage, Team Programming | OCTO Talks !

Via Negativa : Revues, Binômage, Team Programming | OCTO Talks ! | Devops for Growth | Scoop.it

À l’instar des autres pratiques de développement, la revue de code ou le mob programming ne peuvent pas se mettre en place indépendamment de considérations sur la culture de l’entreprise qui souhaite encourager ces pratiques. Certaines cultures d’entreprise favorisent activement la formation d’équipes en cohésion (principalement en ne plaçant pas d’obstacles à leur formation). Dans d’autres cultures, la notion même d’équipe est dénuée de signification réelle. De la même manière qu’aucune pratique de développement ne saurait être « copiée/collée » d’une entreprise à l’autre sans considération du contexte, il est apparent que toutes les entreprises ne sont pas égales devant le défi que constitue le développement d’un logiciel de qualité. La présence ou non des revues de code dans leur corpus de pratiques est à mon sens une preuve de cette inégalité.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Mob Programming - Entretien avec Woody Zuill

Mob Programming - Entretien avec Woody Zuill | Devops for Growth | Scoop.it
Woody Zuill fit une présentation sur le Mob Programming durant la première conférence sur le sujet. Il a échangé avec InfoQ FR sur les questions fréquentes, les différentes manières d'introduire le Mob Programming, les difficultés principales dans le secteur, les autres activités qui pourraient utiliser le mob et son sens.
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Swarm: Beyond pair, beyond Scrum

Swarm: Beyond pair, beyond Scrum | Devops for Growth | Scoop.it
The report presents an overview of a nearly year-long experience in 'swarming' while addressing problems of a defective legacy application.
Mickael Ruau's insight:

Swarming provides for collective intelligence and problem solving, real-time collaboration, fluid leadership with no explicitly defined roles. Because of this, swarming proved to be an excellent organizational pattern for resolving complex problems in a complex and tense environment where positive results had to be demonstrated almost immediately.

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Modified Mob Testing

As traditional knowledge sharing is no longer an effective way to deliver great software, the presenter has modified the mob programming concept to mob testing to improve the way teams communicate.

 

This innovative approach to software testing allows the whole software development team to share every piece of information early on.

Mob testing tightens loopholes in the traditional approach and tackles the painful headaches of environment setup and config issues faced by a new arrival to the team.

 

Think of mob testing as an evaluation process to build trust and understanding. 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

4 Patterns for Handling Interruptions

4 Patterns for Handling Interruptions | Devops for Growth | Scoop.it


Here are four simple ways to handle interruptions that can actually make a team more resilient to change (with hand-drawn visuals by yours truly).
No comment yet.
Scooped by Mickael Ruau
Scoop.it!

I did mob programming every day for 5 months. Here’s what I learnt.

Whoever gave Mob Programming its name clearly wasn’t in marketing. Who would want to be in a mob? 

Mickael Ruau's insight:

So what exactly is mob programming? Put simply: 3 (or more) developers, one keyboard. No, that’s not something weird that you’ve seen on the internet. It’s about working collaboratively towards delivering high quality software.

Given that most programmers get in hot sweats just thinking about the idea of working with other people, I’ll delve into more detail as to what that looks like. Imagine we have a developer, Steve. Steve works on an app where users can view recipes. One day Steve is tasked with adding a ‘favourite’ feature to the app. With this feature users are able to save recipes to a a private list called ‘my favorites’. If they want to view a saved recipe again, they can simply open the favorite list and select the recipe.

Steve wants to use mob programming to implement his feature, so he books a meeting room and asks his colleagues John and Sarah to join him in a mob. John and Sarah show up to the meeting laptops in hand, ready to take on the challenge of the favorites feature.

So at this point, Steve needs to lay down some rules (yes mobs have rules). The rules might be something like this:

  1. At any given time one person is the ‘Driver’. The driver is the person with the keyboard and mouse, the driver is the only person allowed to modify the code.
  2. Everyone else takes the role of the ‘Navigator’. Whilst the driver spends a lot of their time occupied with the physical task of typing, the Navigator has all the time they need to think, review, discuss, describe. And that’s exactly what the navigator should do.
  3. Everybody swaps roles — often. No, this isn’t some ‘everybody gets to play’ stuff you heard in primary school. If people stay in one role for too long they can become fatigued. if they have a favourite role then when they’re not in it they can become bored.

And that’s it — you now know about mob programming. Add it to your CV.

 

No comment yet.
Scooped by Mickael Ruau
Scoop.it!

Storming phase of Tuckman principle and Scrum Agile

 

The best way to perform quickly and accurately we should try to minimize the period of the Storming phase. There are so many ways to achieve this goal in different processes of product development, but in Scrum Agile it is the one of the behavior or nature of the process itself. The way Agile is designed it always try to minimize the Storming phase.

Mickael Ruau's insight:

 

How Agile minimize the Storming phase?

Scrum Master: Agile has the concept of Servant Leader (a Scrum Master), who is not the team leader or a project manager, rather he would be the person whose primary goal is to resolve the impediments of the scrum team and try to provide the way by which scrum team can easily work to complete the defined tasks, user stories, and epics. By avoiding tangible and intangible impediments scrum master helps to shorten the period of the Storming phase.

Scrum Team and motto — The self-driven team has qualities like being transparent, courageous helps to avoid the storming phase. In the scrum, the measurement of success would define by the team not by the individual so the whole team would represent as one team and try to achieve the one goal. The team should be cross-functional and so when someone has extra time in the defined sprint, they can pick any task and/or user story and try to accomplish it based on the definition of ready and definition of done.

Inspect and Adapt — Scrum is the process of inspecting and adapt due to that at the beginning of the problem, issue or impediments, people come to know about it and try to solve it or try to identify the way of execution to avoid or prevent any hurdle. This helps to avoid unnecessary procrastination and blame game.

Ceremonies— The rating and evaluation of user story in Sprint planning meeting is teamwork, it may avoid the in justification in the evaluation and task allocation. Also based on capabilities and the availability we would take the task so it may avoid dependencies, and help all to grow based on their skills. Daily stand up meeting helps us to identify the dependencies, impediments of the individual or team is facing and by avoiding it we can resolve the internal conflicts. Sprint review meeting where everyone is present may clarify the expectation of the stack holder also which would get the transparencies among the team. A neutral and unbiased Retrospective team meeting may help us to identify the improvement area, there are so many ways to achieve this, but the primary criteria would try to address the concerns not to address any individual may help us to minimize the storming phase of the Tuckman principle.

In a nutshell, if we follow the traditional agile process and follow the SBOK it may help us to minimize the storming phase and we will be easily moved to the Norming phase. In any case, if we have to customize the agile process then it would be great if we can follow its basic principle, team qualities, and try to celebrate its all ceremonies to minimize the storming phase of the principle.

No comment yet.