deliver:Agile 2018

APRIL 30 - MAY 2, 2018 Austin, TX

Are you a practitioner who spends your days bringing software to life?

If so, then this is the Agile conference for you!

Registration is Open!

Check Out Some of Last Year's Conference

(Formerly known as AATC - Agile Alliance Technical Conference)

Registration is Open!

MEET OUR SPEAKERS

Keynote Speakers

Empathy Driven Development

Andrea Goulet

Yes, you read that correctly. This is a technical talk about one of the most important & misunderstood skills in software development: empathy.

View Full Abstract & Bio

In this talk, you’ll learn that even if you don’t think you have the capacity for empathy, chances are you do. We’ll dive deep into the six different types of empathy and discover how to incorporating this skill into your daily development practice can have profound positive benefits. If you’ve ever found yourself saying “I’m good with machines, but not with people” this is one talk you won’t want to miss.

BIO

Andrea Goulet is the CEO of Corgibytes, a software development shop dedicated to maintaining and modernizing software applications and has been named by LinkedIn as one of the Top 10 Professionals in Software Under 35. She’s the founder of LegacyCode.Rocks and hosts a podcast dedicated to changing the way we think about legacy code. You may recognize her from prominent industry publications such as the First Round Review, Hanselminutes, Software Engineering Daily, and more. Andrea is a sought after keynote speaker is currently working on her first book: Becoming Technical: Build an Amazing Career in Tech Starting at Square Zero.

In her spare time, Andrea enjoys blogging about the intersection of social science and software. She loves watching her kids explore the world and is a sucker for a good physics documentary. You can recognize her by the JavaScript tattoo on her wrist.

Jeff Sussna, Founder and Principal, Ingineering.IT

Continuous Design: Harnessing Change for Competitive Advantage

Jeff Sussna

This talk will introduce a truly unified approach to design, development, and operations that goes beyond merely bolting them together.

View Full Abstract & Bio

Teams across the product, development, and operations spectrum are struggling to effectively adopt new methodologies. How do we do Agile “right”? What does DevOps really mean? How do we integrate Design Thinking into Agile without losing its creative essence? How do we connect these methods to  our ultimate goal, which is to continuously learn from the market by having productive conversations with our customers?

This talk will introduce a truly unified approach to design, development, and operations that goes beyond merely bolting them together. It will explore the shared heritage of Agile, DevOps, and Design Thinking in order to create a deeper understanding of what it means to deliver value. It will present the view that by making design a continuous part of everything we do, we can fulfill the Agile promise of harnessing change for competitive advantage.

BIO

Jeff Sussna is an internationally recognized IT coach and design thinking practitioner.  He specializes in helping digital organizations improve service quality through effective collaboration. His career spans thirty years of building systems and leading organizations across the entire product development and operations spectrum. Jeff provides Agile, DevOps, and Design Thinking coaching and workshops for leading enterprises such as United HealthCare, HealthPartners, Thomson Reuters, Best Buy, CenturyLink, and Cisco.

Jeff is a highly respected teacher, writer, and speaker. His keynote talks and workshops are in demand at design and IT conferences throughout the U.S. and Europe. He is especially known for introducing the global DevOps community to the importance of empathy, and is the author of Designing Delivery: Rethinking IT In the Digital Service Economy.

Speakers

From Apollo 13 To Google SRE: When DevOps Met SRE

Sanjeev Sharma

View Full Abstract

The complexity of managing and delivering the high level of reliability expected of web-based, cloud hosted systems today, and the expectation of Continuous Delivery of new features has led to the evolution of a totally new field of Service Reliability Engineering catered for such systems. Google, who has been a pioneer in this field, calls it Site Reliability Engineering (SRE). While it would be more aptly named Service Reliability Engineering, the name has caught on. The seminal work documenting Google approach and practices is in the book by Google by the same name (commonly referred to as the "SRE book"), and has become the defacto standard on how to adopt SRE in an organization. This session will cover adopting SRE as a practice in large enterprises.

See Bio Here

Ship It or It Never Happened: The Power of Docker, Heroku & CircleCI

Doguhan Uluca

View Full Abstract

