Loading…
deliver:Agile 2018 has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Session [clear filter]
Monday, April 30
 

10:20

Mastering Legacy Code: Preventing Bugs in Code You Can't Test (Arlo Belshee)

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.

Learning Outcomes:
  • See a new way to test, with best features of both a unit test and an acceptance test.
  • Observe that testing this way induces design pressure, and use that to guide your design.
  • Spot and address the 2 most-common design obstacles to testing.
  • Understand that defects are not spontaneous; they can be prevented by addressing hazards.
  • Spot and address the #2 bug-creation hazard (#1 is naming, and that is already well-addressed in other work).
  • Pick which habits to take home and learn by applying on your code.


Speakers
avatar for Arlo Belshee

Arlo Belshee

Team Craftsman, Legacy Code Mender, and Rabblerouser, Tableau Software
Arlo helps you change cultures in large organizations. He transitions hundreds or thousands of people at a time to full technical and cultural prowess in a way that sticks. More importantly, Arlo gives your company the ability to change its own culture. He seeks to be the last consultant... Read More →


Monday April 30, 2018 10:20 - 11:05
Lone Star F/G

10:20

The Tester's Mission (Ash Coleman)

Abstract:
Have you ever struggled to get features out the door, only to realize you are behind schedule? Have you ever been on time with your release, but realize after that you have to revert back because of catastrophic bugs? Have you ever wished there was more clarity into the development process, and the potential risk of deployment of a feature?
I have, and I believe these are questions we have all asked or have grappled with at one point or another. They are common questions when looking to deliver software, and will likely be questions we ask on all projects we work on. And so, the real question is, where do we find answers?
Testers!
In this talk, I will direct you to a secret source; tapping into the well of the Quality Assurance team. A team whose focus is producing a quality product by conducting test plans and appropriate coverage for your product. They work interactively with other roles within engineering to insure all approaches to development are covered and accounted for. And they work cohesively within Agile ceremonies to reveal areas of risk and provide feedback concerning each deployment. They are the additions you never knew you had. With quality being the responsibility of everyone on the team, they work as an added level of assurance to round out the development process, and secure a better deployment. When given the space, they have the ability provide the resources needed to help find answers to these hard questions, and better prepare the team for the unknowns of delivering software.
This is the tester's mission.

Learning Outcomes:
  • We will take a walk through the power of understanding a tester's contributions on an agile team, and how to see the semblance of having a successful delivery when testers are closely integrated on the team by discussing:
  • - Testing Plans, Coverage, and Matrixes,
  • - The importance of establishing clear Definitions of "Ready" and "Done,"
  • - Testers participation and voice in Agile Ceremonies, and
  • - The art of testing and pair testing


Speakers
avatar for Ash Coleman

Ash Coleman

Head of Diversity & Inclusion for Credit Karma, Credit Karma
A progressive type, Ash focuses her efforts within technology on bringing awareness to inclusion of women and people of color, especially in the Context Driven Testing and Agile communities. Though technology and inclusion have her heart today, engineering was not her first love... Read More →


Monday April 30, 2018 10:20 - 11:05
Lone Star D

11:15

Cops and Robbers: Bootstrapping Team Unity Through Working Agreements (Matthew Plavcan)

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

Learning Outcomes:
  • 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


Speakers
avatar for Matthew Plavcan

Matthew Plavcan

Technical Coach, Tacit Focus


Monday April 30, 2018 11:15 - 12:00
Lone Star D

11:15

FP vs. OOP: Beyond the Bikeshed (Colin Jones)

Abstract:
In object-oriented languages like Ruby, people often say that “everything is an object”—but first-class functions have become standard for object-oriented languages too. C# has had them and other related features for years, and even Java is in the game these days! Some “functional” languages seem to have some very object-oriented-looking features, too. If that sounds wrong to you, let's talk about polymorphism and more in languages like Clojure, Elixir, and even Haskell! So where does object-oriented programming (OOP) end and functional programming (FP) begin?
In this session, you’ll learn to look at these programming paradigms with a more critical eye, focusing on where FP and OOP folks fundamentally disagree, where these paradigms have more in common than the industry's rhetoric suggests, and how you can use those insights to make better decisions about the software you build.

Learning Outcomes:
  • - Deeper understanding of the different emphases of the functional and object-oriented programming paradigms, and of the overlap between their respective language implementations.
  • - More critical thinking and charity in technical discussions and debates.


Speakers
avatar for Colin Jones

Colin Jones

CTO, 8th Light
Colin Jones is CTO at 8th Light, where he works with teams to craft reliable, maintainable software. He's into application performance, security, DevOps, architecture, and functional programming. He is the author of Mastering Clojure Macros (Pragmatic Press, 2014).


Monday April 30, 2018 11:15 - 12:00
Lone Star E

11:15

Noisy Code: The SNR Conjecture (Tim Ottinger)

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.

