Round-table discussions can be a really useful way to discover and share direct experience with peers and colleagues. A good round-table discussion is quietly facilitated by someone who knows the subject matter enough to include interesting questions and can ensure that everyone has a voice.
Here is what I have learnt from facilitating round-table discussions and watching others, too.
understand the participants
understand and prepare the topic under discussion
remember: this is not your platform
encourage quieter people
nudge the discussion to ensure all points are covered
The rest of this post goes into more detail on these points.
I founded and helped to run the first PIPELINE Conference in 2014 and I have been part of the team that has run 5 of these events to date. Here are my thoughts on how to run a good tech conference based on my experience with PIPELINE and with other events I have attended and spoken at.
Since 2012 I have been running several meetups and conferences with a technology focus: London Continuous Delivery meetup group (2500+ members with around 80 different speakers in total), PIPELINE Conference (5 events since 2014 with around 50 different speakers), CodeMill digital skills meetup, and Assembly Conference. I have been keen to attract and promote a diverse range of speakers and attendees to all these events, and I think (with help from amazing team members) we have been fairly successful in promoting diversity in these tech events.
Much of this diversity improvement has been focused on encouraging more women to speak and attend, but of course there is more to diversity than just gender; recently, I have tried to address other aspects too, including ethnic background, social class, and also personality “type” (particularly more introverted people).
Set up the organisation to ‘sense’ its environment
Treat internal teams (almost) as external providers
Conway’s Law should shape our organisation design
Promise Theory is a useful approach to organisational agility
I have been doing quite a bit of work recently with various organisations to help them develop new capabilities for building and evolving software-rich services. Part of this work involves thinking about the responsibilities of different teams and how these evolve. This blog post captures some thoughts and links on how the more successful organisations arrange themselves for agility and responsiveness.
Summary: many people confuse continuous deployment (pushing changes to live systems many times per day) with Continuous Delivery (reliable software releases through build, test, and deployment automation). Here is why I think that Continuous Delivery is the more fundamental practice.
(Update 1, 2017-11-02: clarified ‘continuous deployment’ and the on-premises context)