Many developers aspire to make open-source contributions, but it can be daunting to familiarize yourself with a new project and figure out the best way to get involved. This talk, by a core Cucumber maintainer, provides a detailed explanation of how open-source projects are run, how to get your first contributions accepted, and how to avoid common pitfalls many beginning contributors run into.
Come learn the basics of Scrum, Kanban and Lean including their principles and purpose as well as how to get the most out of those approaches. We'll also cover pitfalls common to these approaches when implemented in different contexts and how to avoid them.
Alignment is key to delivery. Without alignment people feel uninformed, unable to act, and frustrated. Without alignment decisions don’t get made quickly and teams don’t act in the best interest of the projects. In this session we'll look at how to focus your team's alignment on outcomes, not solutions. We'll talk about techniques you can use to maintain team alignment throughout a project and provide advice for distributed and co-located teams.
Are you ready to continuously deploy every commit to production and deploy 25 times a day? Can your operations team tear down and spin up VMs and containers for your app like they're nothing? Can your company track production usage and toggle features at the whims of the marketing department? No?
We all know it's not quite that easy. You can't take an existing house-of-cards monolith and just start treating it like a unicorn, as much as everyone would like to. But as a developer, you can start to make practical inroads, and you can do it now.
This talk looks at DevOps culture from the point of view of a developer - how code changes can affect the agility of your organisation. We'll discuss architectural changes, design techniques, deployment pipelines, and how to make large changes safely. Developers at any level will leave with some practical ways to support your company's DevOps efforts and start working better with your ops team.
Is your team the one where every strength is utilized, they do work that is challenging and stimulating and they help each other solve problems as quickly as they arise? Or does your team have some dysfunctions - lethargy, disconnectedness, competition, or fear of being judged for their ideas. Wherever you are on the spectrum, in this talk you will learn the fundamentals of rock star teams and how you can work towards creating your Dream Team.
Join me as I recount my journey in helping introduce DevOps at D2L. Like many enterprise companies we had strong divides between Ops and Dev. Over the years the walls had been built up and the animosity grew. It wasn't until we decided to fully embrace AWS that we had to start building bridges instead of walls.
In this talk I will take you through our journey and the tools, tips, and techniques that helped us heal the divide and begin working together instead of against each other. I will also talk about common pitfalls and mistakes that people make as they start out on the road to DevOps. This talk will help anyone working at a company where the developers and operations are not working together optimally.
I hear it all the time in my work: "That's nice in theory, but it's not possible to do that here because insert good excuse here."Or perhaps it's "There's no way I could do
Leadership is one of the most complex and potentially rewarding things you can do in life. Leading for Change starts with seeing your own fears and stories, and choosing to move past them. In this session, we will be working together to confront a fear almost every one of us has. What you will come to learn is that it's possible to write your story your way, and not be controlled by them. When leaders learn to confront their fears, their impact goes far beyond what they and those they lead thought of as possible.
About 5 years ago, I could see that our IT group was losing trust with our business partners, it was taking longer to deliver work and we were not creating the value that we used to. I loved the company, I loved the people I worked with and I loved the product we were creating. Yet I was not that happy. I had 3 choices: door number one - keep to the status quo, door number 2 - leave my great employer, or door number 3 - change the way I work. I opted for door number 3 and I am so happy I did!! It was not easy, every day had its ups and downs abut I feel now I am home, I have successfully climbed a great mountain and I feel awesome!! I am now at another mountain seeing the other possibilities and mountains to climb!
In this session I will be sharing my personal journey that has brought me from Senior Program Manager to Agile Coach. I hope the participants will be left inspired and with a set of ideas as to how they can also transform and become a scrum master, agile coach, change agent or agilist.
Monitoring is great. So are logs. But when all your dashboards are red and your inbox is full of alerts, how do you separate the noise from an actual emergency? With a dirty park, it becomes easier for teams to add more garbage to the pile compounding the problem.
In this talk I will walk you through the approach I'm using to help my company move toward 0 error logs. Lack of visibility and lack of ownership have left us with millions and millions of error logs monthly most of which are useless noise. I'll take you through some of the technology choices we made to make error logs easier to consume and harder to avoid. I'll also share my learning on how to drive motivation for a project that feels never-ending.
Big data is exploding, but we need the right lenses to tease insight out of the noise. Visualization design requires business and number sense, abstraction ability and many other skills not typically asked of a designer. We'll discuss strategies for designing visualizations and dashboards that bring the insight users need to make decisions. Starting with understanding users and their needs, we'll reverse engineer the story that solves their problems. How do we progressively disclose that story? How can we use available data dimensions to show important patterns? What filters and options should we expose? How do we make it work for colorblind people, on phones, and in German? How do we make it perform at scale for data sets big and small? What are the considerations for specific graphing packages? What about pushing it out to other applications and media? This talk will help you tackle all of these considerations and whip your data into insightful information.
The stoics believed that one of the things we can control is how we respond to situations.
In this session, we will examine coaching and organizational change from the perspective of the stoics. We'll learn to apply those ideas and techniques to the problems you are currently facing in changing your organization.
Remember, "We don't control the barriers or the people who put them there. But we control ourselves-and that is sufficient" - Ryan Holiday
This session will be part talk and part working session where participants will be able to apply some of this thinking to their current challenges.
Do you find yourself wasting valuable time on repetitive tasks? Do you wish that your favourite website just had that one extra feature that would save you an abundance of time? This talk is for you! In this talk, we will explore what userscripts are, what they can do, and how you can start using them to hack your productivity, enhance your favourite websites and webapps, and have fun doing it.
I'll share how I've been able to leverage userscripts in my operations role to eliminate toil through examples such as injecting useful buttons into an otherwise inept monitoring dashboard, adding ticket-creation functionality to the Slack user interface, and much more.
DevOps is more than just a buzzword. It represents a really effective way of thinking about your product lifecycle, and while choosing tools should only be a part of the story, the right tools can guide you down the correct path very effectively. From managing requirements, through development, build, testing, deployment, and monitoring, Microsoft tools like Visual Studio, Visual Studio Team Services, and Application Insights can make your team more effective.
In this session, I'll introduce the important stages in a DevOps pipeline, and walk through each of them, all the way from planning to gaining valuable insights from what's in production. Along the way, I'll show you the tools and features Microsoft offers and I'll even show alternatives and how they can be integrated cleanly instead. By the end of this very hands-on session, you'll have a detailed insight into what's available, and how well it works to deliver DevOps to your organisation.
Working in the tech industry can be fun and exciting. But sometimes working in an enterprise company, your life can feel more like a Dilbert cartoon than a TechCrunch article. Pushing for modern product and design thinking in the enterprise can be challenging, but the opportunity to make an impact can be huge.
This talk will discuss common challenges to building great product in the enterprise, including:
Ever been in a situation when the Product Manager comes and asks for a couple of small changes that are high priority, and the team says "They're kind of big. Which one do you want first? Really, really!"."But I want them all! As soon as possible.".
There are many directions one can go from here. One can work harder or work smarter. You probably know ways to work harder, but let's explore ways to work smarter.
In this talk Ardita will share techniques that she has used which produce good results. She will talk about Product management, technical backbone, collaboration and how to get Product managers and teams singing together in harmony and with focus on clients.
At Hootsuite we have been seeing hyper growth since 2013 with over 12 million users now. In order to support this growth we are also building a great engineering team, but that isn't enough. We had to work extra hard to make software delivery easy and fast for our developers. We ship 15+ releases a day on our main dashboard application and we do more releases on our 20+ microservices. We also created our own internal PaaS to support experiments and rapid prototyping to deliver customer value quickly.
In this talk we will cover how at Hootsuite we can deliver a microservice into production in under 5 minutes. How we leverage Kubernetes and Deis to give our developers the best experience when it comes to delivering services and features to production. Why are platforms like Kubernetes are important for a company's technology growth and give back the power to developers to create amazing technology really easily.
For the demo portion of the session we will generate an example Hootsuite service and watch it deploy to production environment in under 5 minutes. We will cover the following:
FUN FACT! Red River College’s Computer Analyst/Programmer Diploma (CAP) turns 50 this year! ANOTHER FUN FACT: University of Winnipeg’s Applied Computer Science degree used to be a Business Computing degree.
Many, if not most people working in IT today pursued related post secondary education. The purpose of this education was to give them the knowledge and skills required to allow them to build careers in information technology. As the technology has evolved, so have the demands for working in the field as well as the education required to enter the industry.
How does education support project delivery? Where does it fail project delivery? How have education programs changed? What important concepts are being cut to make room for new material and how can we preserve those lessons?
Including interviews with educators, students and experienced industry vets, this talk is both a walk down memory lane and an essential look at how we can improve project delivery long before someone takes on their very first project.
We've all been _that_ project. It's over budget. The requirements are vague. And, to top it all off, the client is still emphasizing the original schedule.
If you're not a manager, director, you might think it's out of your control, but I assure you it is. In this session, we will go through a number of real-life problems (and their solutions) including, but not limited to vague requirements, overrun schedules, demanding clients, and the dreaded _under-budgeted solutions_.
A few years back I worked at a major multi-national clothing retailer where I wrote **Chef** recipes to manage thousands of Point of Sale registers and In-Store servers. The insurmountable problem we solved by using Chef was in the fragmentation that happened amongst the various stores and how they configured their devices. Imagine thousands of in-store cash registers all running on different Linux kernel patches, or using a multitude of different drivers for the same pin-pad devices.
Chef allows one to setup servers through an "Infrastructure as Code" convention, allowing one to version control infrastructure configuration and have the peace of mind that a server is configured exactly the same way, each time, without a step being missed. To give an example: at the retailing giant, when a tech was dispatched to setup a new register, or a completely new store, all they needed to do was plug a register into the network and Chef took care of the rest! If a technician manually changed something, Chef ensured the change was reported and reverted it to its original state.
In this talk I will guide the audience through the basics of Chef, what its various components are used for, and demonstrate how Chef _recipe_ and _resource_ development is implemented.
Good research and analysis yields good results for the business. Scalable and replicable research will benefit the business at a much wider scope, many times over. Productionized research is a gift that gives on giving.
But -- there is a wall that divides research and production work. On a high level, we will discuss how a research culture can clash with production culture and what we can do to mitigate it. Specifically we will focus on what questions to ask to production engineers if you are in research and what questions to add to researchers if you are a production engineer. On a high level, we will also talk about how to find integration points in the production pipeline to integrate research algorithms and conversely, how to prepare research algorithms for production. Specifically, we will talk about contracts and specifications from planning to delivery on both research and production side.
This talk will share tips on how to use software development practices like code documentation, repository maintenance and functional specification in delivering analysis and research. There will also be tips on how to better communicate processes and results by identifying the data used, key metrics and other dependencies.
Unit tests help us prove code is correct and protect us during modifications. The issue with unit tests is it's up to the developer to come up with every input value and edge case. This is where Property Based Testing comes in to fill the holes and truly battle test our code into correctness.
You don't often get to pick your coworkers, but you do have to get the job done together. With different ideas, motivations, and work styles, cross-functional teams can deliver amazing results - when they travel in the same direction.
Spend an hour with Imaginet's UX team Adelle Rewerts, Melissa Archer and iQmetrix developers Serena Vandersteen, and Hanaa Louka as they explore the challenges and successes of cross-functional teamwork, moderated by Jen Goertzen, UX Lead at iQmetrix.
Although many developers have used Cucumber (or analogous tools like Behave in Python), it's not always obvious how to use the tool to really improve the quality of your software and delivery process. Cucumber is an opinionated acceptance testing tool. In this talk, I'll discuss what this means and how the way you use Cucumber can dramatically affect your experience with the tool and its ecosystems. Covering aspects as diverse as testing techniques, team dynamics, and developer attitudes, I'll help you home in on the ways you can use Cucumber to help you understand your users, write documentation, and test that your software adheres to it.
In a world where the line between personal and professional is blurred, where our attention is continually sought after through notifications, lit-up conversation channels, alerts, and emails, where priorities are constantly shifting and deadlines are looming, it's hard not to get caught up in the adrenaline rush of reactivity and lose sight of your goals.
I know because I've been there - never having enough time to do what's really important, sneaking work in on evenings and weekends, habitually checking my phone, and regularly burning out. If this sounds like you, I invite you to hear my personal journey to overcoming urgency addiction - research on the brain's reward system, bad habits identified, new habits learned, and what systems, apps, and processes I used to set myself up for a successful transition to intentional living and greater effectiveness.
"Pragmatic Dave" Thomas popularized the term [Code Kata](http://codekata.com/) as a popular format of software development exercise. Many websites claim to offer Kata exercises but they sometimes lose the original vision proposed by Thomas. His metaphor compares code practice to the disciplined way martial artists practice repetitive, choreographed movements. These movements are often exaggerations of the maneuvers that would be used in a real combat scenario, yet there is no better tool to prepare. How can simplified and focused practice be better than spending time on "real world" exposure? This is what is meant by the old saying, "_Perfect_ Practice makes Perfect" and I will explain why and how this works.
Are you as powerful as you need to be? Do you over power the room and rub people the wrong way?
Why is that? What if there was something you could do about it?
In improvisation, in order to create realistic and compelling characters we study status. That is, how does how we carry ourselves impact our relationship status with other people and how does it change in relation to others?
In this session, we'll explore status, and play with making ourselves more or less powerful. We'll then examine how this plays out in our work environments and how we need to adjust our status depending on which groups or individuals we're interacting with.
You'll also learn the one status trick that will dramatically increase your chances of getting hired in your next interview.
The Titanic was going 42 km/hr when an iceberg was spotted dead ahead. I imagine there was a wild scramble to do something to save the ship. I often wonder if they had rearranged the deckchairs, as I'm sure the outcome would have been different. As crazy as this sounds, there are many organizations who rearrange the deck chairs and can't figure out why their transformation continues to fail. Adding more process, firing leadership and coaches, planning for efficiency, throwing more money at the problem and so much more. None of which helps the situation, and if anything speeds up the inevitable.
In times of change, your response to the problems you will encounter can make the difference between success and failure. During this session, you will learn The Responsibility ProcessTM, and you will start to understand and know how your response to problems is creating your reality. You will also start to understand how by creating an environment of shared responsibility, it is possible to avoid the icebergs (or at least survive the collision).
In brief, this is my take on W.E. Deming's famous Red Bead Experiment, which he would often do during his four day seminars to reinforce his teachings on a systems based approach to understanding and managing organizations.
We will step into the parallel world of The White Bead Corp. at a critical point in the company's history where the actions of six, above-average, willing workers who are capable of putting-forth best efforts will determine whether the business remains viable over four crucial days.
As this world unfolds, we will surreptitiously learn about the fundamentals of a systems perspective to organizations and how they work, uncovering the real effects of traditional management competencies, and how to hear the voice of a system through its common-cause and special-cause variation. By the end, participants can expect to have a grasp of what Systems Thinking is about and why it's so important to understanding their organizations and how to improve them.
Have you heard about automated testing but never tried it? Or maybe you have been writing tests for a while but you're not sure why or how to get the most out of them?
In this session we will:
Michael Feathers defines Legacy Code as any code that doesn't have automated tests, and you agree that automated tests are an important facet of successful software development. I will show you the patterns and practices that will help you turn the scary big ball of mud into a tested code base.
Many developers feel disheartened by functional programming because not only the language is different but the idioms, approach, and patterns also change.
The idea of this session is to present a list of strategies and patterns that are common to imperative programming and object oriented programming and show with examples how to make them work in a functional language.
The talk will include topics like writing loops, dependency injection, variadic parameters, testing with mocks, etc.
We will include examples in Clojure, Scala, Haskell, F#, Elixir, and Lua.
Wondering what NoEstimates means in practice, or why you would want to use NoEstimates? Perhaps you've heard the buzz, read Vasco Duarte's book or simply want to understand how to spend less time estimating and more time delivering working software, while providing your customers with some understanding of predictability. If so, you can play a board game that helps you find out through simulation what - and how much - different factors influence delivery time. You also learn how to move from upfront intuition-based estimates to create a data-based probabilistic forecast that provides a more reliable way to talk about when stuff will be done, while taking less effort to do so. Through simulating real-life occurrences, such as rework, blockers and delays, the game helps you understand how to reduce variation that creates risk in software delivery. It may just be the most fun you have learning something that you can start using as soon as you return to the office!
Though the standard agile feedback loops - such as the product demo, team retrospective and automated tests - provide valuable awareness of health and fitness, many teams and their stakeholders struggle to find a reliable way to understand an important area of feedback, including their level of agility: the fitness of their service delivery. This session introduces the service-delivery review as the forum for this feedback. Participants will learn the basics of how to conduct a service-delivery review and the benefits, as well as typical fitness metrics. The context will be for software-delivery teams but the lessons will be applicable for any team, group or department that provides a service.
The idea of this talk is to share as a manager what is like to work with a team in a functional language.
From language adoption to changes in the way the team embraces new technology I want to share my experiences doing so and how that can be a successful change for any team.
As a developer you take pride in your work (as you should). So it's frustrating when bugs happen. How do you prevent them? Well, the honest answer, is you can't - at least not 100%. But you can make sure your code does what you expect it to do! In this session, I show you TDD (Test Driven Development), BDD (Behavior Driven Development), and TED (Test Eventual Development). I will also show you their strengths and weakness, and how to decide which type (or combination of types) to use in different scenarios.
We understand by now that a great product requires great UX efforts in order to bring and keep customers satisfied. At the same time, we are still trying to force Agile "processes" on the teams that create these products. Very often we hear about organizations that take frameworks and turn them into processes; take scaling frameworks and install them in organizations with the hope that they will magically become Agile. And yet we have frequently seen the struggles and the little progress they make .. until they figure out how to create a process that works for them. In this workshop Ardita will take you through the thinking behind UX and how one can use the same ideas to create their own process from the beginning. She will also discuss how to evolve this process using UX techniques to continuously improving it. If you are part of PMO that needs to create an Agile process for your organization, or if you are tasked to find the right scaling framework, come to this session to get started!
What is the aim of your system?
W.E. Deming would pose this question to his clients as a the first step toward helping them understand how to begin improving their organization. Without an aim or a purpose, a system is just a collection of random elements.
This talk is inspired by the work I do with my customers helping them apply the teachings of Deming and Peter Scholtes, both pioneering leaders in systems thinking and organizational management. The question is posed as a precursor to exploring the SIPOC model that Scholtes devised ( Suppliers, Inputs, Processes, Outputs, and Customers ) as well as attendant process flow maps to illuminate the way work really gets done.
Participants will be actively engaged to explore building their own SIPOC maps and process flows that they can use as a starting point to understanding the systems they are within, and to start the work of real improvement.