Learning Outcomes:
  • Those in the room will learn a (perhaps) new way to consider their code, and to teach others to consider the code they write.
  • Attendees will focus on the essential nature of the code, and their ability to use code craft to cooperate with their IDEs for faster/safer coding.


Speakers
avatar for Tim Ottinger

Tim Ottinger

Anzeneer, Industrial Logic
Tim is a long-time programmer (since 1979), reviewer, speaker, writer. He has been active in many of the big changes in software over the past 36 years (including Design Patterns, Object-Oriented Design, and Agile software development). In addition to his contributions in "Clean... Read More →


Monday April 30, 2018 11:15 - 12:00
Lone Star F/G

13:30

Dynamic Reteaming at Fast-Growing Companies (Heidi Helfand)

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.

Learning Outcomes:
  • Participants will learn:
  • -Patterns of team change including: grow and split, mitosis, and load balancing across teams.
  • -Techniques for enabling people to choose their own teams.
  • -Activities encouraging teams to experiment and reflect on team changes that they design.
  • -How to provide support and coaching for people going through team change.
  • -Techniques designed to bring openness to large-scale reteaming events.
  • -Practical tips to help teams gel and get up to speed after they change.


Speakers
avatar for HEIDI HELFAND

HEIDI HELFAND

Director of Engineering, Procore Technologies
Heidi Helfand is Director of Engineering Excellence at Procore Technologies, creators of cloud-based construction software. Heidi was on the “first team” at ExpertCity, Inc. (acquired by Citrix) where they invented GoToMyPC, GoToMeeting and GoToWebinar and AppFolio, Inc., a SAAS... Read More →


Monday April 30, 2018 13:30 - 15:00
Lone Star D

13:30

Mob Programming Mini-Workshop (Woody Zuill)

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.

Learning Outcomes:
  • • The basics of Mob Programming
  • • How to introduce Mob Programming to your teams
  • • How to give each member of the team a chance to contribute
  • • What it takes to be a decent team member
  • • The importance of Kindness, Consideration, and Respect


Speakers
avatar for Woody Zuill

Woody Zuill

Independent Agile Guide, Independent Agile Guide
I've been a software developer for 36+ years, and I'm an Agile enthusiast. I work as an Independent Agile Guide. I worked with the original "Mob Programming" team at Hunter Industries, and have been instrumental highlighting "No Estimates" concepts. I've enjoy sharing my Agile experiences... Read More →


Monday April 30, 2018 13:30 - 15:00
Lone Star B/C

13:30

Skills for a balanced team: basic agile user testing for non-designers (Sophie Freiermuth)

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.

Learning Outcomes:
  • - Understanding of the 5 steps of user research
  • - Understand how user testing can fit in agile cadences
  • - Note-taking skills to efficiently contribute to research
  • - Basics of facilitating a test


Speakers
avatar for Sophie Freiermuth

Sophie Freiermuth

Director, Baguette UX
I help business and technical teams make sense of design, and design teams perform well with business and tech people. I bring in UX design, research, service design as well as agile practices and innovation approaches to teams all over the world, and help them deliver value to their... Read More →


Monday April 30, 2018 13:30 - 15:00
Lone Star E

13:30

Your First TDD (James Grenning)

