Agile Anarchy – Remote working

Getting from and to work is stressful enough at the best of times. When you add terrible traffic, children, or people leaving very far, a good case can be made for spending more time working away from the office.

Doing the back and forth between two locations got me very tired, and being away from home so much was getting very morose and sad. As we did with everything else, we set out to try and change things, and remote working seemed like a good fit for what to change next.

The goods

Note the links point to Amazon, feel free to use that referral to show your support for my writing. I don’t receive any money from any of the companies I link to, I only document what I used successfully.

As we were mobbing, we had to find a way to make remote work while being connected to the mob. We started by sharing the screen of whoever held the keyboard, using join.me, which was at the time the only software I tested that could get through the legendary Microsoft firewallls. On a second screen we skyped.

The part of our office where two screens were playing

This worked rather well for a while, but the quality of the sound is very important when you spend the whole day chatting away with people. So I upgraded our system to a Logitech cc3000 for the office, giving me full HD 1080 video, with a zoom and a table-top mic that doesn’t suck.

My tiny home office for when i work at home

At home, the key word, especially for people with children, is as loud and clear as the roar of a hungry toddler: noise cancellation! So, while I have no toddlers here, I still got myself both a Jabra Pro 9400, which is awesome, comfortable and lightweight, and for the road a Plantronics Voyager Edge, which comes with a very useful holder that acts as a secondary battery.

Our team skyping our way through the day

Over time, as it became apparent that working remote in this way worked rather well, more of us started using the option, to the point where some day only one of us was there, and everyone was very happy, and life was good.

Learning to work with remote workers

When people are not in the office, and even when they are in video-link continuously, there are a few things that a required from all for communication to be handled effectively.

First, you need a way to plug the team in a common stream of thoughts. We used slack successfully, but it is very easy for people in the office to forget to check what remote workers may be talking about. There’s a lot of push back lately on slack becoming as overbearing as e-mail, but if you have a room per team, it should be reasonably easy to flip back just to see if something requires a bit of attention in-between implementing a specification.

Lunch breaks and tea breaks, and meetings that are scheduled randomly, are moments that people in the office can easily forget to communicate to remoters, this needs to be taken into account too. There is nothing more frustrated than being alone in the room because everyone went to a company meeting and you didn’t know about it.

Internet access is key. I worked remotely from various locations, and the worse has been when the internet connection was just not good enough for the video link to work. If you’re going to be moving around a bit, a 4G dongle and a lot of data often provides a much better experience than hotel wifis. I also have a small TP-Link nano router that i usually plug behind the TV of hotel rooms, and which either repeats the wifi signal, or if you’re lucky, connect straight to the hotel’s ethernet plug. Pro tip, often the TV is connected to ethernet too, unplug the tv, plug the router, enjoy high quality wifi.

Finally, and this may just be a personal experience, remote working with such a model keeps you fully involved with your team, but makes you very distant from other teams and various levels of management.

If the future of your product, team or technical choices require evangelism, and you’re not in the office, it may well be that applying the existing ways we already know about to build up support ought to be baked-in your process: blogs, conferences, and regular trips to the office help alleviate those problems, and is something I wish I did much more of.

Ads

Agile Anarchy – Wall un-building and the Panopticon

At this point in a project, you have achieved, through working on one thing at a time, the close-to-perfect close-to-one-piece flow. It makes absolutely no sense to still work on the 2-dimensional visualisation tools people use in typical scrum/kanban anymore. We had to come up with something that matched our current practice.

Had to is a keyword here. A manager or another wanted us to communicate better on our current work flow, but ended up asking us to just do like everyone else and have a scrum three-column wall. Much resistance ensued, and as one can imagine, it had nothing to do with refusing authority, and everything to do with not wanting to answer the wrong question.

The state of things

Before we went through this exercise, we had a bunch of walls. One had our name on it, but we were not quite sure who was maintaining it, or what any of the cards meant. One was done by our PM and had items I had much difficulty in relating to our actual pipeline. One was a whiteboard full of notes for whatever short-term tasks we had today.

Many walls

One source of truth

The immediate reaction of some of my colleagues was to come up with a wall that would give the people requesting it what they wanted, without tying us down into a system that made little sense for us. This would have given us an easy win, but would only make matters worse. Visibility and transparence were key ethos we believed in (do what you say, say what you do), so that quick fix wouldn’t actually fix anything.

One of my colleague came up with the idea of expanding our mind mapping into a current plan, and I came up with the panotpicon name for the result.

A panopticon to always be watched

The original panopticon is an architerctural design from the late 18th century. To quote wikipedia

[the panopticon] allow[s] all (pan-) inmates of an institution to be observed (-opticon) by a single watchman without the inmates being able to tell whether or not they are being watched.

An example of a panopticon

Understanding the structure of your project

A panopticon is a representation of a chain of zooms you can do on a project, from the outer most visible layer all the way to technical tasks.

We draw these on large sheets of paper, and there’s a very important reason for this, which I’ve alluded to in previous chapters of this serial. We want people to appropriate the space and make it their own, so it should be no surprise that in the picture above there are many drawings that people have done when they wanted to doodle and express themselves.

Capabilities

The first and foremost bubble is the highest level view of your software, what it does: we call those capabilities. “Answer customer questions” is a capability, another would be “Stays in sync with our existing system”.

Features

A feature is a set of things that help deliver on the capabilities. In our previous example, a feature may be “Ask questions”. Each feature is a useful thing that exists to deliver a capability.

User Story

Each feature may have many user stories. “In order to decide what to buy, I want to ask a question about ponies on the web site”, as well as “In order to decide which pony to buy, I want to ask a question about ponies my friends bought”.

