{"id":236,"date":"2019-06-27T19:25:45","date_gmt":"2019-06-27T19:25:45","guid":{"rendered":"http:\/\/yer.ac\/blog\/?p=236"},"modified":"2019-06-27T20:01:00","modified_gmt":"2019-06-27T20:01:00","slug":"level-up-retrospectives","status":"publish","type":"post","link":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/","title":{"rendered":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!)."},"content":{"rendered":"\n<p> You can also view this post on:  <a href=\"https:\/\/dev.to\/wabbbit\">https:\/\/dev.to\/wabbbit<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"649\" data-attachment-id=\"212\" data-permalink=\"https:\/\/yer.ac\/blog\/349mrs1\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?fit=500%2C649&amp;ssl=1\" data-orig-size=\"500,649\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"349mrs[1]\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?fit=500%2C649&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?resize=500%2C649\" alt=\"\" class=\"wp-image-212\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?resize=231%2C300&amp;ssl=1 231w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n\n<p> Regardless of which Agile methodology you use to deliver your software &#8211; <em>You are using one, right<\/em>?, retrospective is one of the most important meetings you can have. Sadly, it&#8217;s one of those meetings that can turn into an unstructured nightmare, and if you aren&#8217;t getting anything out of it, what is the point? This is a quick 5-min guide of leveling up your retrospective, or convincing you if you don&#8217;t already run one. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is the retrospective for? Why should I run one?<\/h2>\n\n\n\n<p>By definition, a retrospective is a look into the past. In this context it is a chance for the team to get together at the end of a sprint\/milestone and discuss what did and didn&#8217;t go well, and more importantly what can be done to improve. It should give the <em>entire<\/em> team a chance to voice their opinions in a safe space, and provide honest feedback that can be used to improve future iterations\/sprints. <\/p>\n\n\n\n<p><strong>TL;DR: The aim of retrospective is to identify incremental improvements to make the next iteration\/sprint better than the last.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quick fact-sheet<\/h3>\n\n\n\n<p><strong>Who runs it?:<\/strong> Arguably the meeting should be ran by the Team leader\/Scrum master etc. However it can be ran by anybody as it is an open discussion owned by the entire team. Ideally one person should take ownership though to ensure the meeting stays focused and to track any outcomes.<\/p>\n\n\n\n<p><strong>Who attends:<\/strong> The retrospective should be attended by the entire delivery team. Business analysts, developers, testers, project managers, product owners etc. Anybody that was <strong><em>directly<\/em><\/strong> involved in the delivery of items. This meeting is not for the wider community such as stakeholders as this often limits honesty.<\/p>\n\n\n\n<p><strong>When is it ran:<\/strong>: The retrospective should be ran at the start of the iteration &#8211; looking back at the previous iteration. Typically this would be ran after any sprint-review\/show &amp; tell meeting and the stakeholders have left the room.<\/p>\n\n\n\n<p><strong>How long should it be:<\/strong> Keep it focused! 5 minutes per attendee. In an &#8220;ideal-size&#8221; SCRUM team this shouldn&#8217;t be more than 30-45 minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An effective retrospective template<\/h2>\n\n\n\n<p>We have trialed many different approaches over the years for our retrospective. The theme has always been the same with the focus being on what went well, what didn&#8217;t and what could we change.<\/p>\n\n\n\n<p>Lately we introduced a new template as retrospectives were becoming slightly unfocused talking-shops and although solid actions were coming out of them, people seemed hesitant to self-judge unless prompted.<\/p>\n\n\n\n<p>Before this we also used the &#8220;Traffic light method&#8221;, also known as &#8220;Start, Stop, Continue&#8221;. My issue with SSC is that it has the potential to derail quicker and doesn&#8217;t feel as focused. SSC can also sometimes become dominated by one or two people and I felt that I was excluding people at times. That is why I like the 4 question method.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The 4(<em>ish<\/em>) question method<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"683\" data-attachment-id=\"215\" data-permalink=\"https:\/\/yer.ac\/blog\/image-3-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?fit=1010%2C683&amp;ssl=1\" data-orig-size=\"1010,683\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?fit=700%2C473&amp;ssl=1\" src=\"https:\/\/i1.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?fit=700%2C473\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?w=1010&amp;ssl=1 1010w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?resize=300%2C203&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?resize=768%2C519&amp;ssl=1 768w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-3.png?resize=700%2C473&amp;ssl=1 700w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Part 1: Questions for each team member<\/h4>\n\n\n\n<p>Go around the table, each person answering the following 4 focuses. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> <strong>What was a&nbsp;success&nbsp;for you this iteration? <\/strong><ul><li> For example: a particular piece of work they were proud of, a bug they resolved quickly, etc. This is important as it allows the team member to show-off or gloat a little. If you don&#8217;t let people discuss success, they won&#8217;t want to talk about failure! <\/li><\/ul><\/li><li> <strong>What was a&nbsp;failure&nbsp;for you this <\/strong>iteration,and&nbsp;<strong>why<\/strong>?&nbsp;Could it have been avoided? <ul><li> For example: &#8220;Not completing agreed work, because of X&#8221;, or &#8220;spending more time than they thought on Y&#8221;.&nbsp;<br>They should know why this happened and ideally what we could do to stop it happening again. <\/li><\/ul><\/li><li><strong> If you could have changed one thing about the last iteration, what would it be? <\/strong><ul><li> For example: &#8220;Break down work items sooner&#8221;, &#8220;Spend less time in meetings&#8221; <\/li><\/ul><\/li><li><strong> Did you learn anything?<\/strong> <ul><li> Important as you want your team members to grow. Whether that is technical knowledge or product knowledge. <\/li><\/ul><\/li><\/ul>\n\n\n\n<p>The answers should be simple one liners, and may prompt discussion among the group. For example, let&#8217;s say somebody says they felt one failure of the iteration was that they couldn&#8217;t complete a piece of work as the requirements changed last minute. You could ask why that happened and what we could do it mitigate this in the future.<br> <strong>Keep any follow up discussions short and concise<\/strong>. It&#8217;s very easy for someone to &#8220;go down the rabbit hole&#8221;. Take any discussion that will take longer than a couple of minutes offline or come back to them at the end. You don&#8217;t want to chew through all your time on one person, after all!<\/p>\n\n\n\n<p> The person running the session should capture all the failures and changes. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Example:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li> What was a&nbsp;<strong>success<\/strong>&nbsp;for you this iteration? <ul><li>  A success for me this sprint is that we resolved a critical priority item well within the SLA and had a happy client with positive feedback. <\/li><\/ul><\/li><li> What was a&nbsp;<strong>failure<\/strong>&nbsp;for you this iteration,and&nbsp;<strong>why<\/strong>?&nbsp;Could it have been avoided? <ul><li> <strong>what:<\/strong>&nbsp;A failure for me this sprint I couldn&#8217;t get my changes into the test environment quick enough due to lack of Change Control resource.<br><strong>why:<\/strong>&nbsp;Change Control staff were not available at short notice.<br><strong>action<\/strong>&nbsp;We should schedule in resource capacity at the start of a sprint. <\/li><\/ul><\/li><li> If you could have changed one thing about the last iteration, what would it be? <ul><li> n\/a <\/li><\/ul><\/li><li> Did you learn anything? <ul><li> I learned how {{some component}} worked. <\/li><\/ul><\/li><\/ul>\n\n\n\n<p>This may have prompted discussion about how we need to think about how we deploy changes via another department and an action would be that we will do some up-front scheduling.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Part 2: Take action!<\/h4>\n\n\n\n<p>This whole process is pointless if nobody is taking any actions off the back  of this session!<br>\nIn part 1, the person leading the session should have taken notes of all the potential actions.<\/p>\n\n\n\n<p>The session lead should quickly iterate over the actions captured and as a team decide;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Is this something that we should do immediately, or place in the backlog?<\/li><li>Who is taking ownership for this action?<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Part 3: Coffee.<\/h4>\n\n\n\n<p>You deserved it, go you!<\/p>\n\n\n\n<p>Although, there is no such thing as a free coffee. The actual 3rd item is to <strong>follow up on actions<\/strong>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Issues you may run into:<\/h2>\n\n\n\n<p><strong>People don&#8217;t want to talk about failure<\/strong>: Perhaps people feel like they are being judged. To combat this, really focus on the success of the sprint as the main talking point &amp; promote an open\/safe environment. If individuals don&#8217;t want to open up, the session-lead could drive an open conversation &#8211; i.e. &#8220;Why do you think we (as a team) didn&#8217;t achieve X&#8221;<\/p>\n\n\n\n<p><strong>Hostility<\/strong>: Make sure any feedback is constructive and blame free. Never attribute failure to another team member. Always use &#8220;we&#8221; never &#8220;you&#8221;. Promote collective ownership!<\/p>\n\n\n\n<p><strong>Lack of interaction<\/strong> Some people are introverts and may not want to join open discussion. If this is an issue, suggest people write the answers on post-it notes and have the session primarily led by the team-lead (Collating and discussing). Still give them the option to share or change their answers within the session.<\/p>\n\n\n\n<p><strong>Turning into a moan-fest<\/strong>. This one is really easy to slip into. To avoid this, promote constructive discussion. Ensure actions are being followed up or people may not take the meeting seriously and just use it as an opportunity to vent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Retrospective your retrospective<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"490\" height=\"315\" data-attachment-id=\"211\" data-permalink=\"https:\/\/yer.ac\/blog\/image-2-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-2.png?fit=490%2C315&amp;ssl=1\" data-orig-size=\"490,315\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-2.png?fit=490%2C315&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-2.png?resize=490%2C315\" alt=\"Yo dawg. I heard you like retrospectives.\" class=\"wp-image-211\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-2.png?w=490&amp;ssl=1 490w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image-2.png?resize=300%2C193&amp;ssl=1 300w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><\/figure><\/div>\n\n\n\n<p>There is no &#8220;best&#8221; way to run a retrospective session. Every team is different and sometimes you may find the format doesn&#8217;t work with the people that are attending. If it isn&#8217;t working for you, don&#8217;t abandon it, adapt it! YMMV.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can also view this post on: https:\/\/dev.to\/wabbbit Regardless of which Agile methodology you use to deliver your software &#8211; You are using one, right?, retrospective is one of the most important meetings you can have. Sadly, it&#8217;s one of those meetings that can turn into an unstructured nightmare, and if you aren&#8217;t getting anything &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[24],"tags":[25,5,27],"class_list":["post-236","post","type-post","status-publish","format-standard","hentry","category-productivity","tag-agile","tag-continuousimprovement","tag-scrum"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -<\/title>\n<meta name=\"description\" content=\"Running an effective sprint retrospective\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -\" \/>\n<meta property=\"og:description\" content=\"Running an effective sprint retrospective\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/\" \/>\n<meta property=\"og:site_name\" content=\"yer.ac | Adventures of a developer, and other things.\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-27T19:25:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-06-27T20:01:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg\" \/>\n<meta name=\"author\" content=\"yer.ac\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"yer.ac\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/\"},\"author\":{\"name\":\"yer.ac\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"headline\":\"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!).\",\"datePublished\":\"2019-06-27T19:25:45+00:00\",\"dateModified\":\"2019-06-27T20:01:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/\"},\"wordCount\":1317,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"image\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/349mrs1.jpg\",\"keywords\":[\"agile\",\"ContinuousImprovement\",\"SCRUM\"],\"articleSection\":[\"Productivity\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/\",\"url\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/\",\"name\":\"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/349mrs1.jpg\",\"datePublished\":\"2019-06-27T19:25:45+00:00\",\"dateModified\":\"2019-06-27T20:01:00+00:00\",\"description\":\"Running an effective sprint retrospective\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/349mrs1.jpg?fit=500%2C649&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/349mrs1.jpg?fit=500%2C649&ssl=1\",\"width\":500,\"height\":649},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2019\\\/06\\\/27\\\/level-up-retrospectives\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yer.ac\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!).\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/yer.ac\\\/blog\\\/\",\"name\":\"yer.ac | Adventures of a developer, and other things.\",\"description\":\"Blog to keep track of things I am upto\",\"publisher\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/yer.ac\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\",\"name\":\"yer.ac\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"caption\":\"yer.ac\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -","description":"Running an effective sprint retrospective","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -","og_description":"Running an effective sprint retrospective","og_url":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/","og_site_name":"yer.ac | Adventures of a developer, and other things.","article_published_time":"2019-06-27T19:25:45+00:00","article_modified_time":"2019-06-27T20:01:00+00:00","og_image":[{"url":"http:\/\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg","type":"","width":"","height":""}],"author":"yer.ac","twitter_card":"summary_large_image","twitter_misc":{"Written by":"yer.ac","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#article","isPartOf":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/"},"author":{"name":"yer.ac","@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"headline":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!).","datePublished":"2019-06-27T19:25:45+00:00","dateModified":"2019-06-27T20:01:00+00:00","mainEntityOfPage":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/"},"wordCount":1317,"commentCount":0,"publisher":{"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"image":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#primaryimage"},"thumbnailUrl":"http:\/\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg","keywords":["agile","ContinuousImprovement","SCRUM"],"articleSection":["Productivity"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/","url":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/","name":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!). -","isPartOf":{"@id":"https:\/\/yer.ac\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#primaryimage"},"image":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#primaryimage"},"thumbnailUrl":"http:\/\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg","datePublished":"2019-06-27T19:25:45+00:00","dateModified":"2019-06-27T20:01:00+00:00","description":"Running an effective sprint retrospective","breadcrumb":{"@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#primaryimage","url":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?fit=500%2C649&ssl=1","contentUrl":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/349mrs1.jpg?fit=500%2C649&ssl=1","width":500,"height":649},{"@type":"BreadcrumbList","@id":"https:\/\/yer.ac\/blog\/2019\/06\/27\/level-up-retrospectives\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yer.ac\/blog\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udc46Level up\ud83d\udc46 your retrospectives! (and why you should run one!)."}]},{"@type":"WebSite","@id":"https:\/\/yer.ac\/blog\/#website","url":"https:\/\/yer.ac\/blog\/","name":"yer.ac | Adventures of a developer, and other things.","description":"Blog to keep track of things I am upto","publisher":{"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yer.ac\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d","name":"yer.ac","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","caption":"yer.ac"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paP5IW-3O","jetpack-related-posts":[{"id":489,"url":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","url_meta":{"origin":236,"position":0},"title":"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)","author":"yer.ac","date":"April 22, 2021","format":false,"excerpt":"Whilst it's not a certainty that data will removed from the web, it does happen (See \/r\/datahoarder and \/r\/lostmedia). As I get all my podcasts through Spotify these days I have no control if they suddenly pull their account, or stop the show. There are also other use cases, like\u2026","rel":"","context":"In &quot;Home Networking&quot;","block_context":{"text":"Home Networking","link":"https:\/\/yer.ac\/blog\/category\/home-networking-2\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":362,"url":"https:\/\/yer.ac\/blog\/2020\/02\/07\/%e2%9a%a1lightning-fast-testing-of-web-applications-with-cypress\/","url_meta":{"origin":236,"position":1},"title":"\u26a1lightning-fast testing of web applications with Cypress","author":"yer.ac","date":"February 7, 2020","format":false,"excerpt":"Cypress (Cypress.io) is an automation framework for web app testing built and configured with Javascript. Automated front-end testing is definitely not new, but Cypress really is something different. It's silly fast, requires almost no setup, has quick-to-learn syntax and has a really nice, feature packed test runner. Why Cypress? I'll\u2026","rel":"","context":"In &quot;Testing&quot;","block_context":{"text":"Testing","link":"https:\/\/yer.ac\/blog\/category\/testing\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/02\/image-6.png?fit=1089%2C402&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/02\/image-6.png?fit=1089%2C402&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/02\/image-6.png?fit=1089%2C402&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/02\/image-6.png?fit=1089%2C402&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/02\/image-6.png?fit=1089%2C402&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":181,"url":"https:\/\/yer.ac\/blog\/2019\/06\/21\/using-time-tracking-software-to-your-advantage\/","url_meta":{"origin":236,"position":2},"title":"Using time tracking software to your advantage.","author":"yer.ac","date":"June 21, 2019","format":false,"excerpt":"Ugh, Time tracking! People often convulse when hearing \"Time tracking\" in a work context. Although some companies use this to ensure their pesky workers aren't having any downtime and are constantly little cash cows, I believe it can be used for good and more importantly boost your own productivity. Why\u2026","rel":"","context":"In &quot;Productivity&quot;","block_context":{"text":"Productivity","link":"https:\/\/yer.ac\/blog\/category\/productivity\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":315,"url":"https:\/\/yer.ac\/blog\/2019\/10\/16\/ensuring-dotnet-test-trx-coverage-files-end-up-in-sonarqube\/","url_meta":{"origin":236,"position":3},"title":"Ensuring &#8220;dotnet test&#8221; TRX &#038; Coverage files end up in SonarQube","author":"yer.ac","date":"October 16, 2019","format":false,"excerpt":"I have written before about using SonarQube to do static analysis, but one issue I never came back to was ensuring that code coverage files generated via a build pipeline end up being picked up by the Sonar Scanner to assess code coverage. Note that the following I am actually\u2026","rel":"","context":"In &quot;DevOps&quot;","block_context":{"text":"DevOps","link":"https:\/\/yer.ac\/blog\/category\/devops\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/10\/image.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":337,"url":"https:\/\/yer.ac\/blog\/2019\/11\/20\/identifying-nuget-package-references-which-are-using-relative-paths-across-whole-solution\/","url_meta":{"origin":236,"position":4},"title":"Identifying Nuget package references which are using relative paths across whole solution","author":"yer.ac","date":"November 20, 2019","format":false,"excerpt":"Keeping up with a recent binge upgrading projects, including upgrading all my projects in a solution to 4.8, I have been upgrading nuget packages. Whilst this is a relatively simple task, what irks me is that when you add or upgrade a nuget package in Visual Studio, it will often\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/yer.ac\/blog\/category\/development\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/11\/image-2.png?fit=376%2C382&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":69,"url":"https:\/\/yer.ac\/blog\/2019\/04\/08\/attempting-to-use-mocha-chai-to-unit-test-es6\/","url_meta":{"origin":236,"position":5},"title":"Attempting to use Mocha &#038; Chai to unit test ES6.","author":"yer.ac","date":"April 8, 2019","format":false,"excerpt":"In this post I will cover using Mocha (JS test framework) and Chai (For BDD syntax) to unit test ES6 Javascript in VS Code. I started working on a small side project, for no reason other than to play with ES6+. It's a(nother) relatively simple toast library written in as\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/yer.ac\/blog\/category\/development\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/04\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/04\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/04\/image.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":25,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/236\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/236\/revisions\/267"}],"wp:attachment":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/media?parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/categories?post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/tags?post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}