<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>hady.geek.nz</title>
        <description>My personal voice and record of thoughts</description>
        <link>http://hady.geek.nz</link>
        <author>
            <name><![CDATA[Hady Osman]]></name>
            <email><![CDATA[hadyos@gmail.com]]></email>
        </author>
        
            <webMaster><![CDATA[hadyos@gmail.com]]></webMaster>
        
        <updated>2020-03-02T23:06:04+13:00</updated>
        <pubDate>2020-03-02T23:06:04+13:00</pubDate>
        <generator uri="http://jekyllrb.com">Jekyll on GitHub Pages</generator>
        <atom:link href="http://hady.geek.nz/feed.xml" rel="self" type="application/rss+xml" />
        
            
            <item>
                <title>Empowering Product Teams</title>
                <description>&lt;p&gt;When working in an organisation that is rapidly growing and developing, it is no longer possible for any
one person to keep a handle on all the things that are taking place. The strategy becomes about setting
a clear course of action for teams, with clear boundaries, and getting people to self organise within and
empowered to deliver things as fast as possible.&lt;/p&gt;

&lt;p&gt;However, for empowered teams to flourish, certain foundations need to be in place for teams to be setup
for success. It is our roles as leaders to guide teams and put in place these foundations along with
creating an environment that grows the expected behaviours we are looking for. Only then do teams start
taking ownership and feeling empowered to do their best work and deliver to their potential.&lt;/p&gt;

&lt;p&gt;In this talk, I shared openly some of the key things we put in place late 2019/20 to turn the ship around
for a team that felt disempowered and lacked in clarity of purpose.&lt;/p&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;iframe src=&quot;https://docs.google.com/presentation/d/15SzJA8mBpkOhvcOw7Ot6CF2s9nscMexeuM7nAP8kTgg/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;569&quot; allowfullscreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
</description>
                <pubDate>2020-02-26T00:00:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/empowering-product-teams/</link>
                <comments>http://hady.geek.nz/blog/speaking/empowering-product-teams/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/empowering-product-teams/</guid>
                
            </item>
            
        
            
            <item>
                <title>Hiring at scale</title>
                <description>&lt;p&gt;You always hear that nothing is more important to a organisation than hiring amazing talent that can bring
all sort of business strategies to life. So how do you attract such talent in to your recruitment pipeline?
And how do you know what to look for and what to ask when you do meet them?&lt;/p&gt;

&lt;p&gt;In 2018, I was given an ambitious objective to hire over 35 engineers in less than 4 months. With a dismal 
record of hiring one person in 8 months in the same year, I was hardly the person to look up to for this task.
However, as engineers, that’s what we do - we solve problems. Could our current hiring processes that were in
place succeeed at attracting the desired target? The answer was an obvious no… something completely different
had to be done.&lt;/p&gt;

&lt;p&gt;And there starts the story of the talk. How hiring at Xero was reimagined completely from scratch with speed, 
diverse hiring and scale taken into account. I share the key insights that fundamentally changed the game for us
and allowed us to attract amazing talent whilst simultaneously raising “the bar”.&lt;/p&gt;

&lt;p&gt;This talk was presented at &lt;a href=&quot;https://www.meetup.com/rewired-powered-by-xero/events/268107073/&quot;&gt;Rewired’s Lunch and Learn&lt;/a&gt; series.&lt;/p&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;iframe src=&quot;https://docs.google.com/presentation/d/1H1VBu7Z01k9APRSq3oiYjO1aB2ddV0Z70ZPINp_E9H4/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;569&quot; allowfullscreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;

</description>
                <pubDate>2020-02-11T00:00:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/hiring-at-scale/</link>
                <comments>http://hady.geek.nz/blog/speaking/hiring-at-scale/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/hiring-at-scale/</guid>
                
            </item>
            
        
            
            <item>
                <title>High Performing Teams</title>
                <description>&lt;p&gt;Many software development teams are formed for extended periods of time and never reach a point were they
