Overcoming Dys-functional Programming. Leverage & transcend years of OO know-how with FP.

location_city Toronto schedule Nov 5th 02:15 - 03:15 PM EDT place 201 ABC people 5 Interested

Interest in Functional Programming has exploded in recent years. If you are an experienced OO developer, your design techniques and coding practices can easily get in the way of FP success. It certainly did for us! Fortunately, there are ways to leverage what you already know, to allow you to take advantage of the powerful tools FP can provide.

Join Declan and Shawn in this interactive session. Experience how FP can improve your existing code and simplify your design. Explore the joys and challenges of improving your Object Oriented skills with Functional Programming.


Outline/Structure of the Workshop

This session was presented previously at deliver:Agile 2019, as a 90 minute session.

In the session the OO programmer is introduced to FP by the showing, discussing and refactoring of code.

The talk format was as follows:

  • 10 - What is FP, define terms
  • 30 - Refactoring existing code with FP - live coding exercise where code is refactored using FP techniques
  • 30 - FP and OO design - discussion with code samples (and some live coding) of use of FP within, or instead of, OO design
  • 10 - Discussion of the challenges and benefits of FP, and discussion of the learning path
  • 10 - Questions

The session was well attended and reviews were excellent. A sample comment from a well-known Agile coach: "I'm very selective about which talks I go to at conferences these days. Yours was the best of those I attended this year, and it really helped put FP into perspective. I thought it was just for Big Data projects, but I see it differently now."

Declan and Shawn both have many years of presentation experience, including speaking at the Agile Toronto conference.

Learning Outcome

  • principles and practices that work with both FP and OO
  • learning path to becoming a better FP developer
  • things to watch out for as an OO developer when applying FP
  • refactoring techniques to move OO code to an FP style

Target Audience

Experienced developers who are new to Functional Programming

Prerequisites for Attendees

This is a technical session. There will be code; lots of it.

Prior familiarity with Functional concepts or any particular language are not required.