Tasks

Finally, many various technical bits are part of delivering a story. By graphing them around each story, we both keep our dev list away from the whiteboard, and we give a sense, even if rough, to the casual observer, that we are progressing work.

Completing stuff

For each work iteration, which we decided would be as short or as long as is required, we would pick up a bunch of tasks, stories and features we wanted to deliver. Each iteration would be colour-coded, and we would stick little sticky circles next to each of them.

Each release would focus on one aspect of the software, to ensure the team had a razor-sharp focus on what value each release would do, as opposed to the “do a bit of everything” typical approach.

Each release would get its own name, description and color in our release column, on the left of the panopticon. Anyone dropping by and wanting to know what the next release was about could look at that, know what the focus on, and look at how many things we had chosen to do in that iteration.

On the completion of any of the bubbles on our wall, we would hand-draw a huge green checkmark next to it. This gives you a sense of accomplishment, communicates from a very large distance what was and wasn’t built, and would allow the team to have a bit of pressure-releasing discussion on the actual tone of green sharpie one should or shouldn’t have used (hint, topaz green is the only acceptable answer.)

Conclusion

Kanban literally means signboard. Just because many before you have used existing schemes for representing work at play does not mean that you should allow yourself to be limited by the tools. The tools should be an expression of your team, not the other way around. Unleash your creativity, open your mind, you have the right.

Ads

Public Speaking – Mean Girls, Peer Pressure and Whiskey

After discussing privately with a couple of people, my last post in this serial may have been misunderstood, and I wanted to clarify what I meant about the “mean girls” section.

The feedback on the serial has been overwhelmingly positive, which I’m rather happy about. At the same time, I argued that, as a new speaker, you feel peer pressure to conform to events and moments driven by cliques that can form in groups of road-hardened speakers.

It has come to my attention that my post may have suggested two things: that people that are speakers should not meet up with their friends whichever way they see fit at a conference, and that no one forces anyone to go anywhere. If I may, I’d like to clarify both of those points.

Of meeting with friends

It was never my intention to argue, in any way shape or form, that people attending a conference shouldn’t meet with their friends, that happen to be speakers, in whichever environment and formats they desire. It’s a perfectly acceptable use of people’s time, no one should have any say in what speakers do with their free time, and many only get a few opportunities to see one another and want to make the most of it.

At the same time, I feel that we are easily forgetting the user story behind my serial, which focused on introducing new speakers to the world of conferencing: “in order to meet people and feel welcome and involved, as a new speaker, I want to have opportunities to socialise with other speakers and attendees”.

When speakers that already known each other regroup around areas of personal taste, and in the case of whiskey and brews, often passion, they are spending personal time meeting with people they have already met and want to spend time with. When some speakers exclusively attend such old-boys-club, giving no opportunity for others to join in outside of those environments, then we have the problem of any club: If you’re not part of the club, you’re not invited, if you’re not invited you’re not part of the club.

Let me be very clear that a lot of speakers spend much time with people outside of those self-selective processes, but at the same time, no speaker would question facts when I recount the occasions I’ve seen speakers bugger off every night in closed groups, bypass both the speaker dinner and the attendee party, and having no interest and feeling no empathy towards newbies.

Don’t get me wrong, no speaker has any contract with anyone to be there with new speakers. it’s not part of the code of conduct (I’ve already explored how those are not there for that). I personally believe it is part of my moral commitment to bringing new and different people to our events, but I have nothing but an opinion on this, and it is a rule I apply by choice.

Here is my take on this: if we want more diversity and make people feel more welcome, it is partly my responsibility as a speaker to welcome new ones and to spend time with them in whichever format is the most welcoming to them.

On peer pressure

So, not every speaker consider that they have a role that goes beyond give the talk and spend the rest of your time doing your own thing, and that’s fine.

As a new speaker, it can reach the point where, to be with someone you heard about or admire, you have to join-in to events you may not feel comfortable attending, or you are just simply not invited because twitter. This is called peer pressure, involuntary but nevertheless very tangible. A group decide on their own agenda, and you join in to that or you do not join at all.

People that feel they want to spend time with new or unknown speakers will find ways to have both their private moments with friends, and other moments to discover new people. I think that’s a healthy attitude and as close as a win-win as you can get. Others will consider that anything outside of their own plan brings them nothing, and this highly individualistic view excludes many, by its mere existence and lack of empathy.

And this is where peer pressure exists. It’s hidden under the “middle-class straight man entitlement” to doing what they want in their own time with no impact to anyone, and yet many would want to be part of socialising moments but are not given the opportunity. Make them about whiskey, naked women, beer, gay clubs or formula 1, at the exclusion of all others, and with no other time given to other activities, we have made those exclusive, biased, and unwelcoming to those minorities we clamour to join our ranks.

I have been guilty, in many ways, of embracing this system. Yet, I now see many things I wasn’t sensitive to before, and realise that these things happened, and I’m uncomfortable about it. No one forced me to go anywhere, I forced myself, but I wouldn’t have had to if many environments had been more inclusive.

What can we do?

I have nothing against private events and moments from happening at conference. Over the last two years, I’ve grown considerably intolerant of exclusive approaches however. I respect everyone’s right, but i value providing other spaces for all new speakers, and attendees, to get themselves involved, be it that it is your contractual right or your moral commitment.

If we want to make the speaking and tech world more accessible, we have to find a balance between cultivating existing networking and friendships, and helping others come in and break our rules. Equality is not finding minorities at the last moment in your call for speakers, it’s understanding all the existing behaviours we have allowed to develop, and find alternatives. If we can’t do that, we’re not worth the minorities that have avoided joining us for so long.

Ads