schedule Jul 19th 11:00 AM - 04:00 PM place AGSE109 people 12 Interested

IMPORTANT - As places are limited, please register specifically for this session. Also, please register for day 2 of LAST Conf, if you wish to attend the 2nd day.

You can also read more about the sessions in this blog post. For a beginner friendly version of this session see Agile Dev Immersion - Fundamentals

Get ready to level up at refactoring at LAST Conference's first Refactoring Developer workshop. Inspired by Code Retreat, we have run a similar session, for the basics of agile development, at LAST Conference for the past few years. We have felt that it's Important to support learning in technical disciplines that are extremely important in agile software development.

Too many Agile and DevOps initiatives are stymied by code bases that are hard to change and understand.

While disciplined teams who rigorously practice pair programming, test-driven design (TDD) and other technical Agile practices avoid producing new legacy code in the first place, cleaning up a pre-existing mess is notoriously difficult and dangerous. Without the safety net of excellent automated test coverage, the risk of breaking something else as you refactor is extremely high. Also, code that wasn't designed and written with testability in mind makes it really difficult to get started. So most don't even try ...

In the Refactoring workshop developers learn how to build an initial safety net before applying multiple refactorings, and have lots of fun along the way!

What's it all about?

We will be following a variation of the Legacy Code Retreat format. Working with legacy code (provided!) participants first learn how to build an overarching electronic safety net using the Golden Master Testing technique, before applying a range of refactorings too dangerous to otherwise attempt (but totally worth it).

As with regular code retreat, we will practice pair-programming, rotate pairs, and continue to practice rigorous unit test automation, and share our learnings.

Unlike regular code retreat you do not have to delete your code at the end of each sprint, and the TDD cycle is a bit more relaxed.

Following the opening session, Refactoring workshop will take the remainder of the day, with breaks synchronised with the main conference. You will also be welcome to attend the end of day drinks!

What is Legacy Code?

Legacy code has beed defined "as code without tests" and equivalently "code you are afraid to change". Unfortunately far too much "professional" code is legacy code.

Why should you come?

  • We need developers and architects with the skill to continuously refactor and redesign, and managers and leaders who understand the value in doing so
  • Come and practice and share some of the fundamental technical skills needed to safely refactor
  • Lift developer engagement and work satisfaction by investing in technical quality rather than drowning in technical debt
 
3 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Workshop

  1. Introduction
  2. Sprint 0: Build the Golden Master and review the code
  3. Sprint 1: Refactoring: Reduce Duplication & Improve names
  4. Sprint 2: Refactoring: Extract to Pure Functions
  5. Sprint 3: Add a feature
  6. Sprint 4: Group Discussion — applying these approaches in the workplace
  7. Next steps

Learning Outcome

Participants will learn by doing

  • how to apply Characterisation Tests (aka Golden Master testing) to build an initial safety net as a prelude to refactoring Legacy Code
  • how to apply a range of refactorings
  • principles of Simple Design
  • how to use of TDD and pairing in a refactoring context

Target Audience

Software Engineers

Prerequisites for Attendees

  • Attendance at a previous code retreat is highly recommended, but good experience with pairing and TDD should suffice.
  • Bring a laptop with a development environment and unit testing set up in one of the languages listed for the legacy code base: https://github.com/jbrains/trivi
schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Ruma Dak
    keyboard_arrow_down

    Ruma Dak - Agile Dojo at MYOB: 6 weeks of Accelerated Learning

    Ruma Dak
    Ruma Dak
    Delivery Coach
    Envato
    schedule 1 year ago
    Sold Out!
    30 Mins
    Talk
    Beginner
    Starting in November 2017, a crew at MYOB embarked on an exciting 6 weeks journey of an Agile Dojo! Guided by an Agile Coach, it was an intensive learning experience which gave us opportunities to challenge the status quo, carry out various experiments, introduced them to new tools, techniques & practices to foster collaboration, refine team dynamics, bring structure to their approaches and improve the way they worked in general.
    We used 'Improvement Kata' and 'Coaching Kata' from Lean Management for learning, adapting, experimenting and coaching. It was a time to pause, observe and ponder over things.
    In a nutshell, it was a time-boxed immersive accelerated learning opportunity which resulted in productivity improvements ranging from 10%-90%. MYOB ran this Dojo as an investment in their knowledge workers! It was an experiment run at both Auckland and Melbourne and was successful. This talk will give you glimpses of our 'dojo' adventure, learnings, challenges, interesting surprises and lots of 'aha' moments!
  • Liked Sue Davidson
    keyboard_arrow_down

    Sue Davidson / Michelle Gleeson / Supriya Joshi - Agile Developer Immersion - Fundadmentals

    300 Mins
    Workshop
    Beginner

    IMPORTANT - As places are limited, please register specifically for this session. Also, please register for day 2 of LAST Conf, if you wish to attend the 2nd day.

    You can also read more about the sessions in this blog post. If you are a developer with more experience, you might like to consider Agile Dev Immersion - Refactoring.

    Get ready to Level Up your agile developer skills. Inspired by Code Retreat, we have run a similar session at LAST Conference for the past few years. We have felt that it's Important to support learning in technical disciplines that are extremely important in agile software development.

    This is an intensive practice event for developers, inspired by the Code retreat movement. It focuses on the fundamentals of software development and design, including pair programming, test-driven development, OO and functional programming techniques, and new languages. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.

    This event is beginner friendly. However it is also suitable for those who have already attended similar sessions as we will be creating a tenpin bowling scorer rather than solving Game Of Life again. There is also a concurrent workshop for Refactoring legacy code that is aimed at more experienced devs.

    Following the opening session, The Agile Developer Immersion workshop will take the remainder of the day, with breaks synchronised with the main conference. You will also be welcome to attend the end of day drinks!

  • Liked David Williams
    keyboard_arrow_down

    David Williams - Scaling connection, trust and agility using Management 3.0 practice

    David Williams
    David Williams
    Agile Coach
    ANZ
    schedule 1 year ago
    Sold Out!
    45 Mins
    Case Study
    Beginner

    This interactive session will explore connections and how personal mapping can be scaled to kick-start a platform to build better communications, trust and psychological safety to underpin your agility journey.

  • Liked Mark Barber
    keyboard_arrow_down

    Mark Barber - Trust through transparency - Radiating information to build trust

    Mark Barber
    Mark Barber
    Agile Coach
    Adaptovate
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Autonomous and empowered teams are a key building block of agile organisations but require a great deal of trust to work. Management and leadership must trust people and teams to do the right thing, and teams need to trust that management will support them when needed.

    Transparency is a low-cost means of building trust. Transparency gained through the open sharing of information, particularly visual information, has played a large part in agile and lean thinking - from lean's visual controls, to XP's "big visible charts" and beyond.

    We will explore how transparency, and the radiation of information, can build trust and cultures where "safe to fail" is more than a theoretical concept.

  • Liked Suzanne Nottage
    keyboard_arrow_down

    Suzanne Nottage - GO WITH THE FLOW: your Scrum teams are interrupted 2,000 times per sprint. Let's talk about flow

    45 Mins
    Interactive
    Advanced

    Scrum is a great framework but there are many ways to do it poorly. The average IT worker is interrupted every 15 minutes, which equates to 2000+ interruptions for a Scrum team every sprint. Unthinkable on a production line, yet too often the norm in offices.

    I conducted original research with Scrum teams in Australia last year as part of my Master of Management thesis (and achieved an A), to understand the causes, patterns and impacts of these interruptions on the team's effectiveness and their happiness. And, how mature teams control interruptions rather than let themselves be controlled by interruptions.

    Attendees will play a short game to demonstrate how destructive the context switching from handling frequent interruptions is.

    My talks are always highly practical and I provide 3 takeaway actions for teams to improve their 'flow' and reduce interruptions.

  • Liked Reginald de Silva
    keyboard_arrow_down

    Reginald de Silva - Prioritisation Battle!

    Reginald de Silva
    Reginald de Silva
    Agile Delivery Coach
    Westpac
    schedule 1 year ago
    Sold Out!
    60 Mins
    Interactive
    Intermediate

    There are some awesome prioritisation methods out there.

    However, which one do you choose and use?

    Often they can be so unwieldy and time consuming that at best all you can do is practically just use one.

    In this session, we'll explore how you can quickly utilise multiple prioiritisation methods against each other in order to facilitate healthy discussions.

  • Aurelien Marando
    Aurelien Marando
    Agile Coach
    -
    schedule 1 year ago
    Sold Out!
    45 Mins
    Workshop
    Beginner

    "If you don't like the weather in Melbourne, wait 10 minutes."

    There isn't an application able to correctly forecast what our day will be like. Many people in Melbourne are frustrated by both the weather apps that all look the same and the unpredictability of the weather changing every ten minutes.

    This interactive session will see us reflect on Agile and System Thinking principles to build a prototype through one Lean Startup cycle. Using Melbourne's weather, it will highlight how important it is to question the value brought by things that are established.

    Shy inventors will have an opportunity to understand that an idea is never too big and learn a good way to start getting their dreams into reality.

  • Darryn Webster
    Darryn Webster
    Agile Coach
    AGL
    schedule 1 year ago
    Sold Out!
    30 Mins
    Interactive
    Intermediate

    Agile Mindset is highly talked about and prized amongst agilists. Claims for its benefits range from 10x improvement, can’t be agile without it and requires organisational and cultural change to achieve.

    Social psychology presnets a different view where mindset is a cognittive toolkit used to understand and taking action in a complex world. This defintion implies everyone posesses an agile mindset.

    Is agile mindset a nirvana state which will enable you to levitate and be at peace with the world? Is it what is constraining everyone from achieving life, love and happiness. Or is it something more practical, humanistic and useful.

    Looking through the lenses of behavioural and social psychology we will understand what mindset is, how it works and how you can become more aware of how yours and others mindset are operating within the agile domain.

  • Liked Hamdam Bishop
    keyboard_arrow_down

    Hamdam Bishop - Building great agile teams, but first: Culture.

    Hamdam Bishop
    Hamdam Bishop
    Release Train Engineer
    AGL
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Why are culture, mindset and behaviours so important in growing and transformational agile environments? How is great culture created and killed? What ingredients attract and retain great people?

    In a market where there are so many wonderful and exciting places to work, we need to focus on creating an environment that people feel passionate about being a part of! Come to this session to talk about culture and why it's important, how to create great culture and how to retain and grow that culture in a rapidly changing agile environment.

    You'll walk away with:

    • An understanding of why culture is such an important element of successful agility
    • Practical steps for building and retaining culture in an agile environment
    • An example of what success looks like
  • Liked Jon Gedge
    keyboard_arrow_down

    Jon Gedge / Jasmine Hessel - Accessing Relationship Systems Intelligence with Constellations

    45 Mins
    Workshop
    Intermediate

    Each of us is a member of complex relationship systems - at work, at home and in our communities. Just as emotional intelligence is the ability to understand and manage our own emotions and social intelligence is the ability to empathise and communicate with another individual, relationship systems intelligence is the ability to view a team or group as a unified whole and to work directly with that whole system rather than with a group of individuals.

    In this session, we will use a relationship systems coaching technique called constellations to listen to the ‘voice of the system’ which is created by everyone who attends the session, so we can explore together how comfortable we are in working with conflict.

  • Liked Mike Jones
    keyboard_arrow_down

    Mike Jones - Flufferbot automation at scale & LAST lessons from the TESLA Production System

    Mike Jones
    Mike Jones
    Lead DevOps Engineer
    AGL Energy
    schedule 1 year ago
    Sold Out!
    60 Mins
    Interactive
    Intermediate

    Lean and Systems Thinking is about to get bigger. By several orders of magnitude.

    Will the Tesla Production System inspire the next generation of (autonomous) lean systems thinking?

    Tesla's 'gigafactory' has significantly scaled automated production. But not without problems and bottleneck constraints. Tesla is making a lot of mistakes along the way and CEO Elon Musk recently shared some of his lessons learnt automating Model 3 production.

    Whether you are automating testing, automating devops, or introducing lean agile practices across an organisation, let's get together and reflect on our own experiences of automation at scale and other lessons learnt from the Tesla Production System.

  • Liked Bob Martin
    keyboard_arrow_down

    Bob Martin - Are you stuck in a WTF loop? Your choice of words may have something to do with it.

    45 Mins
    Interactive
    Advanced

    Language sets the tone for change, but we continue to use the same tired language that we have been for years. You know the language, that dialog, those words that fill the pages of Linked In, airline magazines, and 'modern' management speak. Meaningful change continues to eludes us; and in the end, if we don't change our language, our dialog, our words, we're just waiting to fail (and not the good kind of fail!).

    Join me for an interactive discussion of my top ~five words / phrases that I believe cause more harm than good. We'll discuss why they're an issue, and I'll suggest alternatives that may help guide you onto a better path.

  • Aurelien Marando
    Aurelien Marando
    Agile Coach
    -
    schedule 1 year ago
    Sold Out!
    5 Mins
    Lightning Talk
    Beginner

    Agile is now considered as a "must-have methodology" to be successful in developing software. Even, it starts extending to non-software businesses and its practices and principles are spreading out to many teams and organizations.

    But beyond the buzz-words, we often race to apply solutions and miss the true values beyond naming, frameworks or tools provided by Agility.

    This session is an Lightning talk to foundation ideas that underpin Agility. It revisits some basic fundamentals that have dropped out of the modern agile discourse when leading the change toward better ways of working. Beyond the buzz-word that Agile became, let remind us what be Agile truly is.

    It will be particularly useful to agile consultants, scrum masters, iteration managers and change agents driving the agile agenda.

    This session can be adapted to a longer Agile 101 format mixing introduction of fundamentals and debat/experience feedback.

  • Liked Reginald de Silva
    keyboard_arrow_down

    Reginald de Silva - Visualising Like a Boss!

    Reginald de Silva
    Reginald de Silva
    Agile Delivery Coach
    Westpac
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Visualisation is at the heart of Agile, Lean and many great ways of working.

    However, without discipline your visualisation and respective delivery becomes a freakin’ mess!

    In this session I share some of my learnings over the years since my presentation on this topic at LAST 2013.

    You’ll learn how to take your visuals to the next level and drive higher motivation, fun and delivery performance in the process.