are acknowledged by their organisations or even themselves as high performing teams. Yet, when the right
environment is created for a team that can reach that potential, these teams tend to punch above their weight
and deliver value greater than the sum of the individual talent in the team.&lt;/p&gt;

&lt;p&gt;In this talk I explore the philosophies underpinning human motivation that we employ in our teams at Xero 
to build high performing teams. I also share key principles that we work to build in our culture to foster
an environment that taps into the deap-seated desired of our people’s needs to expand on their abilities
and do the best work of their lives in our organisation.&lt;/p&gt;

&lt;p&gt;This talk was presented to a postgrad class on Contemporary Methods in &lt;a href=&quot;https://www.aut.ac.nz/study/study-options/engineering-computer-and-mathematical-sciences/courses/bachelor-of-engineering-honours/software-engineering-major&quot;&gt;Software Engineering at AUT&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;iframe src=&quot;https://docs.google.com/presentation/d/e/2PACX-1vTI93DlsdFn5YVpIUdlNRpU2trXOUEXmaZgbl68Ql07FFm6TDePKORZnKLTGOoVK7x7Zivubb9no3wT/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;569&quot; allowfullscreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;

</description>
                <pubDate>2018-09-26T00:00:00+12:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/high-performing-teams/</link>
                <comments>http://hady.geek.nz/blog/speaking/high-performing-teams/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/high-performing-teams/</guid>
                
            </item>
            
        
            
            <item>
                <title>Testing Microservices - Shedding the monolith mindset</title>
                <description>&lt;p&gt;Microservices are very much in hot trend today with its touted benefits of allowing teams to develop, deploy
and scale business systems independently. Yet when it comes to testing (and developing) microservices, the 
mindset and techniques employed by teams are often still fixated around thinking about them in unison. This 
talk reflects on the challenges of implementing microservices and discuss a spectrum of testing thinking 
to consider.&lt;/p&gt;

&lt;p&gt;This talk was presented at &lt;a href=&quot;https://codecampwellington.nz&quot;&gt;Code Camp Wellington&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;iframe src=&quot;https://docs.google.com/presentation/d/e/2PACX-1vSBkeUmmhWU1LFD_GLoTyWRZckOEJGf-lMmF122UwSZx2jWwn3AzdEJg-kK3kfL-8_DDySFw1vVV28I/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;569&quot; allowfullscreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;

</description>
                <pubDate>2018-04-14T00:00:00+12:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/testing-microservices-monolith-mindset/</link>
                <comments>http://hady.geek.nz/blog/speaking/testing-microservices-monolith-mindset/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/testing-microservices-monolith-mindset/</guid>
                
            </item>
            
        
            
            <item>
                <title>Continuous Delivery - Agile's missing manual</title>
                <description>&lt;p&gt;Traditional agile methods has been fundamental in transforming teams to operate in iterative and incremental ways, 
but what seems to be missing is some clear cut requirements on how software should be released and how frequently. 
Enter Continuous Delivery (CD) - a more prescriptive software engineering approach that enables teams to release 
more frequently into the hands of users, safely, quickly and in a sustainable way.&lt;/p&gt;

&lt;p&gt;In this talk, I will be sharing the drivers that made us consider CD at Xero, and the value that it has brought 
to the business. But implementing CD was not just about the process. So I’ll also cover the culture, practices and 
organizational changes we had to undergo to make deployments a predicable, routine affair that can be performed on 
demand with a warm cup of tea in hand.&lt;/p&gt;

&lt;p&gt;This talk was delivered at the &lt;a href=&quot;https://www.meetup.com/Agile-Auckland/events/243512759/&quot;&gt;Agile Auckland&lt;/a&gt; meetup.&lt;/p&gt;