Abstract:
You've heard about TDD but have never tried it or don't quite get it. The best way to get TDD is to try TDD with an experienced TDD practitioner. In this workshop, you will get a brief overview and demo of TDD, but way more. We will all practice TDD in a language of your choosing (C, C++, Java, C#, Python). Bring a laptop or a tablet with a keyboard. You can access my custom cyber-dojo.org server with your browser and begin doing TDD with no special tool setup. I'll set up a virtual pairing experience, I write the tests, you make them pass. You will know what TDD is after this session. Bring a friend!

Learning Outcomes:
  • Why is TDD important and what problems does it help with?
  • What is TDD?
  • Experience how TDD prevents defects.
  • Experience the cadence and small steps of TDD.
  • Experience right-sized unit tests.
  • Get your questions about TDD answered.


Speakers
avatar for James Grenning

James Grenning

President, Engineer, Coach, ..., Wingman Software Consulting
James Grenning’s trains, coaches and consults worldwide. With decades of software development experience, both technical and managerial, James brings knowledge, skill, and creativity to software development teams and their management.  As his professional roots are in embedded... Read More →


Monday April 30, 2018 13:30 - 15:00
Lone Star F/G

15:20

Optimizing For Collaboration: Unlocking The Continuous Fountain of Ideas (GeePaw Hill)

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!

Learning Outcomes:
  • * The "Color Separation" approach to addressing complexity.
  • * The F2D2 Goal
  • * Collaboration Modes and Heat Maps
  • * Tricks for Breaking Structures


Speakers
avatar for GeePaw Hill

GeePaw Hill

Coach, GeePawHill.org
GeePaw Hill is an independent software development coach. A geek for nearly 40 years, he has been doing, teaching, and coaching software using the various techniques of agility since the late '90s. He has worked with large teams and tiny ones all over the world, creating everything... Read More →


Monday April 30, 2018 15:20 - 16:05
Lone Star D

15:20

So You Want To Go Faster? A Roadmap for Continuous Deployment (Daniel Davis)

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!

Learning Outcomes:
  • Attendees should leave the talk with a full understanding of the different challenges for deploying at these intervals:
  • - Once per sprint
  • - Every few days
  • - Daily
  • - On Every Commit
  • Attendees will learn about important DevOps techniques, including:
  • - Blue/Green Deployments
  • - Feature Toggles
  • Attendees will be able to answer to these common cultural questions:
  • - Why does more frequent deployment not translate into more risk?
  • - How do you ensure quality without a dedicated QA team of manual testers?
  • - Do all deployments deliver functionality?
  • - Is it actually ok to let commits go to production without human intervention?


Speakers
avatar for Daniel Davis

Daniel Davis

Managing Consultant, Excella Consulting
I love testing, Agile and cats. If any of those things interest you, come find me. If any of those interests overlap (e.g. Agile cats), definitely come find me!


Monday April 30, 2018 15:20 - 16:05
Lone Star B/C

15:20

Unit Tests as Specifications (David Bernstein)

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.

Learning Outcomes:
  • Avoid the common pitfalls of doing TDD
  • Identify the minimal number of tests required to specify a behavior
  • Avoid writing implementation-dependent tests
  • Build test suites that acts as a safety net for refactoring
  • Instrument tests so they read more like specifications
  • Use unit tests to specify testable behaviors

Attachments:

Speakers
avatar for David Bernstein

David Bernstein

Consultant, To Be Agile
David Scott Bernstein is the author of the new book _Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software._ It’s an insider’s view of the software industry drawn from his decades of hands-on experience as a software developer, trainer, and consultant... Read More →


Monday April 30, 2018 15:20 - 16:05
Lone Star F/G

16:15

Elixir: a potion for building scalable, fault-tolerant systems (Declan Whelan)

Abstract:
While microservices offer a way to easily compose and scale systems they pose some challenges. Designing our systems functionally with simple data structures and composable functions can help. Elixir is rapidly emerging as a language and ecosystem to build systems in this way. We will explore Elixir and show how it can be used to build highly scalable, performant fault-tolerant systems. I will demo a running example of an Elixir application that brings the main concepts together.

Learning Outcomes:
  • How to build evolutionary microservices with Elixir.
  • Applying Domain Driven Design to functional solutions.


Speakers
avatar for Declan Whelan

Declan Whelan

Leanintuit
Helping organizations improve value steams and their organizational structure.


Monday April 30, 2018 16:15 - 17:00
Lone Star E

16:15

Healthy Agile Product Security (Molly Crowther)

Abstract:
When people think of product security, they think of an enforcer telling them "no" or "don't do that" or "I'm surprised you didn't know that". At Cloud Foundry, we're trying to improve product security while building a healthy agile security culture. This session will include real-life examples of how a globally-distributed engineering team is working on a secure development lifecycle, some pain points we've hit along the way, and best practices for shipping security features quickly and (relatively) painlessly. Participants will come away with the knowledge of why and how to improve the culture of product security at their organization.

Learning Outcomes:
  • Participants will come away with the knowledge of why and how to improve the culture of product security at their organization.


Speakers
avatar for Molly Crowther

Molly Crowther

Senior Technical Program Manager, Pivotal
Molly Crowther is a Senior Technical Program Manager at Pivotal, working on security strategy and vulnerability management for Cloud Foundry. She also helps lead security workshops for open- and closed-source Cloud Foundry teams in North America and Europe.


Monday April 30, 2018 16:15 - 17:00
Lone Star D

16:15

Home DevOps - Doing all the right things on a small scale (Bryan Beecham)

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.

Learning Outcomes:
  • - Practice DevOps in a safe environment
  • - Create hobby projects using technical practices
  • - Mange projects with Heroku
  • - Setup an API project


Speakers
avatar for Bryan Beecham

Bryan Beecham

Sr. Agile Consultant, Iceberg Ideas Inc
Bryan Beecham is known for providing passionate and innovative software development guidance. As a consultant with companies ranging from small startups to large Fortune 500 companies, he matches his advice to their needs and capabilities. He has a particular interest in helping individuals... Read More →


Monday April 30, 2018 16:15 - 17:00
Lone Star B/C
 
Tuesday, May 1
 

10:20

Agile Schizophrenia: Consistent Agile is the Hobgoblin of Little Minds (Fred George)

Abstract:
Consistent Agile has one guarantee: Consistent failure, or mediocrity at best. Agile is no more a universal set of practices any more than Java (or Ruby or Fortran in my day) is a universal language, or Spring a universal framework, or Angular.js a universal UI tool.
In this talk, we will explore the behavioral purpose behind the practices, and assert that once the behavior is achieved, the practices serve as a barrier to success, or at a minimum, a barrier to further process innovation. Understand that these practices, radical in their time, were meant to break the chains of waterfall thinking. Unfortunately, these practices have too often become new, gilded chains.
We make two arguments for flexibility in team-to-team, project-to-project Agile practices. First, the type of problems we are solving today vary greatly. We will expound on that with Dave Snowden’s Cynefin framework.
Second, we will dissect several key Agile processes, making claims about the intended behavior for the practice. Once that behavior is achieved, the value of the process is largely gone, and sometimes even an inhibitor to further progress. As an Agile practitioner for nearly two decades, I will talk about my use and removal of these processes.
We briefly present several signs that your current Agile process is staid (ie, not Agile anymore!)
We wrap up by looking at a UK retailer, and how they have adopted different practices for different purposes.

Learning Outcomes:
  • The audience should understand rationale for various Agile practices, and the point at which the Agile practice becomes an inhibitor rather than facilitator. The material should also help justify new experiments in the processes in Agile teams in their companies.


Speakers
avatar for Fred George

Fred George

Founder, Fred George Consulting
Fred George is an industry consultant, and has been writing code for 50 years in (by his count) over 70 languages. He has delivered projects and products across his career, and in the last decade alone, has worked in the US, India, China, and the UK. He started ThoughtWorks University... Read More →


Tuesday May 1, 2018 10:20 - 11:05
Lone Star F/G

10:20

Communicating With Code: Writing Tests That Don't Suck (Chris Stead)

Abstract:
When we write tests around code, not only are we verifying that the underlying behaviors adhere to expected specifications, we are telling the next programmer about how our program works. In this talk we will examine the act and practice of writing tests and moving beyond verifying behavior to start communicating effectively about our program interface and how it is used.

Learning Outcomes:
  • - An understanding of why refactoring is appropriate for tests
  • - How to leverage patterns like dependency injection to simplify test setup
  • - How to construct useful domain models to enhance information embodied in their tests


Speakers

Tuesday May 1, 2018 10:20 - 11:05
Lone Star D

10:20

From Apollo 13 To Google SRE: When DevOps Met SRE (Sanjeev Sharma)

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.

Learning Outcomes:
  • - Understand SRE
  • - How does SRE align with Agile
  • - How does SRE align with DevOps
  • - Adopting SRE in an enterprise
  • - Use examples from the Apollo 13 incident as analogies to SRE in an Agile/DevOps environment


Speakers
avatar for Sanjeev Sharma

Sanjeev Sharma

Distinguished Engineer, IBM
Sanjeev Sharma is an internationally known DevOps and Cloud Transformation thought leader, technology executive, and author. Sanjeev's industry experience includes tenures as CTO, Technical Sales leader, and Cloud Architect leader. As an IBM Distinguished Engineer, Sanjeev is recognized... Read More →


Tuesday May 1, 2018 10:20 - 11:05
Lone Star E

11:15

Applying Agile Practices To Improve Infrastructure Automation and Network Segmentation (Jason Tice)

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.

Learning Outcomes:
  • Awareness for how modern infrastructure practices such as automation, orchestration, and network segmentation impact agile software development.
  • Opportunities to use existing practices for agile testing and software development to support modern infrastructure activities.
  • Suggestions on how agile software developers can partner better with Infrastructure and Operations staff to reduce risk of configuration and network changes.
  • Opportunities to learn insights from others in the session by creating impact maps of how to apply agile practices to reduce risk of infrastructure and/or network configuration changes.


Speakers
avatar for Jason Tice

Jason Tice

Vice President, Asyncrhony
Jason Tice has over 15 years of experience using collaborative activities and games to help organizations, their teams and their customers achieve clarity and alignment to enable high performance. More recently, Jason has led efforts to adapt collaboration frameworks familiar to agile... Read More →


Tuesday May 1, 2018 11:15 - 12:00
Lone Star E

11:15

Politics & Hierarchy: How We Create It & How to Stop (Katherine Kirk)

Abstract:
Ever had that heavy disappointment when you join an ‘empowered team’ and realise that politics and hierarchy are still driving behaviour.. and it won’t stop? Ever been frustrated that no matter what you do the political games just endlessly confuse and muddy any earnest attempt at doing work? Even in LeanAgile teams? What the hell is going on? Is it hopeless?
In this talk, drawing from her deep practical experience as a transformation specialist, Katherine challenges traditional thinking by using Eastern Philosophical models as lenses to explore new ways of thinking of how politics and hierarchy arise even in the most LeanAgile environments – and has a few suggestions on what we might do about it.

Learning Outcomes:
  • The forces behind what drives us to create politics
  • Ways we might unwind political difficulties
  • What you can do about it


Speakers
avatar for Katherine Kirk

Katherine Kirk

Agile/Lean Coach, Independent
Now an independent consultant and researcher, Katherine has solid experience contracting and freelancing in a variety of roles within the IT and Media industries: from blue chip investment banking to media conglomerates. She has spent time as an Agile Coach at Rally after a period... Read More →


Tuesday May 1, 2018 11:15 - 12:00
Lone Star D

11:15

Technology Agility: The Cloud.. The Cloud.. Fantasy Island? (Dave Cornelius)

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.

Learning Outcomes:
  • At the conclusion of this presentation participants will be able to:
  • 1) Understand the need for a Digital Transformation Strategy
  • 2) Discover the difference between IaaS, PaaS, and Hybrid models and use each model appropriately
  • 3) Learn about Microsoft Azure good, bad, and ugly experiences