Shipping code is hard and it is rough! It doesn't have to be. Using Docker, Heroku and CircleCI you can set up a world-class Continuous Integration and Continuous Deployment pipeline in an hour with advanced functionality like Heroku preview apps, provisioning servers on-demand for to scale and containers that leverage layering to enforce Enterprise requirements, while giving developers access, flexibility and speed to get their work done. With duluca/minimal-node-web-server docker image and how you can tailor it to build your micro-services or web servers in a matter of minutes using Docker and deploy your web app on the cloud.

See Bio Here

Refactoring with Cognitive Complexity

G. Ann Campbell

View Full Abstract

For 40 years, cyclomatic complexity has been the de facto standard for measuring testability and maintainability. While it's absolutely accurate for testability, the same can't be said for maintainability. Cognitive complexity solves the problem and returns "fair" relative measurements of control flow complexity. In this session, you'll learn what the cognitive complexity methodology is and why you should add it to your metric suite. You'll see how it applies to a number of code samples from open-source projects on SonarCloud.io. And you'll learn how to use a method's cognitive complexity score as a guide to designing better code and refactoring existing code to be simpler and more maintainable. Because there's no "cost of entry" with Cognitive Complexity, a high cognitive complexity at the class level is a reliable indicator that a class contains a lot of logic, not just a lot of methods. That is, you can use cognitive complexity to sift POJOs from the logic-intense classes that impose a higher maintenance burden. Cognitive Complexity is available in most of the SonarQube ecosystem, but is an open standard, implementable by all.

See Bio Here

True Tales of Antifragile Code

Rob Myers

View Full Abstract

"Have you ever abandoned an innovative user story because it was deemed too costly to implement?

Leaders of software development teams want to be able to adapt their existing product to innovative ideas and shifting market conditions. This is often the reason organizations ""go Agile,"" yet this ability to flexibly deliver rich business value is often frustratingly out of reach.

Agile teams and their leadership are also familiar with the value of individual development practices. For example, they know that Test-Driven Development can ""catch defects early."" What Rob has found by working with a number of teams, each for six months or more, is another much greater--and more rare--source of business value resulting from diligent attention to software craftsmanship, and the resulting two-way trust that forms between Development and Product.