schedule Submitted 2 years ago

  • 90 Mins

    Today, product teams are under pressure to be more creative, innovative and delight customers sooner, but lack the knowledge and skills to know where to start. Agile product teams have frameworks and methods for rapid feedback, but generally lack real data from real users to make good business decisions. As product release cycles run long, team members lose enthusiasm and their focus on the customer.

    As a tool, design sprints offer Agile teams an effective and transformative formula for testing ideas with real people, whether you're on a small team at a startup, or inside a large portfolio of projects at an enterprise organization. Within five days, teams move from idea to prototyping to better business decisions, ultimately saving time, effort, and energy over the long-run. Join Carlos Oliveira as he introduces design sprints for product teams, a process for rapid experimentation and learning that helps teams solve big problems and test new ideas in less than five days.

    Originally created by three partners at Google Ventures, the process has been proven at hundreds of companies. Carlos has run dozens of design sprints for the Fortune 500 and firmly believes that product teams can benefit and harness the power of design sprints to focus their efforts and deliver more appropriate solutions to market sooner.

  • Dave Sharrock

    Dave Sharrock - What Darth Vader, Qui-Gon Jinn and Luke Skywalker can teach us about leadership

    Dave Sharrock
    Dave Sharrock
    Founder & CEO
    schedule 2 years ago
    Sold Out!
    90 Mins
    The Star Wars universe provides many examples from which to learn about leadership. It's obvious that Darth Vader's leadership style lacks that special something, while Yoda’s leadership style captures something closer to what we might consider to be the quintessential agile leader.
    Yet perhaps Luke Skywalker's leadership style reflects our own struggles balancing different situations and expectations placed on us.
    Real leadership is more complicated than the black and white of Darth Vader or Yoda. It is a combination of how we behave and the organizational structure and culture within which we lead. At any one time, the our behaviour is one factor in many that contribute to the effectiveness of us as a leader. Leadership effectiveness depends on organizational structure, how leadership teams are formed, how information it's shared and what decisions need to be made. Culture plays a role, with different cultures responding to different leadership styles.
    During this workshop, we will use the Star Wars universe to introduce five leadership archetypes. Each archetype describes a specific behaviour, and is often associated with a unique leadership structure. Understanding these different archetypes gives us a language with which to evaluate and grow our leadership skills. It allows us to be contextually aware of our surroundings and to choose the leadership behaviours best suited to a given situation.
  • Sue Johnston

    Sue Johnston - Make Meetings Make Sense (Even when You're NOT the Facilitator)

    60 Mins

    “We can’t make decisions or agree on priorities. So, we have the same meeting over and over. Literally, the same meeting.” If that could be said about your workplace, this interactive session is for you. Learn simple strategies and ideas for meetings that matter - those you run or those you attend.

    Too many bad meetings. That's one of the most common sources of workplace whining. Today, especially in software development and delivery, our work is too complex for one person to make all the decisions or know all the answers. Everyone's contribution is needed. So, we have meetings. And some are a painful mix of frustration and boredom. When we can’t make decisions or agree on priorities, we have the same meeting over and over.

    When we're the one hosting the meeting, there are lots of facilitation techniques we can employ to keep the discussion on track, on topic and on time so we can reach good decisions and plan effectively. But what if it's not our meeting? What can we do when we're not in charge?

    Join Sue in exploring some simple techniques you can use at your next meeting to make the experience better for you - and for others who attend.

    This new talk is inspired by several years of leading the workshop, Facilitation for the Agile Workplace, accredited by ICAgile. Learners often wonder, "What about the meetings where I don't have control?" It draws on communication and facilitation techniques I've used in a long career in business and tech. Sources will include "Mining Group Gold," "Facilitating with Ease," "Liberating Structures," and "Leading Geeks."

    It's an interactive session with an element of play - a simple board game with dice and cards.

    By the time of TAC, I will have presented this session at PRDC Deliver and will have had an opportunity to tweak it, based on that experience.

  • Shahin Sheidaei

    Shahin Sheidaei - Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improving and Having Fun

    60 Mins

    Playing games is one of the most effective tools for teaching. It is hand on, active participation, engaging and fun for the audience to name some characteristics. However, it could go wrong very easily. Let's explore it together as a game!

    What are the factors you need to consider when running a game? How about even before that and when picking a game to run? What elements do you need to consider running a game? How would you make it about teaching and not getting lost only playing? How would you capture the ROI for the game? How would you sell the idea of playing games to leadership?

    If those are what boggles your mind, please join me for a session on Game. I will be sharing my experiences, successes, and failures on what to do with games. I will share with you tips on what to look for when picking, running and finishing up a game. How to embed a game within your training, and which part of it to use. I will share some examples that I used (and others created) on how to use already designed games for your goal. If you can’t find any, I can share some tips on how to design a game. This talk is focused to deliver value for the coaches, team leads, enterprise leaders and whomever that want to teach others from a very simple message to a very complex concept.

  • Kemmy  Raji

    Kemmy Raji / Vinayak Nagarajan - Featureban- a simulated kanban game

    90 Mins

    With accountability comes transparency and visualisation of work items. When you manage the work items instead of the individuals, you are encouraging and empowering your team to take ownership of their work.

    Featureban is a simple, fun, and highly customisable kanban simulation game. Created by Mike Burrows in 2014, Featureban teaches the participants the Kanban practices and principles. You will try out some basic visual management (visualisation + feedback loops), and then experience the dramatic effect of adding work-in-progress limits to create working kanban systems.

    Whether you are a novice seeking to learn Kanban in a memorable way or a seasoned practitioner looking for a great simulation to teach Kanban to others, this is the session for you. This session will be hands-on with a short introduction to the concepts - we will learn as we do!

  • Deborah Gendron

    Deborah Gendron / Magda Vogel - The Journey to Delivery with an Agile Mindset

    40 Mins
    Experience Report

    Ride along with Express Scripts Canada on their agile transformation journey. This discussion will highlight the transformation with a focus on strategy, key learnings and successes. Maximizing business outcomes, working on the right things and delivering quickly, requires your entire organization to change. We will share our experience and leave you with some ideas to take back to your organization.

  • Itopa Sulé

    Itopa Sulé - When prioritization fails - what NOT to do.

    60 Mins

    One common mistake by new Agilists is to think that the product backlog is a linear list with the highest priority item on the top. As it's often the case, the reality is different. Prioritization is neither binary nor linear. Your team will be asked to work on several competing priorities, like meeting the new regulation while working on the next product milestone (the product is the company lifeline) - and your product owner will insist these are both top priority!!

    In this workshop we are going to explore different tools, to ensure that our teams are working on the highest value backlog items: from Eisenhower Method to Cost of Delay, CD3 and modified Weighted Shortest Job First (WSJF).