Attachments:

Speakers

Tuesday May 1, 2018 11:15 - 12:00
Lone Star B/C

13:30

Everyday Beliefs Come True—Creating Greatness through the Stories We Tell (Allison Pollard, Michael Jesse)

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.

Learning Outcomes:
  • Understand how stories/conversations shape a team's beliefs and work
  • Identify the drama triangle and empowerment dynamic models
  • Differentiate a storyteller's current perspective using the drama triangle
  • Practice the coach role in the empowerment dynamic to shift the storyteller's perspective


Speakers
avatar for Allison Pollard

Allison Pollard

Agile Coach, Improving
Allison Pollard helps people discover their Agile instincts and develop their coaching abilities. As an Agile coach with Improving in Dallas, Allison enjoys mentoring others to become great Scrum Masters and fostering communities that provide sustainability for Agile transformations... Read More →


Tuesday May 1, 2018 13:30 - 15:00
Lone Star D

13:30

Rehearsal Series: choreographic coding (Joana Chicau)

Abstract:
“We might think of choreography in terms of ‘rehearsal’; that is, as the working out and working through of utopian, nevertheless ‘real’, social relations.” Andrew Hewitt
A cross-disciplinary exploration of choreography & (web)code. By ‘rehearsal’ it is meant a sort of temporary stage for experimenting with web design tools which follow choreographic methods and thematic concerns. This format is very similar to a open workshop, open to any participants curious to explore the use of choreographic techniques to generate newness in design, new modes of thinking composition matters, participation, relations and articulations between bodies and technologies. Traditionally, a rehearsal is a built in process, a space and time for developing ideas and work acknowledging unexpected and unpredictable results. Another important point about the ‘rehearsal series’ is to break the distancing between mind/body, self/other, subject/object, discovery/invention. Enhancing the idea of process over product: processes of becoming, becoming structures, becoming codes and scripts.
This project focus on the use of Free/Libre Open Source (Floss) models/ philosophies technologies, questioning how may creative coding practices interfere deeper with interface design and information displays — when considering new (choreographic) vocabularies, embodiment and new movement perception possibilities.
The flexibility of code allows for a combination of possibilities, not only for the live performance setting, but also for the use of the code itself by other designers, just as in any choreography that can be re-interpreted, re-created and adapted. The code serves as a generative tool for new possible outcomes in the creation of graphics for interfaces and a way of playing with the choreographic logic. Therefore, this method promotes disciplinary openness, by sharing ideologies and methodologies and questioning structures of collaboration and of intellectual property.
Choreographic thinking and methodologies address questions of unpredictability, indeterminacy, immateriality, spatial and temporal paradoxes that can inform design on how to respond to the digital logic. As in as considering the indeterminate interactions between scripts, machines and users, and the complex inter-relations, dependencies and contingencies of design. In short, its performative stance.

