Anatomy of Distributed Team: Workflows, Agility, Communication – my talk from Atlassian Summit 2018

It’s been an extremely fruitful Atlassian Summit 2018 in Barcelona! Main purpose was to speak about Distributed Teams, however the atmosphere was so cheerful and friendly, that it was more like a fireside chat, even given that my speech was the closing one.

Got an awesome tracklead! Brought a giant bag of Atlassian merch for AUG events in Ufa, thanks Darlene! Finally met Ben Linders (check out his Agile Self-Assesment game!) whom I’ve been giving a Q&A to (which is now available in Japanese and Chinese).

Talked with zillions of new people from Atlassian Marketplace, Bitbucket, DevOps, Jira Cloud, Adaptivist, Code Barrel, and loads of other Atlassian-related-folks (including long speeches with Mike Cannon-Brookes (WHOA!) 🙂 Met AUG Leaders from all-over-the-world, and the whole atmosphere was sheer cozy and welcoming (you guys were awesome)!

Sources for presentations: Summit_Distirbuted_Teams_v1.0Agile Communication in Distributed Teams (with no overlapping hours)Workflow for the Requirements in the Distributed team

Atlassian AUG Leaders

My Q&A for InfoQ on Keeping Distributed Teams in Sync

I spoke with Ben Linders of InfoQ (thrilled to be published at that website!) about challenges and communication patterns for Distributed Teams, uncovering bits of my Atlassian Summit 2018 speech.

The biggest challenge of distributed teams is communication, which is essential for establishing ground rules on collaboration. Shifting working hours to accommodate each other and team liaisons help to communicate and synchronize work. Teams based on trust, respect, and openness will thenselves to help people throughout the organization and foster a culture that keeps teams in sync.

Marat Kiniabulatov, project manager at SkuVault, will give a talk about the anatomy of distributed teams at the Atlassian Summit Europe 2018. This event will be held September 3 – 5 in Barcelona, Spain:

InfoQ spoke with Kiniabulatov about the challenges of distributed teams, how product owners and stakeholders collaborate at SkuVault and how the workflow is managed, how distributed teams communicate effectively and synchronize their work, and how SkuVault nurtures a culture that keeps teams in sync.

Full Q&A at Keeping Distributed Teams in Sync,

Also available in Japanese and Chinese

Agile Communication in Distributed Teams (with no overlapping hours)

So as you know my speciality is distributed teams 🙂 This post is about what changes does the agile communication face (and scrum in particular), when it’s adjusted to the distributed teams. This is my experience, I don’t assume this is a silver bullet, but such approach works for me for the last 5 years and proved itself to be proficient.

Let’s divide communication by types:

  1. stragetic meetings (plannning, retrospective)
  2. daily huddles (e.g. daily standup in scrum)
  3. day-to-day clarifications.
2018-01-18 11.12.16
by Text I mean Instant Messaging

Let’s add another dimension: geographical distribution:

Collocated teams – everything’s perfectly fine for all three types of communication events. Teams, working in scrum, that are collocated face no issues with any of those.

Distributed teams with little difference in timezones, but still with overlapping hours. Great examples are US – Chile / Mexico. Netherlands / India.

  • Daily syncup can be handled with almost no pain, as well as planning and retrospective (if you incorporate scrum in your company).
  • Instantness of clarification on work tasks is lost (when overlapping hours end), however given that skype / hangouts / whatever you use is just a click away – no significant impediments are to be found.
  • No matter what you think about focused team, and that it processes everything faster due to unitedness, whenever team member is outside of her overlapping hours with the rest of the team – communication lag happens.

 

Distributed teams with no overlapping hours (8+ hours difference).

Approaches here are:

  • 3.1 Team liason. When someone from the team in one part of the world is having a meeting during his time off work, to sync up with other part of the team in different timezone. Usually, team liason is someone from product team, however there are different examples of who syncs up with dev team in the industry. It can be simply a representative from one part of the team that syncs up on the progress with the other part (just like in scrum of scrums)

 

  • 3.2 Timezone Compromise approach. Teams change their work schedule, to have a compromise in at least 1 overlapping hour, in order to sync properly. For example, start of working day for one part of the team in western hemisphere moved from 10am to 9am, and eastern hemisphere team changes their working day to start from 10am to 9am. Thus, you got at least 1-2 hours overlapping. Whoa, problem solved -> we can get back to bullet 2, on how teams with overlapping hours work together! But remember, everything depends on team configuration, whether the team is comfy with selected approach, and development tasks specifics.

 

  • 3.3 And finally, you can set up communication process in a way it’s comfortable for everyone in the distributed team. My personal beliefs is that redundant communication is always less efficient than on-demand-clear-bulleted-discussion, thus I’d prefer clear agenda and clarification when needed.

— 3.3.1 First of all, that means that people still are participating in retrospectives and planning sessions, cause those events happen once per 2-3 weeks (thus distraction or working off-time is tolerable). However, those meetings / scrum rituals are to be performed with clear goals, and well-prepared bullets. Try to not allow offtop conversations (when someone gets into topic not relevant to current discussion). Remember, team values personal time, and no team member should suffer from poorly planned meetings.

— 3.3.2 Second, it means that daily sync (or daily standup, if you follow scrum) can be done via text, at the end of team’s working day. In order to reach more visibility, developer can share a link to the branch, that he worked on. But main goal is to have an exceprt of what team member has done during the day, that is visible for everyone (e.g. special channel on updates in telegram). Some people also propose asynchronous video messages (Dave Snowden of cognitive edge shared this experience of his with me, referring to the times he worked at IBM) – you record video message for the team, and even share the screen, if you want some visual material on your work.

— 3.3.3 Third, clarificational communication (meaning day-to-day clarification communication type) is done on demand. Meeting for such batch of clarifications is done in a compromise time, so that noone’s felt left out). The good part of that is since you don’t have to get explanations on critical and extremely complex clarifications every day – you don’t need to torture your colleagues with evening / early morning calls each day. Usually, most of the impediments are resolved via instant messaging. Please keep in mind, that requirements standardisation is a key role in these clarifications, as properly structured requirements save a lot of time while developing a feature.

