Become a better dev, thanks to the community

Being a developer also means taking part in a constant journey of growth and learning. And our dev mindset often brings us to think we can solve every problem thanks to some sort of technology. Allow me to challenge this, and show you how much we can grow thanks to people close by, how much we can learn thanks to a tool way older than any silicon based technology: the community.

Slides

(Codemotion Italian Edition, Nov 26 2020)

Create a Community Strategic Plan for the whole team

Using the Community Strategy Plan

There are common challenges every team of community builders faces. Contribution to company’s goal, team members alignment, long term planning and execution with the next step already in mind, a diverse and rich community landscape to support, etc. Mine is no exception, and we tried to address, or at least mitigate, some of these challenges thanks to the Feverbee’s Community Strategic Plan.

Why the Community Strategic Plan, and how?

I’m deeply rooted in the importance of the whys, the reasons motivating our actions. In the context of a brand community program, the whys are the goals the company wants to pursue, thanks to the community tool. The complexity every community professional faces is to link those goals with dat-to-day execution. The Community Strategic Plan creates a clear connection between these two extremes. Via interconnected hops, defining the overall community strategy, tactics, expected results, resources allocation and other important elements.

The first time we worked on the plan, we followed all of its canonical key elements. The second time, we deviated slightly from the manual, focusing on the following key elements:

  • Goals: what the organization wishes to achieve from the community.
  • Objectives: what behaviors community members need to perform in order to achieve the goals.
  • Emotions: what feelings to amplify and leverage, in order to influence community members to perform desired behaviors. We expressed them using the perspective of user stories. For example “I’m proud of giving back to my local ecosystem thanks to technologies“. Or “I am motivated to offer compelling content to my members to increase hands-on learning at different levels“.
  • Tactics: the specific projects the team will execute to amplify these emotions. We didn’t go too deep into defining action steps, because we made the plan in the context of an entire team. Once a person, or sub team, starts working on a specific tactic, they will also have the freedom, and responsibility, to define detailed steps.

The Community Strategic Plan and the existing team culture

In Google, we use OKRs. For the Community Strategic Plan to be truly adopted and followed, and not to be forgotten after the initial enthusiasm, we had to find a way to insert it into the “existing team flow”. Luckily, it’s wasn’t that difficult, as a mapping between the Community Strategic Plan and the OKR framework is pretty straightforward. From the OKR angle:

  • Objectives express goals and intents
  • Key Results express measurable milestones which, if achieved, will advance objective(s) in a useful manner.

So, considering the key elements of the Community Strategic Plan aforementioned:

  • A goal provide an high-level categorization of a group of Objectives in the OKR
  • An objective maps with an Objective in the OKR
  • A tactic maps to a Key Result in the OKR

Bonding the Community Strategy Plan with team OKRs was the way to keep team members focused on the tactics. In general, I strongly encourage to adapt and connect the Community Strategic Plan to the existing team habits. For several teams, adopting the plan is already an important mindset shift, so it should not be weighed down by further changes to team routines.

Work on the Community Strategic Plan in an remote team setup

Honestly, it was quite a complex exercise to work on the Community Strategy Plan in a remote team setup. Because of the many consequent steps, the many “diverge-converge-decide” phases, the non trivial amount of time, focus and effort required to formalize the entire plan.

I started making each team member aware of what is a Community Strategy Plan, and the potential advantages in adopting this new framework in the team. Thanks to previous retrospectives about the work we did together, I had enough material to support the proposal.

Then, with a sub group of experienced community builders, we set goals, objectives and emotions. We iterated twice on them, to be sure we developed quite extensively the company goals, without leaving anything behind. The experience of the sub group allowed to focus on the important elements, to interpret goals considering also “historical context”, and to identify emotions, thanks to their deep knowledge of community members.

Finally, we shared the pre-work done with the whole team, and leveraged everyone’s contribution for a tactics brainstorming. Fresh-air and alternative points of views, provided by newer team members, were really useful. We then prioritized tactics and picked up the top ones, completing the last element of the Community Strategic Plan.