Learning Outcomes:
  • Building process: small groups are created for sharing knowledge, mind mapping and nurturing collective discussion on the topics, references and experiences during the day.
  • The outcome is a piece of ‘choreographic code' — all participants are invited to contribute to the choreographic code by translating the ideas discussed in the session into html/css/javascript functions or as prototypes developed in other formats.


Speakers
avatar for Joana Chicau

Joana Chicau

Designer CEO, Joana Chicau
I am a designer, creative coder, researcher with a background in dance! I run a trans-disciplinary research project which interweaves media design and web environments with performance and choreographic practices. The project focus on the use of Free/Libre Open Source (Floss) models... Read More →


Tuesday May 1, 2018 13:30 - 15:00
Lone Star B/C

13:30

UX for the Agile Developer (Eva PenzeyMoog)

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.

Learning Outcomes:
  • Learn how to break out of round-about conversations with your client about how a feature should work.
  • Learn how to respond to your client saying “why don’t we just…”
  • Learn that user testing doesn’t have to be a long, painful process and how to get the insights you need from the people already around you in user testing sessions as short as 10 minutes.
  • Learn how to prepare for quick, high-impact user testing sessions.
  • Learn how to ask the right kind of questions and how to guide people to give you the most effective feedback.
  • Learn how to explain and defend the decisions you made based on user testing.


Speakers
EP

Eva PenzeyMoog

UX Designer, 8th Light


Tuesday May 1, 2018 13:30 - 15:00
Lone Star F/G

15:20

Mob Programming: the Live Action Role Playing Game (Willem Larsen)