&lt;h3 id=&quot;video&quot;&gt;Video&lt;/h3&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/3pY4_Gtv8ZY?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;iframe src=&quot;https://docs.google.com/presentation/d/e/2PACX-1vREMz8pdS22S_HZDFmjfcw3kqUdczA6nQg1TAP4MpdlMHyvDCsWPlmdba1forUrkUzxh4Gz0QsI0FCf/embed?start=false&amp;amp;loop=false&amp;amp;delayms=3000&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;569&quot; allowfullscreen=&quot;true&quot; mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;

</description>
                <pubDate>2017-09-27T00:00:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/continuous-delivery-ingredients/</link>
                <comments>http://hady.geek.nz/blog/speaking/continuous-delivery-ingredients/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/continuous-delivery-ingredients/</guid>
                
            </item>
            
        
            
            <item>
                <title>Testing Reconsidered</title>
                <description>&lt;p&gt;This was a talk that I gave at &lt;a href=&quot;https://www.meetup.com/WeTest-Auckland/events/238457709/&quot;&gt;WeTest Auckland&lt;/a&gt; sharing the learnings and insights from a 4 month journey of working on
a microservices project with a continuous delivery pipeline being in the forefront of our thinking from the get go.&lt;/p&gt;

&lt;p&gt;To achieve this utopia, we knew that automated and rigorous testing that gave us absolute confidence in any changes we
were about to push out to real customers was key. We’ve had to challenge the way we think and talk about tests, and most
certainly the way that we write them. More focus on smaller and concise unit tests, integration tests that stop strictly 
short at boundaries, and the eventual blurring of boundaries between the role of a developer and tester.&lt;/p&gt;

&lt;p&gt;In essence, we had to ensure that &lt;strong&gt;all team members&lt;/strong&gt; were responsible for quality.&lt;/p&gt;

&lt;h3 id=&quot;talk-recording&quot;&gt;Talk Recording&lt;/h3&gt;
&lt;div class=&quot;video-wrapper&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ZMfbUPU734w&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;script async=&quot;&quot; class=&quot;speakerdeck-embed&quot; data-id=&quot;d6c4586cf2824589b1b8f13a3a1400b0&quot; data-ratio=&quot;1.77777777777778&quot; src=&quot;//speakerdeck.com/assets/embed.js&quot;&gt;&lt;/script&gt;

</description>
                <pubDate>2017-03-28T00:00:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/testing-reconsidered/</link>
                <comments>http://hady.geek.nz/blog/speaking/testing-reconsidered/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/testing-reconsidered/</guid>
                
            </item>
            
        
            
            <item>
                <title>Pods of Anarachy</title>
                <description>&lt;p&gt;This was a lightning talk that I gave at &lt;a href=&quot;http://www.meetup.com/Agile-Auckland/events/225331714/&quot;&gt;Agile Auckland&lt;/a&gt; about an experiment that we ran at work with self reorganising teams.&lt;/p&gt;

&lt;p&gt;The origin of the experiment started when we had two development teams that lacked enough people with a demanding backlog and a third team that didn’t have suitable work to fit their capability. After giving up on manually solving the problem by changing the team makeup behind closed doors, we opted to throw the problem back at all three teams to work out the best way to deliver the work.&lt;/p&gt;

&lt;p&gt;The talk covers the initial problem statement in detail and walksthrough how we conducted the self organisation exercise.&lt;/p&gt;

&lt;h3 id=&quot;slides&quot;&gt;Slides&lt;/h3&gt;
&lt;script async=&quot;&quot; class=&quot;speakerdeck-embed&quot; data-id=&quot;1ccebfa49f9b4a3cbaefb26cb492f505&quot; data-ratio=&quot;1.77777777777778&quot; src=&quot;//speakerdeck.com/assets/embed.js&quot;&gt;&lt;/script&gt;

</description>
                <pubDate>2015-09-24T00:00:00+12:00</pubDate>
                <link>http://hady.geek.nz/blog/speaking/pods-of-anarchy/</link>
                <comments>http://hady.geek.nz/blog/speaking/pods-of-anarchy/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/speaking/pods-of-anarchy/</guid>
                
            </item>
            
        
            
            <item>
                <title>Clean install Windows 10 on Surface Pro 3</title>
                <description>&lt;p&gt;So Windows 10 has just been released to the masses with a promise to undo all the problems that plagued its predecessor - 
