Today I’m siting at an internal presentation and we’re discussing how organisations adopt software development frameworks. We’re talking about how it can be useful to start with a framework and to follow it diligently until people feel comfortable. Once you reach that point you can take the “training wheels” of a prescriptive framework off and start changing and adopting to optimise for your particular needs. People suggest that starting with “Scrum by the book”, for example, gets you to a good place from which you can evolve.
Last week at Lean Agile Scotland, together with Seb, we gave a talk called “Your agile is dead” sharing our experience of building a small agile team. The main premise of our talk was that we first threw all the conventional practices out of the window and started from scratch. No planning, no stand-ups, no iterations, no visualisation of work! Sounds crazy, right? Well, we kept some components – a tight feedback loop with honest and thorough retrospectives and some basic engineering practices. We evolved and added more practices as we needed them and reached a pretty good state.
It was our twins’ birthday last weekend. They are turning five and we got them both new bicycles. They had some bicycles before but these are the first proper bikes. Interestingly, one of the bikes had the training wheels on but we didn’t put them on the other one. Sure it was a horrible few minutes trying to ride on a new bike with breaks, pedals, handlebars and no stabilisers (aka training wheels). As to the other bike, the experience was smooth straight away but the stabilisers are limiting and it’s going to be a good few weeks I suspect (or maybe months) before we can take them off the other bike.
What do stabilisers on a bike have to do with software development process then? I think of them a little bit like the support of a fully-formed framework. It can be easy to start with scrum and the ride is smooth but you will never take sharp corners or ride full speed down a hill. Your options are somewhat limited. And when you try to change the rules – it’s painful and sometimes things fall apart.
Does that mean we should put no support in place? Should we throw everyone in the deep end every time? Sure, some will swim, but some will sink.
What can you do to prepare for riding a real bike that doesn’t involve training wheels? You can start with a balance bike. You don’t need to worry about breaks or pedals or steering so much but you get to experience the balance. And balance, it turns out, is the key skill when it comes to riding a bike well.
When learning a new skill or introducing a brand new way of working look for transitions that ease people in but don’t rob them of experiencing the core principles. Make sure that you leave the most fundamental feedback loops in place.
For your cycling skills it is the feedback about how your position and speed affect your balance. Training wheels almost completely remove that feedback. In software development it’s perhaps the feedback about how your interactions as a team of individuals translate into working software. Iterate, reflect, retrospect, adapt. Put boundaries in such a way as not to impede future learning and improvements.
Do you remember the TV ad with a blue and green background and lots of cars falling from the sky? Probably not. Anyway, you shouldn’t mention it to our marketing director either. Three years ago however, this was the only image I associated with comparethemarket.com. This and some eccentric Russian meerkat called Aleksandr. I certainly didn’t think of it as a place for a job in IT and I wasn’t going to take a permanent position anyway. Reluctantly I agreed to a conversation over the phone and unexpectedly got hooked up.
Few interviews later I was ready to claim my own desk in the “Travel” team in a plush new building the company had just moved into a few weeks before I joined. Who knows, the old building might have been enough to put me off. After all the “IT” teams were sitting away from “the business” back there but now was the era of an “agile” revolution.
Revolution or not, a lot was changing at compare the market and I have managed to land right in the middle of the kerfuffle. This has given me an abundant opportunity to do what I love the most – an opportunity to learn.
Today is the time for me to move on to pastures new and reflect on the three years of learning that are behind me. I made a list. It’s a long list; a list of thing I got exposed to, things I dabbled with, experiments I run, mistakes I made, mistakes I avoided, mistakes others made. We’d be here all day so I hand-picked a few, just to give you a flavour.
Ever since I joined we had a strong recruitment drive. There simply never seemed to be enough people around, even though there are many great people here, so we were constantly on the lookout. We still are. This is how I got involved in recruitment. I think I must have done close to a hundred interviews and complained about oodles of poorly written CVs. Sooner or later I hope they will disappear as a recruitment tool and perhaps we’ll replace them with an approach like nujob, which we dabbled in.
I’m glad we acknowledged that finding good candidates requires investment in the local community. Taking the long-term view. So we have run events, we engaged with the local university and even local primary schools! You have to start them young you know. This is how I got to lecture at UCP about TDD and about systemic feedback loops and giving personal feedback. It was really encouraging to see the students get the skills they will use in the real world. This is also how I got to run Code Club at the local primary school. Probably one of the most rewarding experiences recently. To watch a bunch of 9 year olds going from shy interactions with their machines to confidently teaching younger children how to tell the heartless machine to do as they imagined – priceless.
Being part of a community means the local community and also the wider software development community. I was lucky enough to visit and present at quite a few conferences and we sponsored a few events too. Sharing what we learn and looking out for what others are up to is a great way to keep yourself honest. Seeing your colleagues pluck up the courage and speak for the first time in another one of those little gems that keeps your face muscles exercising.
At this point I could tell you about all the ideas, tools, techniques and technologies I got an opportunity to explore and use in anger: CQRS, Event Sourcing, node.js, mongo, RabbitMQ, HAETOS, microservices, ruby, rake, slack, you name. But even if I attempt at any such list it will be dwarfed by what pops up out there. Every. Single. Day. That’s technology, I guess that’s why we’re still here. What I have reasserted is that given deep enough understanding of the fundamentals and an unquenched curiosity we can remain unfazed in the face to the constant technological change (I hesitated to use the word “advance”).
They say opportunities are where you create them and indeed often you can create them in the most unexpected circumstances. Just keep your eyes peeled. One thing you don’t always influence though is the people you get to work with. I was really fortunate in who I have managed to engage with over the last three years. People way more experienced and opinionated, patient and forgiving, famous names in the community and only locally recognised experts. I’m grateful for all of them who were willing to challenge my idea, share better solutions and help me become a better person.
The meerkats, naturally, were ever present and even though we have created so many amusing adverts, this one still remains my personal favourite.
Today is my last day at compare the market. Thank you. I’m expecting new adventures to provide no fewer learning opportunities. After all I’m moving countries. This, however, is a story for another day.
This year at “Spark The Change” London I felt like a veteran. It’s strange as it’s only the second time the conference has been organised. Perhaps it’s the familiar venue (and an excellent one at that) or the familiar faces I remember from last year (even if there were many new faces too) or the general theme of the event that has always been close to my heart.
When the conference was announced I got an email boldly claiming: “So this year […] makes last year look like we were winging it.” A tough job given I still remembered the amazing talk form Dr Paul Thomas, inspiring vision from Tim Harford, and challenging workshop form The SO Team, just to mention the few highlights from last year.
Turns out I really was in for a treat again. From the moment Helen made the first introductions, the first talk by Mark Stevenson (big personal highlight this year for me) to the very few final sounds of the songs we sung together at the last session it was a blast. Yes. We actually sung together. Everyone. And (Nick, can I start a sentence with an “And”?) we sounded rather nice too. Plus I got to write my Bio as a Haiku. Win.
Did I mention Mark Stevenson? I went to his talk on the first day, and to his workshop on the second day and then picked up his book and read it almost on-the-spot. Awash will all the optimism and exciting vision of the future I found this thought from John Seely Brown in the final pages of Mark’s book:
“The real challenge of innovation today is not technological innovation, it’s institutional innovation. We have to start inventing new types of institutions that can stay in step with the information age.”
followed up in his own words:
Hierarchies are on the way out, networks are on the way in. Don’t look to get promoted, look to get distributed – as an individual, as an organisation, as a nation.
Now it all becomes clear, it all begins to take shape. The presentations from W. L. Gore & Associates, Gov.UK, Monmouthshire Children’s Services, Spotify, Propellernet and others were all tangible, specific and encouraging stories of institutions and organisations that are reinventing themselves and the way we do and think about work. They are the real sparks of change that will take us into the 21st century. We need more sparks like this. We need more people understanding the future that’s unfolding in front of our very eyes.
I have no idea how many times I have heard people exhort the virtues of trust in building communities and relationships especially in the context of work and communities of work. This message was particularly poignant and relevant during the Spark The Change conference a few weeks ago. I don’t think there was a single speaker or a single participant who would not agree that trust is essential for the success of any organisation. Usually all agree with that. I do.
I pondered over this topic for a very long time (although I’m sure nowhere near as much as Yves) and I always reach the same conclusion. The espoused value of trust is rarely congruent with behaviours in an organisation. People seem to interpret the meaning of trust in multiple ways and often appear to apply it differently in their personal and professional lives.
Just like Jurgen I have long felt that separating private and professional lives is futile and I feel it’s particularly so when it comes to trust.
Model for Trust.
These days, as the best reference point for trust, respect and fulfilling relationships I use family life. Granted, not everyone might be so lucky as to have great parents, siblings, partner, children, etc… yet I’m sure there is someone out there you feel special about. Someone you don’t even have to consider the issue of trust with.
Next time someone talks about trust, try to apply the measure of that relationship to your current context. I call it “the family test”.
If I want to spend some money from our shared account should I expect to ask permission from the other person every single time? Would the other person expect to be included in a conversation before I buy a new car?
When my partner is planning a night out with her friends should I expect to be asked permission?
When we agree that I do the monthly bills should the other person expect me to fill-in a report every time I do it to make sure I haven’t forgotten?
If I haven’t washed the dishes for a while should I be given an objective to do it more often? Should I track progress with that objective on paper, report weekly and should my partner consult with my mother to validate that I’m doing it right?
When we go away on holiday should we expect to write-up a formal contract and plan in detail exactly how much money we are going to spend, what sites to visit and what food to eat? Do we use a formal appeals policy if one of us doesn’t feel like going out for a pizza one night?
Should my partner approve every single update I’m about to post on Facebook?
I don’t know about you but for me the answer to all of these questions is immediately obvious and I know it’s the same for the other person. These answers demonstrate a natural level of trust we have.
You may have also noticed that some of these may have some sort of equivalent in employees’ relationships. And I wouldn’t be surprised if the answers in these cases would be somewhat different.
Can I spend some of the company money without asking for permission? Could I just buy myself that new mouse I need using a corporate credit card? Would I need someone to sign off the expense?
When I want to go on holiday should I first ask permission from my manager? Do I need to report it in an HR system to make sure I don’t take too much holidays?
I leave the rest as an exercise for you, dear reader. Try it.
Now, you may rightly note there are private, personal things you would happily trust your partner with and would never want to even consider confiding in a colleague.
For everything else this might be a good measure to check how far you are from true trust, how much respect people have for each other, how valuable the relationships are.