You will hear a few of surprising (but true) first-person tales, each detailing a time when changing market forces, dramatic pivots, disruptive technological changes, or insightful requests were delivered by the team within a single week. Each of these ""Black Swan User Stories"" (Rob's term for powerful, risky, and unforeseen user-stories) resulted in multiplying user productivity, opening whole new markets, or delighting and retaining critical customers.

Rob will then share the retrospective findings regarding those successes; and the great news that these are obtainable by any team willing to diligently apply a few core incremental and iterative technical practices. Your Agile team can realize the long-held expectations for the delivery of greater business value."

See Bio Here

How to fit threat modelling into agile development: slice it up

Irene Michlin

View Full Abstract

"Agile is focused on the creation and building of great software, we all agree on that. Can you claim a great software if this software is not secure? Would customers accept a feature, no matter how attractive and useful, if they suspect it puts their data at risk?

Security is therefore essential to all the software we build. As with many other software properties, security cannot be ""bolted on"". The earlier in the lifecycle you pay attention to security, the better are the outcomes.

Threat modelling is one of the best techniques for improving the security of your software. It is a structured method for identifying weaknesses on design level.

However, people who want to introduce it into their work on existing codebase often face time pressure and very rarely can a company afford “security push”, where all new development stops for a while in order to focus on security.

Incremental threat modelling that concentrates on current additions and modifications can be time-boxed to fit the tightest of agile life-cycles and still deliver security benefits.

Full disclosure is necessary at this point -- threat modelling is not the same as adding tests to the ball of mud codebase and eventually getting decent test coverage. You will not be able to get away with doing just incremental modelling, without tackling the whole picture at some point.

But the good news are you will approach this point with more mature skills from getting the practice, and you will get a better overall model with less time spent than if you tried to build it upfront.

We will cover the technique of incremental threat modelling, and then the workshop will split into several teams, each one modelling an addition of a new feature to a realistic architecture. The participants will learn how to find the threats relevant to the feature while keeping the activity focused (i.e. not trying to boil an ocean).

This session targets mainly developers, qa engineers, and architects, but will be also beneficial for scrum masters and product owners."

See Bio Here

Skills for a balanced team: basic agile user testing for non-designers

Sophie Freiermuth

View Full Abstract

"Through my 12 plus years designing and delivering products, I've come to give tremendous value in testing with users, as well as through QA tests. And I believe everyone on a product or development team can learn enough about how to test a product, feature or prototype with users, to at least understand the effort and value, and, at best, do it themselves successfully. I've also come to realize that, as a researcher, I often had too little time to brief or train enough my developers, testers or product owner to really empower them so they could contribute positively to the research effort, and feel an ownership of the insights identified, and am hoping to pass on the knowledge straight to teams to help designers everywhere.

In this workshop, I'll share user testing practices, techniques, and skills that will help you, a non-designer or researcher, contribute to, or even run testing with users. I'll particularly focus on all that can be done on agile-only projects, where outcomes and insights need to processed promptly and efficiently. I've identified two key areas of value: note taking and facilitating. Note taking is often asked of the team when viewing a session, however, there are a few subtleties to taking notes that make them either easy to analyze, or useless, and I'll share on that. The other key knowledge is the actual facilitation of tests, and I'll invite you to consider all it encompasses, in order to nourish your personal reflection on skills and practices.

Created specifically for non-designers, this workshop aims to upskill participants in taking valuable notes when observing sessions, and understand how testing needs to be facilitated in order to obtain robust insights. These skills can then be shared, in order to enable the team to be more efficient a conducting research, and become a balanced team where research isn't bottlenecked by the capacity of a trained researcher or designer.

Comprising contextual theory, and a lot of hands-on practice as well as tools to reflect on performance and progress, this workshop will leave you better informed on testing with users, a better collaborator to research that may be ongoing with your product or service, and a more understanding colleague to designers and researchers.

This session welcomes further questions on research and will allow ample time for discussions."

See Bio Here

Need for Speed: Accelerate Automation Tests From 3 Hours to 3 Minutes

Emanuil Slavov

View Full Abstract

"All automated tests except unit are slow for today's fast paced, first-to-marked environment. This is the elephant in the room that every Agile practitioner ignores. With slow automated tests you're just shipping problems to production faster.

At Komfo, we had automated tests running for more than 3 hours every night. The execution time just kept growing unrestricted, and the tests were getting more unstable and unusable as a feedback loop. At one point the continuous integration build for the tests was red for more than 20 days in a row. Regression bugs started to appear undetected in production. We decided to stop this madness and after considerable effort and dedication, currently the same tests run for 3 minutes. This is the story of how we achieved nearly 60x faster tests.

This was accomplished by using Docker containers, hermetic servers, improved architecture, faster provisioning of test environments.

Running all your tests after every code change, in less than 5 minutes will be key differentiator from now on. In 5 years it will be a standard development practice, much like unit tests and CI are considered these days. Start your journey today.

Learn how to do this by applying four steps strategy:

Tests should create the data they need.
Use dedicated automation testing environment.
Simulate dependencies you don't control.
Run in parallel and optimize."

See Bio Here

Unit Tests as Specifications

David Bernstein

View Full Abstract

"Test-driven development is a core practice of Extreme Programming (XP) and the "secret sauce" for some teams, enabling them to rapidly build quality code. But for other teams it's an impediment that keeps them from refactoring code and increases their technical debt. TDD is supposed to help us refactor code safely but we often find that when we refactor our code we also have to change our tests, and what was supposed to add safety becomes a burden, requiring time and effort to keep tests up to date.

Writing good unit tests is a critical skill that developers need to master in order to get the most benefit from test-driven development. Tests must be unique, written at the right level of abstraction, and implementation-independent in order to be most valuable. When we understand how to use tests to articulate the behaviors we want to create, we can recognize the correct number and kind of tests needed to describe the behavior we want to build, putting every member of a team on the same page and building the right kind and number of tests that drive the creation of any behavior in the system. Our tests become a form of living specifications.

In this session, we'll cover effective techniques for doing TDD that support building useful tests and quality code. You'll learn how to instrument unit tests so they're more readable and flexible. Instrumentation helps make a test's intention clear and removes magic numbers from code.

You'll also learn how to approach TDD in a way that yields the right number and kind of tests that allow you to refactor code later without breaking it. Working through a few code examples, we'll see how many assertions are required to specify a linear range, exceptions, and other boundary conditions. We'll look at how to write tests that don't need to be changed when code is refactored while still keeping test coverage high.

If you've struggled to apply TDD on a project, or are just not sure how to start, then this session is for you."

See Bio Here

Technology Agility: The Cloud.. The Cloud.. Fantasy Island?

Dave Cornelius

View Full Abstract

"What would you do if your customers loudly complained about application slowness, your data center did not allow you to scale, and your technology future was on another platform?

Let us share what we did to WIN within 6 months! We used Kanban, a lean / agile practice to support frequent delivery and minimize work in progress (WIP). We optimized by rewriting key areas using microservices to be Cloud native on Platform as as Services (PaaS). Retained older solutions that would run on a Cloud Infrastructure as a Service (IaaS). Integrated with systems hosted at our on-premise data center. Finally, use DevOps or CloudOps to ensure our IT team were able to maintain and support the application. The goal was Performance, Reliability, and Scalability."

See Bio Here

Design Primer for Agile Teams

Basia Coulter

View Full Abstract

"Tech companies are increasingly investing in design. To stay relevant and competitive in a digital age, in which new technologies come and go faster than we fully learn how to use them, prioritizing design and user experience (UX) is simply good business.

While many development teams customize their Agile processes to make room for design and UX, design continues to be the first on a chopping block if cuts are made to a project. We could make it look nicer, but it's working, and continues to be an all too common rationale. And it's hard to argue with such statements in the context, in which working software is the primary measure of progress.

Design, including visual, user interface (UI), and UX design, is not, however, about making things look nicer. Design is a tool we employ to plan and modify systems in order to make them work better. It is also a language, a means of communication. In the case of software development, UX design is about planning and modifying the system to best fit user mental models, while visual and UI design are tools used to communicate the resulting functionality to the user through an interface. Design improves experience by reducing cognitive load and facilitating decision-making processes, and it helps make software usable. After all, the value of "working software" is limited if that software does not *work for* the end user.

This talk is meant for all members of Agile development teams, from developers (including embedded user experience designers) to product owners, and for designers working with Agile teams, who are interested in understanding how design harnesses the properties of human perception and cognition to communicate meaning and support comprehension.

Basia will discuss selected elements of human perception and cognition, including pattern recognition, Gestalt principles, mental models, and decision-making, demonstrate how they are leveraged in visual and UI design, and what implications they have for user experience."

See Bio Here

Mastering Legacy Code: Preventing Bugs in Code You Can't Test

Arlo Belshee

View Full Abstract

"I can't test this code because the design is awful. I can't refactor because I don't have tests. Yet it keeps having (and breeding) bugs. Now what?"" -- Everyone, everywhere

I've talked in the past about how this apparent catch-22 is resolved by a better understanding of the word ""refactoring"" --- that using a specific set of techniques allows defect detection and prevention even in untested --- or untestable --- code. Now I'm going to show you those techniques by applying them to some gnarly code.

This session is 75% live-coding, 25% talking. Most of the talking will be me asking you questions. So come if you want to think, want to get your hands dirty, and want to see specifics that you can try to apply immediately in your own code.

Agenda:

1. Microtesting: understanding what the code does and deriving a spec.
1. Resolve microtesting blocker: mechanically spot CQRS violations; resolve them via extract method + make method static.
2. Resolve microtesting blocker: mechanically spot multiple responsibilities in a class; resolve them via extract method + make method static + introduce parameter object.
2. Safeguarding: preventing bugs by eliminating hazards.
1. Remove hazard: primitive obsession leads to inconsistent computation; resolve it via introduce parameter object + extract method + move method."

See Bio Here

Applying Agile Practices To Improve Infrastructure Automation and Network Segmentation

Jason Tice

View Full Abstract

Have you ever considered how agile practices such as automated testing could provide benefit to infrastructure engineers & operations staff that design and maintain the environments that run your code? In this talk, we will highlight how modern infrastructure concepts including: infrastructure as code, automation / orchestration, and network segmentation impact agile development activities. Moreover, if your team has adopted solid agile testing & technical practices (such as continuous integration, automated integration tests, and automated regression tests), your tests could provide valuable data & insights to enable infrastructure & operations staff to design and maintain a highly reliable, scalable, and secure environment to run your code. Join us to learn how agile practices (that you are already supporting) can provide additional impact by confirming infrastructure and network configuration changes do not cause unintended consequences to your code.

See Bio Here

So You Want To Go Faster? A Roadmap for Continuous Deployment

Daniel Davis

View Full Abstract

"How frequently does a good agile team deploy to production? Not every team is capable of deploying ""on every commit"". What does it take for a team to even start deploying at the end of each sprint, or each week, or each day?

Most companies don't realize that deploying more frequently often requires both significant technical change as well as cultural change. In this talk, I'll guide you through what it takes to deploy more frequently. I'll draw on the unique challenges that teams must overcome at each step of the way, from deploying once a month all the way down to full continuous delivery. If your team has been struggling to go faster, come see how you can change to get there. And if you already are at full continuous delivery, come see how to go even faster than that!"

See Bio Here

Home DevOps - Doing all the right things on a small scale

Bryan Beecham

View Full Abstract

"You have an idea for an app. It's going to be amazing! Of course you want to test drive it to build it right. But you have to get it out there fast. You need to use an Agile, lean startup approach, with all the benefits of DevOps. And it needs to grow quickly and iteratively. The big problem is that your full staff accounts to one person - you.

In this session, you will learn how to make your app dreams come true. Using python, git and Heroku, Bryan will demonstrate a simple way to quickly iterate on your ideas, moving code through tests and deploying right to production."

See Bio Here

Noisy Code: The SNR Conjecture

Tim Ottinger

View Full Abstract

"We will focus solely on how clearly and starkly code presents its intention: its Signal-to-Noise Ratio (SNR).

We will explore this one aspect as a potential replacement for other measures and heuristics of code quality.

When the meaning and mechanics of any passage (paragraph, function, or page) of source code are both apprehended easily, that code is
* faster to skim
* faster to read deeply
* faster to improve
* quickly identified or excluded as the site of a defect

Reaching that point of easy comprehension is trickier. Relying on catalogs of code smells and/or automated code quality metrics can leave a lot of room for misunderstanding:

* One passage of code may strictly have low cyclomatic complexity, low line count, no constants, low operator density, and longer variable names but remain tricky to modify
* Another passage can be terse, dense, and use short names but remain easy to understand and modify until the metrics system requires a developer to make it less dense and thereby less understandable.

Come see some examples of low-signal (or high-noise) software, in a ""before and after"" format, and let's discuss how and whether this one aspect makes code craft more learnable and teachable, and deepens your awareness of code quality."

See Bio Here

Underestimated costs of microservice architectures

Colin Jones

View Full Abstract

"With many business success stories, our beautiful software systems can degrade into monolithic Big Balls of Mud. And to fix these kinds of monstrosities, we as developers and architects have begun to reach for microservices as our solution. Beautifully-designed architecture diagrams and org charts clearly show the benefits in terms of coordination, batch size, and codebase understandability, but is it really all unicorns and rainbows?

As folks who have been down this road can tell you, microservice architectures don't solve all our problems. Tradeoffs abound, and in this talk we'll see the costs we need to be prepared to pay when we introduce microservices, including team dynamics as well as technical tradeoffs around consistency, failure handling, and observability."

See Bio Here

UX for the Agile Developer

Eva PenzeyMoog

View Full Abstract

"Are you a developer who has found yourself making design decisions for the product you're building? Many people find themselves in this situation, and often there's no designer on the project to recruit users, get feedback, and design a solution.
This workshop will arm developers with the UX basics of quickly identifying user-friendly solutions for when you find yourself in the role of a defacto designer.

You'll learn how to quickly test the people around you through setting up thoughtful 10 minute sessions and asking the right kinds of questions to identify a user-friendly solution.

This workshop is ideal for people from the development, product, and design world who are new to UX and interested in learning how to build user-friendly features though a quick and simple process that is easy to work into a fast-paced sprint."

See Bio Here

Enable your Agile Team with Continuous Delivery Pipelines

Esteban Garcia

View Full Abstract

"As your Agile team looks to shorten the cycle time from idea to production, it is important to give them the tools that will enable continuous feedback, collaboration with stakeholders, and most importantly, a way to get the product in front of the customer and enable a feedback loop.

This session will teach you how to create an effective release pipeline that incorporates Continuous Integration, automated testing, cloud deployment with Infrastructure as Code, Instrumentation, load testing, and more.

We will go from zero to Production in less than an hour and you will go back to work on Monday ready to deploy!"

See Bio Here

Back-end Developer's guide to UI and UX design: You have users too!

Burk Hufnagel

View Full Abstract

"You may not have thought about this but, as developers, we are all user experience designers. It's true. Whether we do it intentionally it or not, we create user experiences every time we write code that someone else interacts with. If you've ever used an API that behaved exactly the way you expected it to you, it's likely that someone took the time to think about who would be using that API and what their needs were. On the other hand, if you've ever tried to debug a 200 line method that did six different things, you can bet the person who wrote it wasn't thinking about maintainability, or how difficult it would be for someone trying to understand that code.

In this session we'll look at the three most common types of users we serve, what their user interface looks like, and ways to improve those interfaces and their user experience."

See Bio Here

Introduction to Serverless

Mike Roberts

View Full Abstract

"Serverless - the new fad that will take over the world! No more servers, no more code, no more engineers, no more operations!

But is Serverless this powerful, really? No, it's not, but it does improve on several key points in software delivery: reduce our infrastructure costs and commitments to just that which we need; outsource development and operations work that isn't unique to our business; and accelerate the lead time of conception of an idea to its deployment in production. This last point, especially, is a wonderful complement to an agile and DevOps delivery approach.

Serverless architectures are those that incorporate third-party backend-as-a-service (BaaS) products into the application, or that use functions-as-a-service (FaaS) platforms, like AWS Lambda, to run server-side code in a fully managed, event-driven, environment. By using these ideas such architectures remove much of the need for the traditional "always on" server system.

In this session Mike Roberts gives an introduction to Serverless techniques, together with examples of the types of application where it is well suited. He proceeds to give cautiously optimistic detail of the benefits, and limitations, of such an approach, concluding with how he expects Serverless to develop over the coming months and years."

See Bio Here

What is a Service Mesh, and Do I Need One when Developing Cloud Native Systems?

Daniel Bryant

View Full Abstract

"While service meshes may be the next ""big thing"" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.

In this talk, Daniel Bryant will share with you what service meshes are, why they're well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus. "

See Bio Here

Dynamic Reteaming at Fast-Growing Companies

Heidi Helfand

View Full Abstract

Team change is real, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split - like mitosis. 20 people might arrive in one day. What feels like tectonic shifts happen as you morph structurally in an attempt to refocus work and people. How can we bring a humanistic stance to this dynamic reteaming? How can the people be empowered to own their own team changes? How do you integrate the new people in without losing your sense of "culture?" We will explore questions like these with an interactive format. Along the way, I'll share case studies from 3 successful startups I've been a part for nearly 20 years.

See Bio Here

Cops and Robbers: Bootstrapping Team Unity Through Working Agreements

Matthew Plavcan

View Full Abstract

"Building an empowered team requires alignment. However, it's often assumed rather than agreed. From chartering to coding conventions, working agreements help teams to seek consensus and resolve disputes. They provide a mechanism for teams to take control of their development destiny, especially when the corporate process or adoption appears to restrict their autonomy. Starting from practical examples, we explore ways that technical working agreements can provide better code reviews, pairing, architecture, and team development. Collectively creating these effective negotiations within teams enable them to move from managed to motivated.

This session is for team members and servant leaders who facilitate their team's development. Attendees to the session will:
* Describe the role of the decision making process in team conflict
* Understand how the creation of an agreement is as important as the contents
* Explore the advantages of working agreements in companies where structured process already exists
* Integrate technical decision making process into software development habits"

See Bio Here

Optimizing For Collaboration: Unlocking The Continuous Fountain of Ideas

GeePaw Hill

View Full Abstract

In his work addressing the complexity of software development, GeePaw has identified four "separations" of the larger problem, areas we seek to optimize for maximum performance: Drive, Sustenance, Pathfinding, and Collaboration. In this session, we'll take a brief overview of that work, then focus in on optimizing for collaboration. The scarce resource in the geek trade is ideas. Fortunately, collaboration provides a nearly infinite source. As such, we need to take special pains to arrange our structure and process to enable F2D2: Frequent Focused Direct Dialog. We'll consider a variety of ways we can enable & encourage collaboration in and across our teams. This will be a short talk followed by a good long wrangle: come prepared to opine!

See Bio Here

Mob Programming Mini-Workshop

Woody Zuill

View Full Abstract

"We will invite some volunteers from the audience to work as a Mob Programming team on a simple coding exercise facilitated by Woody Zuill. We'll provide instruction on the basics of Mob Programming, and Woody will guide the team both as a ""product owner"" and as a facilitator to demonstrate some of the basic techniques of teamwork and collaboration.

This is a mini-version of a Mob Programming Workshop due to the time limits of the session, but we'll still be able to cover some important things such as how to work together, how to communicate our intent, how to keep calm when things aren't going well, and how to take baby steps using Test-Driven Development."

See Bio Here

Removing Duplication

Llewellyn Falco

View Full Abstract

"Emergent design is a cornerstone of eXtreme programming, TDD and Refactoring. Yet, most teams struggle with large amounts of duplication and copy & paste code instead of elegantly designed architure.

In this workshop we will pair up to work on small practice exercises that help us to see the duplication in the code. Then quickly and easily refactor to remove it and allow the hidden architecture inherent in the code to emerge.

We will do 5 exercises is one 5 languages ( python, c#, c++, javascript or java ) so bring a laptop with an IDE and get ready to code!

Suggested IDE's: Pycharm, CLION, Visual Studio with Resharper, Webstorm, IntelliJ, Eclipse. "

See Bio Here

Title

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

Title

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

Title

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

Title

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

Bryan & Bill's Three-Ring Design Circus

Bryan Beecham & Bill Wake

View Full Abstract

"Come one, come all - the circus is in town! Join us for the Greatest Software Show on Earth!

Witness our three experts in refactoring and test-driven development, working in three rings simultaneously. They will juggle various refactoring and test-driven development challenges, explaining what they do and taking questions as they perform.

Attendees: Stay with one ring, move between rings, or watch the main screen and get glimpses of all of them. Sit back, ask questions, or jump in and pair with the experts! The perfect show for kids of all ages!

We'll challenge all three performers with the same problem, and pause to review their breathtaking feats of keyboard acrobatics.

_No animals will be harmed in this session._"

See Bryan's Bio Here

See Bill's Bio Here

Patterns of Iterative Architecture

Chris Gow & Declan Whelan

View Full Abstract

"In Agile you should start with the simplest thing that will give you value, and iteratively build on top of that. But how does that work with a Legacy Enterprise Application that everyone is terrified to touch? Or what if we need to build an application that handles millions of transactions a day? How can we make sure that our architecture will meet our needs two years from now, when we don't know what the application will look like? And how does the process of architecture work in an Agile environment?

Join Chris and Shawn in this interactive session, as they explore these topics. Learn architectural patterns that allow you to evolve your architecture. Examine techniques to help you work with legacy apps and dependencies. Learn how good architecture allows us to manage technical risk. See how business and technical people can work together to build an iterative plan for your product, both functionally and architecturally."

See Chris' Bio Here

See Declan's Bio Here

Everyday Beliefs Come True: Creating Greatness through the Stories We Tell

Allison Pollard & Michael Jesse

View Full Abstract

Have you discovered your team's power to become great? Nobody is the villain in their own story, and yet many teams get in their own way. The stories we tell ourselves have the ability to hold us back or propel us forward. Allison and Michael will share a model to recognize what kind of stories your team is telling itself in their everyday conversations. Join this interactive workshop to learn how to listen to a team and coach them to become greater through the words they use.

See Allison's Bio Here

See Michael's Bio Here

This is custom heading element

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

This is custom heading element

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

This is custom heading element

Name

View Full Abstract

Full text and BIO LINK

 

See Bio Here

Follow deliver:Agile 2018 Speakers on Twitter

Conference Themes

Core Technical Practices

Topics such as test driven development, refactoring and infrastructure as code

The good software engineering practices that developers use every day to build robust, quality software. For those newer to the Agile Engineering and those wanting to refresh or expand their core skills.

Team Technical Practices

Topics such as continuous integration, collective code ownership, pair programming, Lean UX, behavior driven development (BDD), continuous delivery and automated deployment to cloud infrastructures

The practices that support teams in building great software. Interdisciplinary practices that increase flow, communication quality, or the effectiveness of teams.

Technical Practices at the Organizational Level

Topics such as A/B testing and experimentation, data analytics, DevOps and repeatable deployments, system-wide monitoring, security and continuous deployment

The fact that technology, and the software behind it, is at the core of every business organization requires a new set of technical practices. This entire field is ripe for discussion, learning, and advancement as there are the most unknowns and challenges here.

Registration is Open!

Sponsors