Windows 8.&lt;/p&gt;

&lt;p&gt;Being a tech enthusiast living on the bleeding edge, my dad wanted to do a clean install of Windows 10 on his Surface Pro 3
instead of upgrading from his current version of Windows 8.1. This simple task ended up frustrating the both of us because
of the various hoops that we had to solve on the way.&lt;/p&gt;

&lt;p&gt;To summarise, the main challenges were:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Surface can only boot from a USB that is formatted with FAT32&lt;/li&gt;
  &lt;li&gt;The downloaded Windows 10 ISO file (downloaded via Microsoft’s &lt;a href=&quot;http://windows.microsoft.com/en-us/windows-10/media-creation-tool-install&quot;&gt;media creation tool&lt;/a&gt;) is only compatible with a NTFS formatted
USB drive by most ISO-to-USB tools&lt;/li&gt;
  &lt;li&gt;Knowing how to force a Surface to boot from USB&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Having eventually been successful in the clean install, here is a walkthrough of what we ended up doing:&lt;/p&gt;

&lt;h3 id=&quot;step-1-download-windows-10-iso&quot;&gt;Step 1: Download Windows 10 ISO&lt;/h3&gt;
&lt;p&gt;Using the &lt;a href=&quot;http://windows.microsoft.com/en-us/windows-10/media-creation-tool-install&quot;&gt;media creation tool&lt;/a&gt;, choose to download Windows 10 to an ISO file instead of running an immediate upgrade.&lt;/p&gt;

&lt;h3 id=&quot;step-2-extract-iso-to-usb&quot;&gt;Step 2: Extract ISO to USB&lt;/h3&gt;
&lt;p&gt;Creating a bootable USB drive from the downloaded Windows 10 ISO using a tool such as &lt;a href=&quot;https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool&quot;&gt;Windows 7 USB DVD Download Tool&lt;/a&gt;
will not work out of the box. That’s because the tool ends up (&lt;em&gt;always&lt;/em&gt;) creating a bootable USB drive formatted with NTFS 
which is not compatible with the Surface Pro that expects a UEFI boot device; i.e. one that is formatted with FAT32 and not 
NTFS.&lt;/p&gt;

&lt;p&gt;The workaround that ended up working for us is manually extracting the ISO to a USB that is formatted with FAT32.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Format a USB drive with FAT32&lt;/li&gt;
  &lt;li&gt;Mount the Windows 10 ISO file or manually extract the file to disk&lt;/li&gt;
  &lt;li&gt;Manually copy the extracted ISO files to the USB drive&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;step-3-disable-bitlocker-drive-encryption&quot;&gt;Step 3: Disable BitLocker drive encryption&lt;/h3&gt;
&lt;p&gt;Attempting to format your primary drive and do a clean install when running on Windows 7/8/10 can frequently fail because
the latter encrypts your drive by default with BitLocker encryption for additional security. So you will need to check
and disable BitLocker for your drive if its turned on.&lt;/p&gt;

&lt;p&gt;To decrypt your primary drive and all your files, goto “Control Panel &amp;gt; System and Security &amp;gt; BitLocker Drive Encryption” 
and choose to “Turn off BitLocker”. This process could very well take a good 5 to 10 minutes.&lt;/p&gt;

&lt;h3 id=&quot;step-4-booting-surface-from-usb&quot;&gt;Step 4: Booting Surface from USB&lt;/h3&gt;
&lt;p&gt;Now that you have a bootable Windows 10 USB drive formatted with FAT32, your last step is to boot your Surface from USB
and go through the standard Windows setup installation.&lt;/p&gt;

&lt;p&gt;As per &lt;a href=&quot;https://www.microsoft.com/surface/en-nz/support/storage-files-and-folders/boot-surface-from-usb-recovery-device&quot;&gt;Microsoft’s instructions&lt;/a&gt;, to start the Surface from a USB drive follow the following steps:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Insert a Windows 10 bootable USB drive into the USB port on your Surface&lt;/li&gt;
  &lt;li&gt;Press and hold the volume-down button&lt;/li&gt;
  &lt;li&gt;Press and release the power button&lt;/li&gt;
  &lt;li&gt;When the Surface logo appears, release the volume-down button&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Surface should boot Windows 10 installation from your USB drive and hopefully you are now well on your way to start 
clean installation of this fantastic OS that is apparently the &lt;a href=&quot;http://www.theverge.com/2015/5/7/8568473/windows-10-last-version-of-windows&quot;&gt;last of its kind&lt;/a&gt;.&lt;/p&gt;

</description>
                <pubDate>2015-08-11T21:45:00+12:00</pubDate>
                <link>http://hady.geek.nz/blog/clean-install-windows10-surface-pro-3/</link>
                <comments>http://hady.geek.nz/blog/clean-install-windows10-surface-pro-3/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/clean-install-windows10-surface-pro-3/</guid>
                
            </item>
            
        
            
            <item>
                <title>Swapping Git protocol on the fly</title>
                <description>&lt;p&gt;Quite often many of us are working on Git in our offices and are behind our corporate firewall which
messes with our ability to fetch public and privately shared Git repositories.&lt;/p&gt;

&lt;p&gt;I’ve run in this scenario this week and it is incredibly frustrating. For some reason, whenever I was
doing a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bower install&lt;/code&gt; inside a local Git repository I was getting the following &lt;em&gt;intermittent&lt;/em&gt; error:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;fatal: unable to connect to github.xxx.com:
github.xxx.com[0: XXX.XX.XXX.XXX]: &lt;span class=&quot;nv&quot;&gt;errno&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;Operation timed out&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;This issue was sporadic and hence very hard to tie down by myself or internal IT. Anyway, surely life
cannot always suck and there are workarounds?&lt;/p&gt;

&lt;p&gt;Turns out when in doubt with Git, cloning via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https&lt;/code&gt; is usually your best bet because it will very rarely
if ever be blocked by your corporate firewall.&lt;/p&gt;

&lt;p&gt;Not wanting to change my project’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bower.json&lt;/code&gt; which is using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git://&lt;/code&gt;, the following command line allowed
me to change the protocol to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://&lt;/code&gt; on the fly either globally or against a local repository.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# Global&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git config &lt;span class=&quot;nt&quot;&gt;--global&lt;/span&gt; url.&lt;span class=&quot;s2&quot;&gt;&quot;https://&quot;&lt;/span&gt;.insteadOf git://

&lt;span class=&quot;c&quot;&gt;# Non-Global (for current repository only)&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git config url.&lt;span class=&quot;s2&quot;&gt;&quot;https://&quot;&lt;/span&gt;.insteadOf git://&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

</description>
                <pubDate>2014-12-17T11:04:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/replace-git-protocol-on-the-fly/</link>
                <comments>http://hady.geek.nz/blog/replace-git-protocol-on-the-fly/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/replace-git-protocol-on-the-fly/</guid>
                
            </item>
            
        
            
            <item>
                <title>Lean Coffee - The mini-unconference</title>
                <description>&lt;p&gt;I’ve attended and chaired my fair share of meetings throughout my many years of professional and community project 
work. It was perfectly normal to walk out of many of those thinking — “that’s two hours of my life I won’t be getting
back!”. Having meetings hijacked by a select loud few, or well understood and agreed points repeated over and over
again was nothing surprising - that’s just a reflection on how diverse we are as people and the general nature of meetings… 
and we all accept it, right?&lt;/p&gt;

&lt;p&gt;Well, in a casual brown-bag seminar yesterday at @Xero about Agile methodology, I was introduced by @RSWH66, our Agile 
coach crusader, to &lt;strong&gt;Lean Coffee&lt;/strong&gt; — an alternative meeting facilitation technique like none that I’ve attended 
before.&lt;/p&gt;

&lt;p class=&quot;alert alert-warning&quot;&gt;To skip to learning how to conduct a Lean Coffee meeting &lt;a href=&quot;#how-it-works&quot;&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;so-whats-lean-coffee&quot;&gt;So… what’s Lean Coffee?&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://leancoffee.org&quot;&gt;Lean Coffee&lt;/a&gt; is a structured, but agenda-less, meeting facilitation technique that encourages 
and &lt;em&gt;ensures&lt;/em&gt; an open and focused conversation amongst people in a democratic manner. It does so by:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Allowing participants to agree at the start of the meeting on the topics to be discussed and their order in an 
informal setting — &lt;strong&gt;Open&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Timeboxing each topic being discussed — &lt;strong&gt;Focus&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Allowing participants to vote on whether to continue or move on from the current topic based on
how they think the conversation is flowing — &lt;strong&gt;Democratic&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;what-problem-does-it-solve&quot;&gt;What problem does it solve?&lt;/h2&gt;
&lt;p&gt;People attend meetings to converse and discuss topics at hand with the purpose of learning or reaching an agreement.
However, many good meetings often miss their mark and become a monotonous drag when it is dominated by a select
few people, coming in with bias via their assumptions and past experiences. You know off the mark that such a setting
cannot easily foster much learning and discovery.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When you are familiar with something, you take it for granted. You aren’t critical of it and so you tend to blast 
  right through it. Just consider what happens when we call a meeting. Are we looking for what we are already familiar 
  with? Are we basing the meeting on our assumptions and expectations that come from past experiences?
&lt;cite&gt;Jim and Tonianne, &lt;em&gt;&lt;a href=&quot;http://bit.ly/10lddba&quot;&gt;Democratize Meetings with Personal Kanban&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Meetings with agendas set in stone also inhibit the free flow of information because of the bias in controlled
conversation. What if some of the attendees value the importance of other topics differently than you? What if 
the list and order of topics are set to fulfill political protocol instead of being hard hitting and cutting
to the chase of the things that really matter? Furthermore, what is the chance in today’s ever so changing world 
that the agenda sent early in advance still holds true when the time for the meeting commences?&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When you set an agenda, you control the conversation. In essence, you define your own road. When you control 
the agenda, you control the lessons learned. Since we enter a meeting with only our assumptions to guide us, 
agendas follow our assumptions. Our assumptions are based on what we already know. But what about the things we 
don’t know?
&lt;cite&gt;Jim and Tonianne, &lt;em&gt;&lt;a href=&quot;http://bit.ly/10lddba&quot;&gt;Democratize Meetings with Personal Kanban&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Also depending on the cultural context of some societies, it can be rude or difficult to limit the time being
consumed by individuals who are holding the floor or are thinking that they are adding a lot of value with 
what they are saying when they are not.&lt;/p&gt;

&lt;p&gt;The driving principles behind Lean Coffee were spawned from these challenges and addresses them in a fun and efficient 
manner with benefit to the majority first and foremost.&lt;/p&gt;

&lt;h2 id=&quot;when-is-it-applicable&quot;&gt;When is it applicable?&lt;/h2&gt;
&lt;p&gt;Like any tool in life, Lean Coffee is a technique that is better suited to certain types of meetings. For example,
you would not want to use Lean Coffee in a decision making meeting that expects actions as outcomes. Instead, you can 
use it as an informal session to discuss:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Shared experiences on common themes amongst participants&lt;/li&gt;
  &lt;li&gt;Ideas on becoming more efficient and effective&lt;/li&gt;
  &lt;li&gt;Thoughts on improving processes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;how-it-works&quot;&gt;How it works&lt;/h2&gt;

&lt;h4 id=&quot;step-1-topic-suggestions-2-3-min&quot;&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Topic suggestions (2-3 min)&lt;/h4&gt;
&lt;p&gt;Participants suggest the topics they want to talk or hear about by writing the topic title on a Post-it note and 
sticking it on a wall or desk. Each sticky note must have only one topic written on it. Attendees can put up as 
many topic suggestions as they want; although depending on the time available the facilitator can introduce limits.
The purpose of this exercise to mine out as many ideas as possible that relate to the purpose or theme of the
meeting.&lt;/p&gt;

&lt;h4 id=&quot;step-2-voting-2-3-votes-each-1-min&quot;&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Voting (2-3 votes each, 1 min)&lt;/h4&gt;
&lt;p&gt;Each participant is given two or three votes. Voting is done by marking a dot on a sticky note. Participants can
choose to use all their votes on one topic or spread them around on more than one that interests them.&lt;/p&gt;

&lt;h4 id=&quot;step-3-set-the-agenda&quot;&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Set the Agenda&lt;/h4&gt;
&lt;p&gt;Votes are tallied and topics are ordered on the wall/desk. Success - you’ve guided the participants to come up with
their &lt;strong&gt;own&lt;/strong&gt; agenda!&lt;/p&gt;

&lt;h4 id=&quot;step-4-discussion-starts-7-min&quot;&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Discussion starts (7 min)&lt;/h4&gt;
&lt;p&gt;The first topic in the agenda is discussed by all participants and is &lt;strong&gt;timeboxed to 7 minutes only&lt;/strong&gt;. Once the time
runs out the discussion &lt;strong&gt;stops&lt;/strong&gt;. It is very important for the facilitator to enforce this rule no matter how
exciting the conversation was or even if someone was in mid-sentence.&lt;/p&gt;

&lt;h4 id=&quot;step-5-roman-vote&quot;&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Roman Vote&lt;/h4&gt;
&lt;p&gt;The facilitator asks for a &lt;a href=&quot;http://en.wikipedia.org/wiki/Thumbs_signal&quot;&gt;roman vote&lt;/a&gt; from all participants on whether
they like the flow of the current conversation and would like to continue, or if they are ready to skip to the next
topic:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Thumbs Up = Keep going&lt;/li&gt;
  &lt;li&gt;Thumbs Down = Next topic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a topic discussion is voted to continue, then the discussion time is extended for a further &lt;strong&gt;3 minutes&lt;/strong&gt; before
the facilitator asks for another round of voting. A topic can only be extended for discussion a &lt;strong&gt;maximum of three
times&lt;/strong&gt;.&lt;/p&gt;

&lt;h4 id=&quot;step-6-repeat&quot;&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Repeat&lt;/h4&gt;
&lt;p&gt;The process of discussion and voting keeps continuing until all the topics are discussed or the meeting time runs out.&lt;/p&gt;

&lt;h4 id=&quot;step-7-wrap-up&quot;&gt;&lt;strong&gt;Step 7:&lt;/strong&gt; Wrap-up&lt;/h4&gt;
&lt;p&gt;Once the meeting is out of time, the participants round in a circle summarising their 1-2 takeaways from the discussion.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;And there you have it! All attendees bring themselves in order and discuss the topics that matters to them the most 
whilst constantly receiving rapid feedback from each other. The result is a highly engaging meeting that is relevant
to everyone attending without any hijacking or hidden agendas.&lt;/p&gt;

&lt;p&gt;As I said above, I’ve only tried this framework once so far, but I am looking forward to bring it into more 
meetings that I attend to which is after facilitating free flowing conversation with the purpose of learning.&lt;/p&gt;
</description>
                <pubDate>2014-10-01T22:22:00+13:00</pubDate>
                <link>http://hady.geek.nz/blog/lean-coffee-unconference/</link>
                <comments>http://hady.geek.nz/blog/lean-coffee-unconference/#disqus_thread</comments>
                <guid isPermaLink="true">http://hady.geek.nz/blog/lean-coffee-unconference/</guid>
                
                    <category>agile</category>
                
            </item>
            
        
    </channel>
</rss>