Mural and Azure DevOps whiteboarding

I’ve always been a big fan of helping teams visualise work better. In the old days one method I loved to use was to print out product backlog items or tasks and place them next to the bits architecture diagrams or wireframes we were currently working on, on the team white board. It helped us visualise our work and sometimes it would help us ask more questions and realise we may have missed tasks we needed to get work done.

Much later when working remotely with teams I would employ the same mechanism again. We would use tools such as Lucid charts for virtual whiteboarding and I would copy and paste in the tasks/product backlog items and place them around the various parts we were working on. It was only when our company started using Mural a while back and they added integrations with Azure DevOps and Jira that I realised we could now import elements of our product backlog into Mural diagrams we were working on. If you haven’t tried Mural yet I highly recommend it, its a great tool for whiteboarding with remote teams.

We initially started by importing the backlog items that were associated with the work we were doing. Mural make’s this very easy by just right clicking on the background of your Mural board and selecting the Import Azure DevOps feature that appears in the context menu (you can do the same with Jira). In the dialogue box that appears you can select the Bugs, Tasks or Product Backlog Items you wish to import. You can search for them or use existing queries you may have created in Azure DevOps.

After you have imported your backlog items, you can then drag them around the screen like other Mural objects and they contain a link back to your backlog item in Azure DevOps along with its current status.

Below is part of our roadmap for some new features we are looking to launch for Lean Coffee Table. You can see the product backlog items we imported onto the board and placed them around our launch notes.

It also works both ways. If you are drawing a diagram of your solution and want to create tasks around that diagram as you go (made up example below).

You can create your tasks/backlog items and publish them back into Azure DevOps, Jira or GitHub by right clicking on the sticky note we made in the example below and selecting where we want to export our item.

You can see below we can now choose where in ADO we want to create our item. In this case we have chosen a User Story type.

And now it is connected to ADO with its current status

NOTE: Azure DevOps and Jira appear to work both ways. However you only appear to be able to export items to GitHub Issues but not import them.

So many teams are now hybrid or work fully remotely, tools like Mural can help facilitate those teams. What tools do you use to help facilitate working with remote or hybrid teams? I’d love to hear from you.

Remote teams, pair coding and virtual stand-ups

Recently I have been doing a lot of coding, and we’ve been working on some exciting things at RippleRock from Lean Coffee Table, TFS Rippler and some advanced HTML 5 charting tools. Our working atmosphere at RippleRock is pretty relaxed with a good work-life balance. As our consultants are usually spread through out the UK (and even some parts of Europe and occasionally India), we make a lot of use of technology to stay in touch with each other. We are all very driven and passionate people about what we do which also makes working remotely from each other (when we need to) much easier to do.

Morning Ritual
The morning ritual is very much the same as a co-located team, we have an early morning stand-up. I personally feel that the day hasn’t started properly unless we have one of these.  One of us will open our task board and display it to the rest of the team and we will talk about what we have done and what we will be working on next. 

Remote Pair Coding
We stay in touch using Skype for Business, Skype or Google Hangouts depending on what works best for our situation. Skype For Business is our go to app for remote pair coding. It enables either party to take control when working together. The developer who has control of the keyboard listens to the observer who directs. We can switch control by giving the observer control using Skype for Businesses “Give Control” functionality. We don’t always Pair Code when working remotely as it can be quite taxing being on a remote call for several hours, however as a team we can spot bits of work we believe will be better worked on while pair coding and when we do this, we end up with some very good results.

Feedback Loops
Because constant feedback is so important we focus on small chunks of work that are regularly committed to source control, run in our CI build and deployed to a server. This ensures we have constant feedback for our morning stand-up’s. This also encourages us to try things out quickly if we are unsure on what is the best approach, because our feedback loops are so short we can afford to fail quickly and this way choose the best solution that works.

Code Reviews and refactoring
This pretty much works in the same way as co-located teams. Sometimes we pair when going over code if we need to figure out what was the idea behind some decisions. Other times code is changed and shelved as a suggestion to the developer who is having code reviewed and they can look over the suggested changes, compare and incorporate them to ensure they understand them.

Tools are not a replacement for process they only help facilitate the process especially for when we are are working remotely. The key tools we have found are as follows

  • A shared remotely viewable board of work. Any kind of web based board be it TFS, Jira or LeanKit will help here to make work visible.
  • Source Control basically goes without saying how important this is.
  • Remote conferencing tools like Skype, Skype For Business or Google Hangout are important. Those that enable remote desktop control are even better.
  • CI Builds kicked off after check-ins provide a fast feedback loop.
  • Wiki or central document area. We find a Wiki for quickly jotting up helpful documentation essential and it encourages use because of how easy it is to use.