Abstract:
When done right, mob-programming can be thought of as the "bulldozer" of development practices - it is thorough and unstoppable. Clean maintainable code, massive team learning, and a breakdown of knowledge silos are a natural consequence of developing software in this way.
Of course, "when done right" is the catch. If your team mobs long enough you'll reinvent many of the successful roles and sub-practices that make mobbing soar. But why wait? "Mob Programming: the Role Playing Game" is a gamified mob programming experience where you will actively practice and integrate the behaviors and roles that make for successful mobbing, saving your team time and effort. Mob skills also apply to pairing, and the Mob is a great forum for improving paired development.
The game involves team coding, solving a code kata in real time with the support of everyone present.

Learning Outcomes:
  • Attendees will reflect on and improve how they use their tooling
  • Attendees will learn to sift for the best group idea to implement
  • Attendees will learn to communicate their ideas in both finely-detailed and high-abstraction ways
  • Attendees will learn to focus on how they can best contribute in any moment to the mob's mission, technically and interpersonally
  • Attendees will learn the basic successful structure of a mob and how to build on it


Speakers

Tuesday May 1, 2018 15:20 - 16:50
Lone Star D

15:20

Technical Practices in an Agile Transformation (Al Shalloway)

Abstract:
Many developers have had the experience of learning new development methods such as TDD and design patterns only to find they can’t readily use them in their current situation. These skills, however, are very critical to Agile improvements. But we seem caught in a ‘catch-22’ situation. The answer is by looking at the challenges present and solutions required and creating a road map for adoption.
The first step is to become aware of the need for safety, lowering risk while you pay down technical debt. We must also be aware of how the changes to our eco-systems (i.e., the way our teams work together) due to Agile improvements will cause problems. This is Conway’s corollary - when you change your team structure, Conway’s law will work against you.
This talk presents an approach to move out of this dilemma:
1) Create agreements among your team members on the objectives you are trying to achieve as well as your agreed to behavior – e.g., Hippocratic oath of coding (leave your code at least as good as it was before you touched it)
2) Wrap your system with tests for safety
3) Some practices that can be used to improve practices gradually, but across the board (e.g., programming by intention, encapsulation of constructors)

Learning Outcomes:
  • Attendees will understand the issues they must attend to while being provided a few simple practices that will move them forward.


Speakers
avatar for Al Shalloway

Al Shalloway

CEO, Net Objectives
Founder and CEO of Net Objectives.Co-founder of Lean-Kanban University (no longer affiliated). SPC Trainer. Co-author of 4 books on Lean, Scrum, Design Patterns and Agile Design. Happy to talk to anyone who wants a free consult. Also, are looking for folks who'd like to work with... Read More →


Tuesday May 1, 2018 15:20 - 16:50
Lone Star B/C

15:20

Unblocking Blockchain Adoption – Unchain Your Company’s Brain! (Jason Bowers, Rahul Gulati)

Abstract:
ALERT! You have just been sued and you have 40 minutes to prove your innocence! We will lead you through 2 interactive activities that will allow you and your organizations to utilize the power of blockchain and agile to avoid costly and sometimes fatal mistakes that could be solved by using blockchain solutions.
So why are people not adopting blockchain technology? The Four Pillars of the Agile Manifesto enable adoption of blockchain technology more efficiently and removes barriers to implementation by assisting organizations to share data securely (individuals and interactions over processes and tools), start small (working software over comprehensive documentation), building trust through consensus (customer collaboration over contract negotiation), and creating solutions through iterative and incremental change (responding to change over following a plan).
The first activity (Building an Agile Blockchain) will simulate the creation of a blockchain to solve a riddle that will identify shortcomings of current technologies. The second activity (Bringing Blockchain Home) will walk through the approach to identifying areas where blockchain is a viable technology and have participants identify a business problem in their company that can be solved using blockchain.
Why are we talking about blockchain? Over $500 billion dollars has been invested in blockchain-based startups and platforms since the advent of the technology, outweighing the market capitalization of long-standing stock exchanges like the Dow Jones. The appetite for blockchain solutions in both private and public sector is growing at an increasingly fast rate. However, adoption is stymied by fear of the unknown; clients are often afraid of implementing blockchain and exposing themselves to undue risk.
Why Agile? Well, since this is the premiere Agile conference, I am assuming you already know – but don’t worry, we will have 2 minutes on what “Agile” means in the context of this session to dispel rumors, innuendoes, and assumptions.

Learning Outcomes:
  • Be able to understand what blockchain is and its applicability to potential business problems
  • How to leverage the Agile Manifesto’s 4 Pillars to increase efficiency in implementing blockchain and reduce the fear of failure or breach of data which leads to limited adoption
  • How to drive adoption of blockchain solutions and identify low-risk starting points to build upon (both technically and business-focused user-stories)
  • How to scope blockchain solutions to both prepare for the future and mitigate risk of changing requirements
  • What potential business issues you can solve at your company using blockchain technology using Agile principles



Tuesday May 1, 2018 15:20 - 16:50
Lone Star E
 
Wednesday, May 2
 

08:30

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

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.