— 3.3.4 And fourth, but equally important, more standards and documenting. The more info necessary you prepare for your colleagues overseas, for the questions that may rise during your off-time, the less he will be stuck. Please use common sense in how much you need to prepare. When team gets to know each other, such planning becomes much easier. And finally, efficient process always means that person doesn’t get stuck 🙂

Finally, we’re getting to my favourite ever part!

Distributed teams with no overlapping hours + language barrier! I’ve been working with those for the last three year, and here are the additional steps to make it all work efficiently.

The three common baseline rules to follow are:

  1. Prepare meeting agenda prior to the meeting. I’m talking about writing down basic points, explanations, and maybe even branching when presenting solutions (depending on meeting complexity). It’s obvious, that people not fluent in english can’t properly communicate during the meeting – everything starts to require much more time, which isn’t efficient (and quite heavy, when it comes to hourly payrates 😉
  2. More documenting. You may say that Agile says “working software over comprehensive documentation”, however when dealing with distributed teams + no overlapping hours + language barrier, I can’t stress enough how much documentation means. There are key principles better to be described, as the team grows: communication standards (what type of communication is done via which tool, working time, speed of response), requirements acceptance, visual standards for documentation. All three principles affect how developer understands the task he’s supposed to work on. Requirements should have only one way of interpreting, should include clear pre-and-post-conditions; bugs are to be described in reproducible steps.
  3. And finally, it’s essential to have a bi-lingual person (team liason), who helps with english (he comes up with translation of complex bits, moderates the discussion). This person is better to be a developer or someone who gets the technical part well, as she often helps with syncing two development parts of the team. She may also add meeting notes on technical details agreed once meeting is over. That person most likely will sacrifice some of her time off, since hours don’t overlap.

At the end of the day, there are plenty examples across my experience, and blogs, how people manage to work with just on demand meetings, and create complex projects together. Those are git, atlassian and, among others – SkuVault.

Let me add an additional rule to common sense manifesto – process over redundancy. Greatly established process, understandable and rational for all parts of the team, makes it easy to track progress through transparency, keep team motivation high (for being productive) and time off undistracted.

References:

  1. http://www.disciplinedagiledelivery.com
  2. http://snowdolphin.com/blog/2009/2/16/adventures-in-distributed-agile.html
  3. http://agilemodeling.com/essays/communication.htm
  4. https://www.atlassian.com/blog/confluence/4-simple-collaboration-strategies-distributed-teams
  5. https://www.atlassian.com/team-playbook
  6. https://www.atlassian.com/company/events/summit-europe/watch-sessions/2017/scale-extend/a-brave-journey-in-merge-waters-how-paysafe-consolidated-their-atlassian-tools
  7. https://msdn.microsoft.com/en-us/magazine/hh771057.aspx
  8. https://pdfs.semanticscholar.org/cde9/6fed7d2e2591bc8f697814ab1f33e3a84160.pdf
  9. https://www.scrumalliance.org/community/articles/2013/july/managing-distributed-teams
  10. medium.com/@MentorMate/what-i-learned-managing-a-remote-agile-software-team-fd2db22e22b1
  11. https://www.researchgate.net/publication/263398659MoonlightingScrumAnAgileMethodforDistributedTeamswithPart-TimeDevelopersWorkingduringNon-Overlapping_Hours
  12. https://www.agileconnection.com/article/five-agile-challenges-distributed-teams
  13. https://www.agilealliance.org/wp-content/uploads/2016/01/Distributed-Agile-in-the-Enterprise-and-Virtual-Spaces-2012-08-16.pdf
  14. http://www.research.ibm.com/pdfs/scrum/Chapter6Pearson20090706.pdf
  15. https://www.thoughtworks.com/mingle/scaled-agile/2016/06/13/visualizing-time-zones.html
  16. http://reqtest.com/general/working-efficiently-with-distributed-teams/
  17. http://www.methodsandtools.com/archive/archive.php?id=109
  18. https://books.google.ru/books?id=jBsVrWbIhYUC&pg=PA112&lpg=PA112&dq=distributed+teams+agile+communication+no+overlapping+hours&source=bl&ots=0kdQw5RQo9&sig=SMVuHCrX0oH4dWq1KDn2lQ8-1fk&hl=ru&sa=X&ved=0ahUKEwis5tDGvOHXAhXGQZoKHWzRCqE4ChDoAQhMMAU#v=onepage&q=distributed%20teams%20agile%20communication%20no%20overlapping%20hours&f=false

Ufa Atlassian User Group

UPD: Rescheduled Jan. 30th -> to Feb. 6th.

Recently buddies from Moscow recommended me to join Atlassian User Group Leaders,to host Atlassian events in Ufa, so here I am (after an interview with Atassian)!

First ever-ever Atlassian User Group with special Atlassian swag will be happening January 30 2018, 7pm 🙂 Meetup related to all things atlassian and related! Follow the link and save the date 🙂 https://aug.atlassian.com/events/details/atlassian-ufa-presents-ufa-atlassian-user-group-1#/

2017-12-29 10-12-57

  • # I’ll be talking about how we adapted our development workflow in JIRA
  • # Documentation lifecycle in confluence at SkuVault

More topics to come, from our local Atlassian Users 🙂

Ufa IT Management Meetup #4

This time it was all about requirements. And we hosted the event at our cozy SkuVault office:

IMG_1550

  • Eliciting and preparing requirements from gathering data till development:
    • Oleg Gumerov (PO at SMENA – solutions provider for a big delivery service) shared his experience on how they do it in SMENA.io;
    • Nur Ibragimov (Head Analyst at modulbank) shared their way of processing requirements;
    • Us (me and Ksenia – also PM/ BA at SkuVault) shared how we do it in SkuVault, as well as how we used to work on requirements at Storia.me back in the days.
  • Formalizing and Structuring the requirements, by our own Ksenia of SkuVault
  • Tracking changes in Requirements by Ksenia (lightning talk)
  • Tracking time and Estimations by me (lightning talk)
  • Documentation Lifecycle when developing a feature (by me)

And that was my first-time experience of stitching video and audio 🙂

Meetup is in Russian, links are: VK / Meetup / Telegram Channel

Ufa IT Management Meetup (24.10.17)

2 weeks after we had the actual meetup, here’s the follow-up post 🙂

Topics this time:

  • Keynote by me on cynefin and how it fits our company projects. Had some discussion & arguing on applicacy of cynefin when it comes to rough development times, migrations, firefighting-based development. Overall, model was introduced, and the fact-and-experience-based arguments are always the best. Cause we all keep it harsh, true and ironic, when it comes to sharing something you’ve been stuffing bumps on!
  • Afterwards beer-session was a 3-hour-rant on headhunting of employees by Moscow, Saint-Petersburgh, Europe and States, and that Ufa developers became much more audacious, over the past crisis-driven years (given that there was no crisis in Moscow and the rest of the world). Seems like the raises are imminent, if you want to keep the developer. Headhunting becomes more brutal and sneaky at the same time!
  • Yet another topic was keeping the valuable professional, when he reaches the limites of intra-company growth, and what is best to offer in those cases.

KXD01nqfom8

Overall, meetup gathers momentum and creates a community. We already got bigger guys from the enterprisey-yet-more-or-less-tolerable-sector, few startups on mobile/IoT/PaaS, Banking, Digital 🙂

our links are: VK / Meetup / Telegram Channel

Agile Turkey Summit 2017

Me & my colleague basically decided to attend Agile Greece and Agile Turkey, and then exchange opinions and knowledge gathered there. Big advantage of my trip was Dave Snowden’s keynote, whom I wanted to catch after the speech and bore to death with silly questions 🙂

Agile Turkey Itself

The conference (1-day conference, october 19th) kind of frustrated me, as 2/3rds of speeches were in Turkish, so I had to ditch my plan to attend certain events, and half of the time was roaming around the conference floor.

2017-10-30 11-37-36

Dear people who stand behind this huge event, Agile Turkey team, please make a note next to the speech, that it may be in Turkish next time 🙂 That would be awesome!

The awesome part of that was that English-speaking crowd (mostly invited speakers) were roaming around the vortex (as Kurt Bittner joked) as well. Noone occupied their attention (possibly because of the language barrier), so I’ve turned that into 2-3-hour-long interrogations!

The Bag ‘Shift Happens. Be Agile’ has a nice slogan, but poor quality 🙂 Lots of spam from sponsors and small notebook with the pen. Felt like I’m on my local UfaDevConf conference.

2017-11-01 16.03.16

Snowden’s Keynote

I’m so glad that I’ve attended to one of Dave Snowden’s speeches! He’s an amazing guy, I love his approach to not treat metholodogies and frameworks as silver bullets, I love how he merges anthropology with IT – and I share this approach wholeheatedly (given my specialization in Applied IT in Psychology).

Keynote was called COMPLEXITY, CULTURE AND CONFUSION. Snowden described cynefin model, which I find as an universally applicable framework for sense-making. My experience with cynefin emerged when we were trying to find an already-existing model of describing various projects we had at SkuVault with Ksenia. And guess what: it fits and describes how we firefight, develop new features, research/migrate/stuff bumps as a sequence of cause-effect perfectly (and I’ll write about that soon).

Key points:

  • Perception over mindset: I’m so agreeing with him, that mindset cannot be changed after it’s declared to be agile: you start with slow process and transparency improvement – and over the time the team becomes more agile. And only then the inner understanding of the business agility is fulfilled.
  • As soon as the company declares it’s now agile – it’s definitely the opposite (which is derived from the first bullet).
  • There’s a thin line between simple and chaotic systems in cynefin, and you may even not see if you’re already in chaos: it may be calm on the outside.
  • Work on company’s perception among the clients. Clients remember all past negative events you had. Interview the clients / market, and make sure you address the question: ‘what can we do so that clients don’t say this the next time’, instead of justificating your actions.
  • Company’s culture is to be inherited. There should be a knowledge sharing, when the creators transmit their values to the others, share both good and bad experiences over the course of the work.
  • Waterfall is not bad (thank god finally more and more people start telling that).
  • And yes, finally, SAFe and NEXUS stop being dynamic, when they scale up! And that’s the disconnection from the original Agility idea!

The latter part of me interacting torturing Snowden with questions on remote distributed teams with huge timezone difference, processes and estimations was indeed very satisfying! Lesson learned from almost every speaker I had time to chat with: SkuVault’s case is unique and you empirically find your own path of comfortable pace, workflow and communication.

2017-10-19 11.11.58

Mr. Snowden also shed some light on asynchronous conference calls they had back at IBM, which seems like a very interesting idea to try now.

Kurt Bittner of Scrum.org

Kurt Bittner was talking about ‘5 THINGS YOU NEED TO DO TO SCALE YOUR AGILE ADOPTION’ (http://www.summit.agileturkey.org/session/5-things-you-need-to-do-to-scale-your-agile-adoption/).

 

 

Later on, I sneaked out to him while he was listening to some old Van Halen stuff, and started to ask tricky questions:

  • How does Scrum work, when the team is distributed, when there’s a language barrier, when timezone difference is 9-10 hours? (>> scrum works, but that depends on how comfortable the team is overall with scrum and everyone’s got own approach, mixed with constraints that every organization has).
  • We recently worked on migrating a huge chunk of SkuVault to a new architecture and it was chaotic, is Scrum a good way to handle such? (>> R&D projects may work with Scrum pretty good, however in our case there’s no clear answer because using micro-sprints for 1 day and have a whole retro for that seems obscurely inefficient and redundant).
  • Politics (eww)… Skiing & Hiking in Colorado and generally in the world.. Does iPad Pro 12″ really allow you to do general work without bringing your laptop (for mail and notes yup).
  • Estimates – what does he think of them, do we even need them fully in scrum? (>> Kurt is not a fan of estimates. If you got a timerange – better give it (doing this myself all the time), and estimate is really needed only in times when you have to understand project phase length).
  • Overcertification, and is there really a problem with Scrum Master certification and poor performance of fresh certified practitioners, which devalues overall CSM / PSM badges? (>> gosh, this is a painful topic to discuss with scrum.org rep, right? 🙂 So the consensus was that SCM certification really only shows that you know the basics, it doesn’t tell anyone about your experience on the battlefield and definitely not something to rely on when forcing scrum 😉 So in a way, yes, certified people quality in scrum and process building may devalue certification perks… kinda…)

Kurt was not just helpful, he’s been my savior in the middle of turkish-only-speaking crowd 🙂 I thank him greatly for expanded answers, references to his experience and knowledge sharing!

Other interesting speeches and people

Simon Orell told an interesting story on his experience in applying Scrum (although modified) in building gas turbines (!) in Canada (BILLION DOLLAR AGILE: APPLYING SCRUM VALUES AND PRINCIPLES TO LARGE CONSTRUCTION PROJECTS, ) – COOL!

Scott Ambler told about pragmatic way of looking at company transformation in his ‘THE DISCIPLINED AGILE ENTERPRISE‘ speech.

PANO_20171019_173251

IMG_20171020_132840PANO_20171019_174045