Challenges and opportunities ahead

As I mentioned at the beginning of this post, strategic thinking and purse team alignment while working with the full spectrum of communities is one of the core reasons we created our Community Strategy Plan. With the plan now in place, I asked every team member to constantly check if the ways they’re spending their time with communities resonate with one or more priority tactics. If yes, 👍. If not, or they may need to refocus their effort, or we may need to improve and adapt the plan, as no tool is the perfect tool, especially over time.

Speaking about time, the more you move closer to execution (from company goals down to tactics), the quicker is the “speed of adaptation“. It means goals are here to stay for the long period (ideally), while tactics may change quickly. When we prioritized tactics, we had to left behind some interesting ones, or others that needed for some pre-condition to be true, in order to become feasible. I’m quite sure, in the future, we’ll include some of those tactics into the official Community Strategic Plan.

Measurement is another area of untapped opportunities: in fact, for some of the priority tactics, we hadn’t a precise idea on how to measure the impact, or even the progress. We had a feeling it should be possible, and that was enough to commit to do it later. It’s not a “postpone-to-forget” attempt, but it could become without the right discipline. So I foresee lot of data-oriented learnings we’ll acquire executing those tactics.

(Credits to Unsplash for the post image)

How to organize a virtual team summit

After a 3 years long tradition of in-person team summits, to retrospect, brainstorm and plan the work of the team, while having fun together, we had to switch to an virtual team summit format. Here the key learnings worthwhile sharing.

One format doesn’t fit all

Core insight: the experience of a team, may not perfectly apply to another one.

Every team is different. In order to have a successful virtual team summit, it’s important to consider some team characteristics. Like number of people, familiarity of the team members, team culture, etc.

For example, if a team culture doesn’t support a collaborative environment and open discussions within team members, chances are very low a brainstorming activity can be successful. In person, even less online. The same goes for a team with several new members. The less people are familiar with each other, the less they’ll speak in team-wide discussion tables. In this case, smaller group discussions, 1:1, and a final moment of sharing, may work better.

As a reference, my summit targeted a team of 12 people, with a minority of new team members; mostly on the same time zone (within the +/- 2 hours range); already familiar with feedback oriented and collaborative activities (like retrospectives, brainstorming, etc.), but in an in-person setup only.

And this is the agenda we used:

  • Day 1, morning
    • 90 mins: icebreaker + welcome + activity 1
    • 30 mins: (social) break
    • 60 mins: activity 2
  • Day 2, morning
    • 90 mins: icebreaker + activity 3
    • 30 mins: (social) break
    • 60 mins: team fun activity

Why this format? Let’s explore the main reasons:

The importance of energy level

Core insight: several mornings are better than one of two full days.

It could be tempting to run an entire day of virtual team summit, or even more days. From my experience, it works well with in-person summits, but it’s not really the best for a virtual summit. When you work from home, life happens, and you need to leave space for it. Cook the meal, take care of family members, bring out pets, etc.

In addition, online collaboration drains more energy than in-person collaboration, so people need more time to recharge.

My suggestion is to spread the team virtual summit across different mornings, or to the closest possible scenario allowed by time zones. Morning is when, generally, the energy level is higher, and attendees can start the summit with a fresh mind, so more focused.

Alternatively, use the mornings for collaborative activities, and reserve the afternoons for reflective and individual activities. So people have more flexibility to arrange their time and work in the way they prefer.

Activity blocks duration

Core insights: start with a 90 mins block, then 30 mins break, and a final 60 mins block.

After observations, my favorite format is to have two main “working blocks”: 90 mins, followed by another 60 mins, with a break of 30 mins in between. 

It’s hard to remain plugged and productive for 90 mins, twice. Plus, a 3.5 hours (90+30+90) block is hard to accommodate in a “morning”, when the attendees cover slightly different time zones.