Learning Outcomes:
  • You will "meet" three types of users you probably didn't know you have, and understand how to design a better user experience for them.
  • You will understand the fundamentals of good User Interface and User Experience Design, and how to apply them to writing code.
  • You will walk away with a deeper appreciation of the user experiences all around you.


Speakers
avatar for Burk Hufnagel

Burk Hufnagel

Technical Architect, Daugherty Business Solutions
UI/UX Design, Behavior Driven Development, Test Driven Development, Building better software in less time


Wednesday May 2, 2018 08:30 - 09:15
Lone Star E

08:30

Test Driven Development with Cucumber (Ken Pugh)

Abstract:
Cucumber is usually considered a customer acceptance test automation tool. However in many situations, it can be used as a unit testing framework as an alternative to JUnit. Cucumber tests separate the test structure in feature files from the implementation in step definition files. This separation can increase maintainability. You can create customer readable tests for business rules and domain terms, rather than using less customer-readable code. Having alternative tools allows you to use the one that best defines the test specification.

Learning Outcomes:
  • Applying an alternative way of expressing unit tests
  • Using a common test representation for both ATDD/BDD and TDD
  • Separating test structure from test implementation for maintainability
  • Representing customer domain terms and business rules as customer readable tests


Speakers
avatar for Ken Pugh

Ken Pugh

Chief Consultant, Ken Pugh, Inc.
Ken Pugh helps companies evolve into lean-agile organizations through training and coaching. His special interests are in collaborating on requirements, delivering business value, and using lean principles to deliver high quality quickly. Ken trains, mentors, and testifies on technology... Read More →


Wednesday May 2, 2018 08:30 - 09:15
Lone Star B/C

08:30

Underestimated costs of microservice architectures (Colin Jones)

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.

Learning Outcomes:
  • Deeper familiarity with microservice architectures
  • Ability to make more informed decisions about microservices based on tradeoffs in the form of costs and benefits.


Speakers
avatar for Colin Jones

Colin Jones

CTO, 8th Light
Colin Jones is CTO at 8th Light, where he works with teams to craft reliable, maintainable software. He's into application performance, security, DevOps, architecture, and functional programming. He is the author of Mastering Clojure Macros (Pragmatic Press, 2014).


Wednesday May 2, 2018 08:30 - 09:15
Lone Star D

09:25

Applying Agile to Big Data and Machine Learning (Ade Miller)

Abstract:
It might seem like a Big Data or Machine Learning project wouldn't lend itself to an agile software development approach. The "Big" in Big Data implies lots of infrastructure and up front work in order to get things moving before a single piece of useful user functionality can be delivered. In fact the very experimental nature and huge unknowns implicit in almost all of these projects makes an agile approach very well suited.
Ade Miller has spent the last four years working on Big Data and Machine Learning projects, first and CenturyLink Cloud and more recently at Conga. He will be presenting the results of his experiences successfully delivering with agile. In addition to talking about his experiences, what worked and what didn't, he will also be discussing how to adjust your agile approach to take into account the unique constrains of these types of project.

Learning Outcomes:
  • Attendees will have a clear understanding of the constraints that big data and machine learning focused projects place on the agile software development lifecycle. In addition they will understand opportunities presented by taking an agile approach to such projects.


Speakers
avatar for Ade Miller

Ade Miller

Technical Fellow, Conga
Ade Miller currently leads the Machine Learning Engineering Team at Conga, building the ML infrastructure behind their Contract Life-cycle Management products. Before joining Conga Ade led team responsible for CenturyLink Cloud's analytics platform. A highly distributed system providing... Read More →


Wednesday May 2, 2018 09:25 - 10:10
Lone Star B/C

09:25

Building Your Team to Last (Sarah Withee)

Abstract:
Hiring and onboarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivity is often a challenge for even the most experienced lead developer.
This talk will cover some tips on building your successful team. We'll discuss:
  • How to choose the right types of people to add to your team.
  • How to onboard and mentor your new team members, including patterns of ineffective mentoring and why they're harmful to the team.
  • How everyone can benefit from bringing on junior developers and interns the right way.
By the end, you'll see how your whole team will benefit from these strategies.

Learning Outcomes:
  • Strategies for choosing good teammates to hire to optimize successful team
  • Ways to onboard new team members to optimize both the team and new person's time


Speakers
avatar for Sarah Withee

Sarah Withee

Polyglot software engineer
Sarah Withee is a polyglot software engineer, public speaker, teacher and mentor, and hardware and robot tinkerer located in Pittsburgh, PA. She has a passion for technology, and has ever since she wrote her first computer programs in elementary school. She captivates audiences with... Read More →


Wednesday May 2, 2018 09:25 - 10:10
Lone Star D

09:25

Need for Speed: Accelerate Automation Tests From 3 Hours to 3 Minutes (Emanuil Slavov)

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.

Learning Outcomes:
  • Being able to execute all your tests after every code change, in less than 5 minutes will very soon be your competitive advantage.
  • Apply our proven four step strategy.
  • Avoid the common pitfalls we've identified on this journey.


Speakers

