Videos2020 | 2019 | 2018
Alistair Cockburn — Getting Back To The Heart of Agile
Agile has become overly decorated, with vocabulary and rules to make your head spin. It wasn’t intended that way. In this talk, Dr. Alistair Cockburn, one of the authors of the agile manifesto, shows how to abbreviate it all to just four words: Collaborate, Deliver, Reflect, Improve. Oddly, shortening it to those four words makes it easier to learn and more broadly applicable. Not only that, it helps us find new, relevant topics, such as guest leadership and solutions focus. What’s best, these four words apply to all initiatives, not just software or product development.
Nyari Samushonga — Misguided Loyalties
We all want to predictably deliver quality software solutions. Many technical and process methodologies have been created to make this possible. Yet time and again we repeat the age old patterns of late delivery and poor quality, ensuring we continue to face the backlash of unmet expectations. Could it be that while we profess to want to do better, our overt and hidden attachments to unproductive ways mean we self sabotage and follow patterns that ensure repeated failure? In this talk I’d like us to peel away the layers and take a close look at some of the ways that what we do ensures we do not get what we want. We have the tools to win we just need to choose to use them.
Dr. Markus Borg — Trained, not coded – Beauty in Software 2.0
Deep learning has revolutionized several application areas, especially within computer vision. However, developing systems that rely on machine learning (ML) introduces new challenges. As features are trained rather than coded, the beauty concept must expand to cover also data. But even with beauty in the training data, how could we possibly trust AI in critical applications such as self-driving cars?
In this talk, we will look at testing of a pedestrian detection system in state-of-the-art automotive simulators. We will discuss how the concept of safety fundamentally changes with ML and present a promising approach to testing. By embracing beauty in test code, we will demonstrate evolutionary test case generation for testing of trained systems – using AI to test AI.
Kevlin Henney - Lambda? You Keep Using that Letter
Lambdas. All the cool kid languages have them. But does ‘lambda’ mean what C#, Java, Python, C++, etc. mean by ‘lambda’? Where did lambdas come from? What were they originally for? What is their relationship to data abstraction?
In this session we will look into the history, the syntax and the uses of lambdas and the way in which lambda constructs in various languages do (or do not) match the original construct introduced in lambda calculus.
Aslam Khan — Scaling Down
Many teams have a scaling problem that is relative to their business or industry, which is a long way off from the massively scaled companies such as Facebook and co. Many of these teams are inadvertently over-engineering for their needs. We need to learn to scale down right, simple as possible.
Dr. Alistair Cockburn - Answering questions with stories
GeePaw Hill — Changing Changing Software
At its center, the software trade is about changing software. From the outside, the trade seems to be flourishing, but when you look close, you see the unmistakable signs of a feverish and decidedly unhealthy entity. So we’re going to have to change it. In this talk, GeePaw introduces the various challenges we face in changing changing software, and offers an approach: re-centering our entire trade — not just the code or the coding, but the entire industry — around the fundamental activity: harvesting the value from making one change, then using that value to fuel the next one. It’s change, harvest, change, harvest, change, harvest, over and over, day after day, world without end.
Linda Rising - Thinking Fast and Slow
When Daniel Kahneman won the Nobel Prize for developing a new model of how the brain works, it changed how we think about thinking. If you haven’t had time to read Kahneman’s book “Thinking Fast and Slow,” or even if you have, Linda will “translate” the model and what it means for us in working better. We know that our jobs involve thinking, problem-solving, and decision-making. We all want to do a better job of thinking fast and slow. Linda will help you get started with that.
Kjell Ljøstad - How to Become Agile Without Scrum or Kanban
This is NOT a talk about Scrum or Kanban. The Agile Manifesto is all about communication, interaction, collaboration and building trust. Yet when most companies decide to go agile, they focus on implementing some rigid process that they don’t yet fully understand, and they have a hard time getting it to work. We go back to the core of the Agile ideology. We will talk about how you can use relational skills to improve communication, get team members engaged and build trust.
Agile initiatives tend to become a matter limited to the developers, and it is often hard to engage other parts of the organisation. In this workshop you will learn what make teams work efficiently and the basics of how you can get the whole organisation to cooperate better. By building relations and trust between people, working on how they communicate and how they interact with each other, you will build the foundation of a truly agile organisation.
Kevlin Henney - What Do You Mean?
“It’s just semantics.” How many conversations about philosophy, politics and programming are derailed by this thought-stopping comment?
Semantics is all about meaning. If there is one thing we struggle with and need to get better at, it is the search for and clarification of meaning.
The world in which a software system lives is filled with meaning. The structure, concepts and names that inform the code, its changes and the mental models held by developers are expressions of meaning.
The very act of development is an exercise in meaning — its discovery, its formulation, its communication.
Paradigms, processes and practices are anchored in different ways of thinking about and arriving at meaning.
But just because we are immersed in concepts of meaning from an early age, and just because the daily work of software development is about wrangling meaning, and just because it’s just semantics, that doesn’t mean we’re necessarily good at it. It takes effort and insight. Let’s talk about what we mean.
Jon Skeet - Sondheim, Seurat and Software: Finding Art in Code
White. A blank page or canvas. The challenge: bring order to the whole. Through design. Composition. Tension. Balance. Light. And harmony. The opening lines of Sondheim’s “Sunday in the Park with George” were written with fine art and paintings in mind, but ring true for software engineer as well.
As Seurat created grand visions from tiny dots, so software solves huge problems one line at a time. Some parallels are obvious - the suggestion of “favor composition over inheritance springs to mind” - but others take more reflection. This talk offers musings on each element, and links each back to the cornerstone so often neglected in the midst of design docs, specifications and linters: our shared humanity. What turns “good” code into “great” code? How subjective is this? How does it affect how libraries connect with their consumers, and how applications connect with their users? At the end of this talk, you’ll be left with more questions than answers - catalysts for your own thoughts on the nature of code and art, and for further discussion.
Nyari Samushonga - A Seat at the Table
Technology is taking an increasingly central role in the structure and reach of businesses. From its less prominent past as a rarely-noticeable cost centre buried in basements and maligned by those skeptical of its value contribution, the exponential increase in digital connectivity has moved it to its current position: a front-and centre disruptor, enabler and differentiator of modern day commerce. This shift cuts across all industries: regardless of the nature of your business, chances are you are in the technology business. The superpowers of digitisation have given those that build this new ecosystem a seat at almost every decision-making table as first-class citizens, adorned with all the rights and rewards that accrue to business leaders. But as we all know, with great privilege comes great responsibility. Are we, as an industry, reciprocating business’ shift towards technology with a commensurate embrace of the complex learning curve we must undertake to understand the fundamentals of running a business? Do we fully understand the business contexts in which our superpowers are deployed? Beauty in code without responsibility in business is a waste.
Dan North - BDD Is Not About Testing
BDD started as a way to teach TDD to programmers who kept getting hung up on the idea they were writing tests. Fast-forward a decade or so and it seems BDD scenario automation tools have invaded the world of acceptance testing like Japanese knotweed. All around I see teams harming themselves writing awkward, verbose tests using slow, cumbersome tools like Cucumber and SpecFlow, and acting as though BDD is some kind of testing approach.
Part of the problem is that once you have an automated BDD scenario and you’ve written the software to satisfy it, it can look seductively like a test. From there it is a short step to thinking of these scenario automation tools as testing software, and the rest is frustrating, repetitive history.
This talk explores the relationship between BDD scenarios and acceptance tests, and suggests some strategies for avoiding the pain of BDD-as-test automation.
James Bach - Beauty or Bugs: Using the Blink Oracle in Testing
Here’s how the blink technique works: 1. Blast a firehose of data at your senses. 2. Notice things in it that are ugly, weird, or that in any other way seem worthy of investigation. (This process takes time. Give yourself at least 20 milliseconds to make a judgment.) In this presentation I will show some examples of blinking and how I use tools to create visualizations that support the process. The art of blinking is in designing the right kinds of complex displays that make interesting problems stand out.
Aslam Khan - Complexity sucks
Building software is mostly about trying to wrap our heads around the complexity of a domain. If we understand the domain, we have a better chance of producing a simpler design. The harsh reality is that there is a pretty good chance of deforming that simple design over months and years. The challenge we face is dealing with inherent complexity up front and insidious complexity that sneaks in later. In this talk I will share some techniques that I find useful in tackling domain complexity.
Adam Tornhill - Guide refactorings with behavioral code analysis
Adam Tornhill is a programmer who combines degrees in engineering and psychology. He’s the founder of Empear where he designs tools for software analysis. He’s also the author of Your Code as a Crime Scene, Software Design X-Rays, Lisp for the Web, and Patterns in C. Adam’s other interests include modern history, music, and martial arts.
Kevlin Henney - 1968
It’s half a century since the NATO Software Engineering conference in Garmisch. How are we doing? Are we nearly there yet? Or is there no there there? The world of software development has changed so much and in so many ways since 1968 that it’s difficult to imagine what we could learn from the past, but it’s learning rather than imagination that’s the constraint. There was no shortage of imagination, insight and inspiration in the 1960s and 1970s, and in many ways the apple of 21st-century software development has fallen disappointingly close to the tree of the past. So let’s turn back the clock to see what we could have learned from the past, what we can still learn from the past and what the future might hold in store for code and its development.
Louis Hansen - Software professionals, we keep using that word…
We constantly refer to Software Development, and the people in this field, as professionals, but are we really? Are we held sufficiently accountable for the things we build? And should we be? This talk will go through what it means to be a profession in the classical definition. We will look at what parts we already have in our field, and why we might want to strive for certain other aspects.
Aino Vonge Corry - A Comment on how we learn
As an expert you will be asked to facilitate the learning of others, not to mention your personal eternal learning in your field. Join an interactive session about how our brains accept new knowledge and store it for later use. Your take-away will be three-fold; how to chunk information you give to others, how to improve your own learning AND something to entertain with at dull parties.
Kent Beck - Summarizing the Beauty in Code Conference
In this session Kent Beck reflects upon some of his take-aways from his career and summarizes the Beauty in Code conference