Blocks of 30 or 45 minutes are generally not optimal for virtual summits, for what was said previously (context switch, ease of getting lost, etc), unless there is a very specific and short activity to run.

Of course, the time slots allocation really depends on the kind of activities to run:

  • 90 mins seems OK for time boxing a brainstorming-like session: there is time to explain the challenge, diverge, discuss, converge. If the challenge is very complex, it’s possible to explain, diverge and discuss in the first 90 mins, take a breath and detach during the break, and then use the following 60 mins to converge and close the activity.
  • If there are lot of presentations, it’s better to have 25 mins slots (20 mins for the presenter, as per TED talks rule, 5/10 mins for Q&A) then 10 mins to break, where attendees have time to absorb what was said, before jumping to the next presentation. Avoid very long (+45 mins) presentations, or a 60/90 mins continuous alternation of different speakers: it’s the best way to kill audience attention, and attendees will quickly turn to do something else.
  • Hackathon-like activities would require the full morning / day slot, with teams auto-organizing their time.
  • A Design Sprint could even be run in a day, with Map, Sketch and Decide phases during the morning, and Prototype and Test phases for the afternoon, or in the following morning.

Social breaks

Core insights: 30 mins to detach completely, potentially alone.

Breaks should be 30 mins. It’s enough to move away from the personal working area, have a bio break, detach a little bit. And also prepare something to eat and/or drink, as we don’t have the luxury of catering service.

Create a different Meet/Zoom/Teams appointment, called “[Optional] Social break” for people that wanted to chat and gossip during the break. And make it very clear that it’s optional to attend, that setting separated chat groups is OK too, or even spending the whole time “away from the desk, and alone”. This is a 100% attendees truly reserved time: they should have freedom in choosing what to do with it.

Team Fun activity

Core insights: have fun, together. Contextualized to the attendees group.

Having a dedicated moment for fun is an important part of every summit. It bonds people together, allows for serendipity, helps to recharge batteries, etc. It’s even more necessary now, where we haven’t seen each other in person since a long time.

In addition to some short ice-breakers (5-10 mins max) at the beginning of the other slots, I dedicated an entire hour for a specific fun activity. At the end of the second morning, as a way to celebrate together the achievements of the summit, and to relax the pressure. There are millions of fun activities to run, and it’s important to select something appropriate for the audience.

In a just formed team, having the fun activity at the beginning of the summit could be a better choice. It could help to build the initial “social infrastructure” that will favor collaboration and interactions for the rest of the event. For a longer virtual team summit (3-4 mornings) it could be run in between of the days, to take a break.

Set summit goals in advance…

Core insight: well defined deliverables, in advance.

I’m a supporter of setting and communicating in advance what should be the desired outcome of a team summit. A tangible set of deliverables, everyone can measure the progress toward. Even more for a virtual team summit.

While in person it’s easier to be agile, and pivot and replan part of the activities in a short time, this is generally more difficult for virtual summits. In person, it’s possible to quickly identify where the team consensus is going, if some attendees got lost, the overall group emotional status, thanks to many non-verbal communication elements. Also “implicit peer pressure” exercises a strong influence (if I perceive that several attendees think this is an important topic to discuss, probably it should be important also for me). In a team virtual summit, because of the lack of many non verbal elements, the same is not always true.

Creating and sharing the agenda in advance, avoids this problem. Through iterations, 1:1s and feedback, it is generally possible to reach a wider team consensus about the goals to achieve, and how, before the summit.

A well known agenda also fosters engagement. It helps attendees to approach the different summit segments with the right expectation, a more appropriate mindset and, generally, come more prepared.

… and don’t overcommit

Core insight: less is more, because of focus and energy.

It’s easy to stuff a team summit with many desired goals, we all know. The real difficult, and valuable task, is to trim them down to very few deliverables, and run specific activities to reach them.