Wednesday May 2, 2018 09:25 - 10:10
Lone Star F/G

09:25

What's next in UX: An introduction to Chatbot Design (Sydney Bee)

Abstract:
Conversational user interfaces have a wide appeal for both consumers users and business enterprises. More than half of the consumers today are interested in interacting with a business using messaging apps to solve a problem. As the number of bots on various platform has grown exponentially over the past year, many B2C and B2B companies have incorporated bots in their mobile strategies, and the tools to build chatbots are now readily accessible. This presentation will include an introduction of what chatbots are, their design components and UX best practices.

Learning Outcomes:
  • Chatbot’s strengths and weaknesses as a type of interface
  • Essential design components for various use cases of bots
  • Build a conversation script or create a user story


Speakers
avatar for Sydney Bee

Sydney Bee

Mobile Product Owner, Liberty Mutual
Product manager & design strategist passionate about marrying quantitative and human-centered approaches to extract insights, drive innovation, and measure outcomes.


Wednesday May 2, 2018 09:25 - 10:10
Lone Star E

10:30

Removing Duplication (Llewellyn Falco)

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.

Learning Outcomes:
  • Seeing duplication
  • Extracting duplication
  • Refactoring to create extractable duplication
  • Higher Order Functions


Speakers
avatar for Llewellyn Falco

Llewellyn Falco

Agile Coach, Spun Labs
Llewellyn Falco is an Agile Technical Coach specializing in Legacy Code and Test Driven Development. He is the creator of the open source testing tool ApprovalTests( www.approvaltests.com ), co-founder of TeachingKidsProgram ( www.teachingkidsprogramming.org ) and a PluralSight a... Read More →


Wednesday May 2, 2018 10:30 - 12:00
Lone Star E

13:30

Agility for Data? (Elisabeth Hendrickson)

Abstract:
Here’s the thing about data: it’s sticky, often rigid, and rarely feels agile. Yes, there are patterns that help increase the agility of data. Ruby on Rails, for example, has data migrations that not just allow but actively encourage incremental schema design. However all too often we hear about relational databases becoming a defacto API between subsystems, and thus resistant to change. It’s not just relational databases. Even supposedly unstructured data stored as key value pairs can be difficult to change if every piece of code that uses the data has duplicated logic to manage the semantic meaning of the data. Further, in-database logic such as rules, stored procedures, or user defined functions can be remarkably difficult to unit test. Finally, there are the often strict data governance requirements that necessitate keeping tight authorization control. Application developers have a wealth of tools and practices available to support incremental delivery. System administrators have DevOps tools and practices to support repeatable, automated operations. Where are the equivalents for data-centric work? Bringing agility to your data strategy may feel like an impossible goal, but it is possible. In this talk we consider the various ways in which data can impede agility, and how to make data strategies more agile-friendly.

Learning Outcomes:
  • * The myriad ways in which data can make change difficult and expensive
  • * How to think about breaking apart the monolith in the context of data
  • * How to lower the cost of change curve for data schemas by applying agile / devops principles to data-related practices



Wednesday May 2, 2018 13:30 - 14:15
Lone Star E

13:30

Patterns of Iterative Architecture (Chris Gow, Declan Whelan)

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 Declan 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.

Learning Outcomes:
  • What is Evolutionary Architecture and why it is essential
  • How to balance evolvability with the other capabilities architecture provides
  • The factors that enable or limit the evolvability of an architecture
  • Patterns (and anti-patterns) for evolutionary architecture, in green-field and legacy systems


Speakers
avatar for Declan Whelan

Declan Whelan

Leanintuit
Helping organizations improve value steams and their organizational structure.


Wednesday May 2, 2018 13:30 - 14:15
Lone Star F/G

13:30

Sufficient Design: Quality Tuned To Context (Joshua Kerievsky)

Abstract:
How could a big glob of complicated Greasemonkey script be considered beautiful? What if it saved a company millions of dollars, let them rocket past their competitors and only cost $40 dollars to produce?
Our notion of beautiful code is incomplete when it ignores the business context of code. An elegant software solution to a problem must handle many competing forces, only one of which is technical beauty.
Genuine professionals must work in sync with business, not foolishly produce poorly-designed working code or blindly following rigid rules about “clean code”. A Sufficient Design is one that fits the business context perfectly. It may be technically elegant, good, mediocre or even poor. We set quality levels to be in sync with business context and adjust quality in response to changing business conditions.
In this talk I’ll share real-world stories and lessons learned about Sufficient Design.

Learning Outcomes:
  • Understand what Sufficient Design is, when it's useful and learn about real-world examples of it.


Speakers
avatar for Joshua Kerievsky

Joshua Kerievsky

Joshua is the CEO of Industrial Logic.  Since the late 1990s, he has been actively practicing and improving Agile methods, from Extreme Programming to Lean Development  and Lean Startup. Joshua is an international speaker and author of the best-selling, Jolt Cola-award winning book... Read More →


Wednesday May 2, 2018 13:30 - 14:15
Lone Star D