Context switch puts an important burden while working from home. At the end, we’re physically alone. So, it’s easier to lose track of where “the rest of the team is”. Or get distracted by “the rest of life” as soon as there is the feeling of not being able to keep up with the speed of the team.

In addition, for a moderator it’s really hard to check if attendees are “present and aware”, or if something else is competing for their attention. Again, a video/audio only interface cuts out a lot of non-verbal communication elements. 

Few deliverables help to keep the attendees focused, provide a sense of fulfillment once they’re reached, feeding engagement (we’re all happy to be an active part of something that works).

The right tool for the right session

Core insights: carefully match an activity format with the most appropriate tool to run it.

A Google Doc or a Google Sheet can be the jack-of-all-trades for plenty of collaborative activity formats. But they may not always be the best tools at your disposal. Maslow said: “[…] it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.UX matters, and I personally consider it valuable to spend (a reasonable amount of) time to find, or even create, the right tool for the right activity format. Attendees will benefit from this attention. The more they are, the bigger the benefits.

For example, here my screen setup while running a brainstorming activity:

My computer desktop while running a brainstorming activity during the virtual team summit

From left to right: the “virtual whiteboard where we collected our ideas” (a Google Drawing doc, resembling a whiteboard with sticky notes and voting dots); the Meet window, so I always remained in visual contact with the summit attendees; a countdown I used to time bound activities: the doc where the note taker took notes about the discussion. And yes, I really love my ultrawide monitor :)

Ask for feedback, and iterate

Core insights: we’re all learners, and we need quality feedback.

Surveying attendees about the “Overall summit satisfaction, on a scale from 1 to 5” is the bare minimum. Asking them why, what was the best part of the summit, the worst, and what they missed (a start/stop/keep doing/best approach), provides good insights. To really learn and improve, ask detailed feedback for each activity.

Include the feedback activity in the summit agenda. Reserve 5 mins, before closing the summit, for the survey. It will be an awkward moment of silence, but the completion rate will skyrocket (up to 90%, even more). Share the feedback with everyone. Attendees will appreciate the point of view from others, and they can always learn something. If it’s not possible, share the core insights obtained from the feedback. And use them to adjust the next virtual team summit activity. 

My interview for Create Community Podcast

During quarantine period, Marsha Druker, author of Create Community Podcast, reached me to talk about my job in Google, how to keep communities engaged with virtual events, and the impact of the pandemic in my day-to-day work with communities.

Listen to the episode: Apple | Spotify | Google | Stitcher 
(My interview starts at 15:43)

“When it comes to community and virtual events, right now is a time for incredible experimentation. It’s like a huge social lab.”

Alfredo Morresi

Best practices to manager remote-forced teams

The pandemic imposed to work from home on the majority of us, forcing entire teams to a remote-only setup. A new scenario new for many of us. During this talk, I shared my 8+ years of experience in working (and leading) a remove-first team, with focus on team culture, communication, new members onboarding, etc.

Slides

(ItalianCoders, April 23 2020)

How to organize a Community Scavenger Hunt

Community Scavenger Hunt

Gamification can be a powerful lever to foster engagement in a community. In this post, I share the why and the how of the Community Scavenger Hunt we run at the European GDG Leads Summit.

(This post is part of a series about the European GDG Leads Summit organization. Partially to give to GDG leads some behind-the-scenes of the event, partially to share with other community managers lessons learned, partially for personal fun)

Why a Community Scavenger Hunt

Inspired by a similar activity run by Monique van den Berg and the Atlassian team during one of their community summits, I imagined our scavenger hunt serving two main purposes: to offer attendees additional occasions to connect, and to contribute to the social buzz for the event. In both cases, both before and during the event.

The hunt structure and quests idealizations

A typical scavenger hunt keeps participants engaged, quest after quest, toward a final recognition. The last could be extrinsic or intrinsic, like a physical prize, or the pleasure to solve an intricate puzzle first, respectively.
To maintain the level of engagement high, each quest should contribute in some way to that final recognition: distribute points for a leaderboard, provide access to the next quest, offer physical / virtual goodies, etc. Potentially, it could also happen to have diverging quests, quests that won’t contribute to the final goal, but useful for having additional fun or fulfill specific, secondary, goals.

I decided for the competition among participants as the intrinsic motivator to leverage, and collect points for a common leaderboard for quests contribution. In addition, considering the social buzz generation goal, each quests had an output on the social media channels monitored for the summit, Twitter and Instagram.

With all of this in mind, we brainstormed in the team a set of quests, with the following result:

  1. Post an ice-breaker activity you’ve done in your community meetups. Bonus points if you have a picture of it
  2. Share your road to GDG Summit pictures from airports/car/trains. Extra points if you’re with other leads. Only one post per person counts, but feel free to post more than one :)
  3. Estimate how many countries are present here today (here = at the summit)
  4. Share a picture of a “human GDG logo” a logo made by people
  5. Find someone who likes the same Google technology as you and take a picture
  6. Record a video where you and other GDG leads say “Thank you” in your native languages. The more people (and languages), the higher the score
  7. Take a picture of as many googlers you can, with your community sticker / logo
  8. Share the best moment you had as a #GDG organizer (inspiring / motivational / funny)
  9. Find someone with a Google t-shirt and share a picture together
  10. Record you and other GDG leads singing together a song
  11. Ask an organizer from your GDG that is not attending the summit, to send a picture of what they are doing, tagging you.
  12. With another GDG lead from a different country, record a short promo video to promote a food both of you like a lot

Two final shrewdness. The first one was to assign progressive scores to quests, less at the beginning, and more toward the end, to avoid that players who joined later the hunt had no chance to compete against the ones participating since the very beginning. The second was to decide a time interval for each quest (when to launch and duration), to maintain participants curiosity high, not disclosing all the quests at the beginning, and to keep them engaged, solving quests within a given time. Clever gamification tricks ;)

Tools used

In order to run the community scavenger hunt, they were four main needs to cover with some tools: where to list quests, how to alert summit attendees about new quests available, how to check for quests results, and how to maintain a leaderboard with hunt progresses.

Where to publish quests: I went for the quick-and-scrappy way: a simple Google Docs, published as website, where all the open quests were listed. Not the best result in terms of UI, but it required zero code skills, was available on mobile (the main medium participants used during the event) and was very easy to keep updated, publishing new quests at given time.

Alert summit attendees about new quests: two different solutions adopted: before the summit, we launched the community scavenger hunt via an email sent to all summit attendees, inviting them to participate to quest #1 and #2, to warm them up and pass the idea of the activity. During the event, we leveraged the features of Swapcard app, the unique tool we selected to communicate with the attendees, sending push notifications once new quests were available.

Check for quests results: this one was the least automated part, and required a fair amount of time. Luckily, we had a dedicated social media manager for the event, and this person also kept an eye on the quests results. How? Thanks to two specific hashtag we asked to add to each quest reply: the event general #GDGSummit, and a #Quest01, #Quest04, #Quest12, etc. Same for Instagram. The time interval for each quest helped to distribute participant efforts, with the social media manager checking times to times for new quests replies. If found, the corresponding quest points were added to the scoreboard under the Twitter or Instagram handle of the participant.

A leaderboard to show hunt progresses: again, the quick-and-scrappy way: A Google Sheets chart published on the web, showing the scores as soon as the social media manager updated them. Again, not the best graphical result ever, but it worked, required zero code and infrastructure setup. An additional optimization, once we had enough participants, was to limit the graph only to the top 20 results.

Does the scavenger hunt work?

Let data speaks: 70 people participated, of 290 total summit attendees, generating 330 social media contents, a 10% of total contents created. The leaderboard had different top performers over time, and this kept the engagement high, as gave everyone the feeling that winning was still possible till the end.Follow some of my preferred contents generated.

Continue reading “How to organize a Community Scavenger Hunt”