Loading…
This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic

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

Wednesday, April 19
 

07:30

Breakfast
Wednesday April 19, 2017 07:30 - 08:30
Grand Ballroom

08:30

Everything I need to know about Agile, I learned from pair programming (Ron Jeffries, Chet Hendrickson)

Abstract:
In this keynote, Ron and Chet demonstrate pair programming and describe how everything a developer needs to know about Agile Software Development shows up during development.
Agile was invented "to make the world safe for programmers", according to Kent Beck. Yet common experience is that large-scale approaches are certainly not SAFe for programmers, and we are seeing more and more "Dark Scrum", where debased "Agile" ideas are used, not to draw out the best from teams, but to oppress them. As we work through a simple pair programming demonstration, we show how the things we learn as developers give us insight into how to live within the organization, and how to improve it.
It's turtles all the way up and down and we'll look at some of those turtles.

Learning Outcomes:
  • *The Increment is the key counter to conflict between developers and the organization
  • *Ability to improve communication with the organization
  • *Safer and more productive development
  • *Creating the Increment requires certain key practices.
  • *The Increment is central for effectrive communication within the team and with the enterprise.


Speakers
CH

Chet Hendrickson

HendricksonXP
RJ

Ron Jeffries

RonJeffries.com


Wednesday April 19, 2017 08:30 - 10:00
Grand A

08:30

Agile Alliance Lounge
Take a break from AATC2017 action and relax in the Agile Alliance Lounge. Check out the activities of the organization, meet board members, and pick up Agile Alliance swag.  As an Attendee, you are a Member - this is your professional organization.  While you are there, inquire about ways you and your company can become more involved in the Agile community.

Wednesday April 19, 2017 08:30 - 17:00
Mezzanine Foyer

08:30

Learning Lounge
At AATC2017, attendees are invited to visit the “Learning Lounge” for self-organized learning experiences to complement activities in conference sessions. The learning lounge will be open throughout AATC2017 conference.
Within the lounge, visitors can engage in the following activities:
  • Technical Question Gallery - Have a question on an agile technical practice, visit the “Technical Question Gallery” where you will be able to post questions or provide answers to those questions already shared.
  • Coaching Clinic - Interested in some 1-on-1 technical coaching, you will be able to sign up for a time-slot in our coaching clinic.
  • Games & Fun - Need a break and just want to have some fun, the lounge will feature a variety of games and activities that demonstrate the impact of agile technical practices.
The questions, conversations and games within the Learning Lounge are intended to allow AATC2017 attendees to meet and network with others while at the same time applying and sharing what they have learned in other conference sessions.

Wednesday April 19, 2017 08:30 - 17:00
Statler

10:00

Morning Break
Wednesday April 19, 2017 10:00 - 10:20
Grand Ballroom Foyer

10:20

Lightning Talks! (Brian Button, Craig Smith)

Abstract:
*

Learning Outcomes:
  • *



Wednesday April 19, 2017 10:20 - 11:05
Berkeley/Clarendon

10:20

Code reading the most important skill you don't practice (Zachary Shaw)

Abstract:
As software engineers we often talk about high quality code - One of my favorite definitions of code quality is that it's very readable. But what if we can't easily define what makes code readable? How then do we talk about high quality code?
Instead, I prefer to look at a related question - How do I make code more readable for myself and my peers? The answer: Improve your skill in reading code. As we improve our ability to read code we also improve our ability to produce readable code.
In this talk we'll go over some examples and strategies for critical code reading and talk more broadly about how we as an industry become better software engineers.

Learning Outcomes:
  • *


Speakers
avatar for Zachary Shaw

Zachary Shaw

Engineering Manager, Brightcove


Wednesday April 19, 2017 10:20 - 11:05
Arlington

10:20

Mob Programming : A Whole Team Approach (Woody Zuill)

Abstract:
Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and on the same computer. It is a whole-team approach to doing all the work the team does including designing, coding, testing, and working with the customers, users and other stakeholders. This is an evolutionary step beyond pair programming, and accentuates face-to-face communication, team alignment, collaboration, and self-organizing team concepts of the Agile approach to software development. I'll share with you the basics of Mob Programming, a few techniques we've found useful, some of the benefits we've seen, and how we've overcome some of the problems of working on a team.

Learning Outcomes:
  • You'll Learn:
  • What Mob Programming Is
  • How to try it yourself
  • Some techniques for working well together
  • Some of the Benefits we've seen
  • Why we're still doing it after 5 years
  • The key members of a team

Attachments:

Speakers
avatar for Woody Zuill

Woody Zuill

Application Development Manager, Hunter Industries
I've been a software developer for 30+ years, and I'm an Agile enthusiast. I work as an Agile Coach with the original "Mob Programming" team, and have been instrumental highlighting "No Estimates" concepts. | | I've enjoy sharing my Agile experiences, and learning new things... Read More →


Wednesday April 19, 2017 10:20 - 11:05
Grand A

10:20

Simplicity, Complexity and Security (Laura Bell)

Abstract:
We no longer live in a world where we build our applications from scratch. We build amazing creations using the blocks provided by libraries, frameworks and components. We trust widely and openly. We share and collaborate.
We design architectures that combine simple single purpose entities into massive complex coupled systems.
Then we try to secure them. What could possibly go wrong?
In this talk we will explore how our approaches to development, architecture and trust change the security of our applications and environments. We will discuss the challenges of securing these systems and some of the practical steps we can take to bring simple security to complex systems.

Learning Outcomes:
  • * Learn how software development has changed to help us go faster and build amazing things
  • * Understand how this has changed how we view risk and vulnerability
  • * Gain hands on pragmatic things to do and think about in your own teams


Speakers
LB

Laura Bell

CEO, SafeStack Limited
Laura Bell likes building secure things and going really really fast, preferably at the same time. | | A speaker at a range of events such as BlackHat USA, BlueHat Velocity and OSCON, on the subjects of privacy, covert communications, agile security, and security mindset, she... Read More →


Wednesday April 19, 2017 10:20 - 11:05
Georgian

11:15

11:15

Continuous Deployment of Legacy Software: Crazy Smart or Just Plain Crazy? (Alex Freire)

Abstract:
Imagine this:
You've just started leading a team tasked with substituting a legacy system more than a decade in production. It's one of the company's key products and brings in a lot of revenue every day.
Not only will you need to rewrite the system in a new language, you'll have to change database platforms and the communication protocols with several other systems.
Sound challenging?
How would you even start? Plan years of work and a Big Bang release? Could this succeed?
What would change if you knew, as my team did when confronted with this challenge, that the system was responsible for keeping 80% of all of Latin America on the web?
It might sound crazy, but the strategy we chose was based on one of the latest advances in technical agility: Continuous Deployment!
We delivered to production on the first week, then started delivering daily, and eventually were deploying to production multiple times a day.
Join me to better understand everything you’ll need enable Continuous Deployment, from testing automation, through a DevOps culture, to infrastructure as code for example. See how these changes helped us be extremely successful in this crazy (or crazy smart?) case study.

Learning Outcomes:
  • You'll walk away equipped to decide whether Continuous Deployment can help you with your team’s biggest challenges.

Attachments:

Speakers

Wednesday April 19, 2017 11:15 - 12:00
Arlington

11:15

Ops in the time of serverless containerized webscale (Bridget Kromhout)

Abstract:
So you’ve deployed your app, launched your site, and gone live in prod: so far, so good. But what happens when people actually use it, when you find out where your IaaS rate-limits you, and when you can’t just throw (virtual) hardware at your software problems?
Let's explore the practical realities in that vast, uncharted space between "waiting for the change control board is probably fine" and "we just implemented a novel time series data store in our spare time." If you’re coming to this talk, you may be well past the former, while the latter remains strictly aspirational. What matters these days in operations when you're dockering all the Dockers, going serverless with lambda functions, or scaling beyond what you’ve seen before? Getting the abstractions right is a non-trivial task.
I'll chat about the new stuff worth running in production, dispel myths (NoOps is not a thing; serverless still has servers), and answer questions (spoiler alert: the answer is "it depends"). If you've put in a non-zero number of hours on the pager and still can joke about it, you know that a Someone Else's Problem field lasts just long enough for it to become our problem. Let's talk solutions.

Learning Outcomes:
  • Attendees will leave better prepared to deal with the new realities of an operational role.


Speakers
avatar for Bridget Kromhout

Bridget Kromhout

Principal Technologist, Pivotal
Bridget Kromhout is a Principal Technologist for Cloud Foundry at Pivotal. Her CS degree emphasis was in theory, but she now deals with the concrete (if 'cloud' can be considered tangible). After 15 years as an operations engineer, she traded being on call for being on a plane. A... Read More →


Wednesday April 19, 2017 11:15 - 12:00
Georgian

11:15

Zero Defects and Less Pizza (Jeffrey Morgan)

Abstract:
*s it really possible to have zero defects? The short answer is yes – if you are willing to change the way you collaborate, code, and test your application. Allowing defects in your software is an admission that it is okay to have a low quality product. This creates the mindset that believes quality is not important which is propagated throughout the code that is produced. Teams that have zero defects can deliver at a consistent pace and often more rapidly over the long term than teams that log their defects. Defects cost much more than is obvious. Between documenting, inventorying, prioritizing, reproducing, fixing, retesting and all the meetings and pizzas to get to releasable software, it is a huge amount of waste that many organizations believe is unavoidable. And then there comes the “hardening phase”! Join Cheezy as he brings more than a dozen years of hands-on experience coaching teams on agile engineering and team practices that drive quality higher. He will show what needs to change in your organization in order to have teams that truly focus on quality, deliver defect free software, and deliver more value to their customers. From source code management, to advanced development and testing techniques, to dev-ops and build pipelines, this talk is full of ideas and real life practices that you can take back to your work and utilize right away. By implementing these practices you can also help Cheezy with his lifetime goal of reducing the number of pizza parties (staying late at work) and increasing the number of beer parties (celebrations for a great release).

Learning Outcomes:
  • * Participants will learn that it is possible to deliver software that has no defects
  • * Participants will learn that software can be delivered daily to your customers using the Agile practices


Speakers
avatar for Jeffrey Morgan

Jeffrey Morgan

CTO / Agile Coach, LeanDog
Cheezy is an international speaker and keynote presenter in different Agile conferences. He has spoken 6 times at the Agile 20XX conferences as well as other ones like Agile development East and West, Mile High Agile, Agile and Beyond, Path to Agility, etc.


Wednesday April 19, 2017 11:15 - 12:00
Grand A

12:00

Lunch
Wednesday April 19, 2017 12:00 - 13:30
Grand Ballroom

12:00

Sponsor Exhibition Open!
Sponsors are an important element of AATC2017.  Be sure to stop by and say Hi to all of our Sponsor Exhibitors in Grand Ballroom B, Mezzanine Level [2nd Floor]!

Wednesday April 19, 2017 12:00 - 15:20
Grand B

13:30

A Hands-On Introduction to Exploratory Testing (Claire Moss)

Abstract:
Exploratory testing is a powerful tool in any agile team member's arsenal.
Quickly switching between test design, execution, reporting, and learning adds value to teams while avoiding confusion.
In this hands-on introduction, attendees will pair up around a laptop or mobile device and get a quick introduction to test design before opening a real application for testing.
After some reflection and a little more theory, we'll iterate to test a second application and, time-permitting, a third
To wrap up, we'll conduct a retrospective to gather what people have learned. Then, we will talk about how teams can explicitly include exploratory testing to fit testing into iterations, sprints, and other timeboxes while improving coverage and transparency of what is tested.
The test design elements of the class will include quick attacks and consistency heuristics, two ways to generate test ideas when time is tight and information limited.

Learning Outcomes:
  • The 'what' of Exploratory Testing
  • How To Perform Quick Attacks
  • How to integrate Exploratory Testing into existing practice
  • The role of Exploratory Testing in agile software

Attachments:

Speakers
avatar for Claire Moss

Claire Moss

VersionOne
Agile software tester working closely with product development team, a real test jumper. I help teams to craft more testable user stories. Testing teacher, unit and integration test review and advisement, exploratory testing coach. Exploratory tester (manual tester) and test automator using Javascript and Glance. Software testing speaker, workshop facilitator, author, and blogger. | Claire Moss has always had a passion for writing, which might be a strange trait for a discrete mathematician, but that... Read More →


Wednesday April 19, 2017 13:30 - 15:00
Berkeley/Clarendon

13:30

CANCELLED: Design Patterns Thinking and Architecture at Scale (Al Shalloway)

Abstract:
This talk is for people who are having difficulty creating and maintaining application architectures. While test-driven development, automated testing and continuous integration are great practices to facilitate local design and making changes without risk, the architecture within which these changes take place will have a large impact on the effort required.
The Agile community is recognizing the need to address the challenges of Architecture at Scale. While many people recognize the importance of patterns, they tend to focus on patterns as a set of solutions. This often leads people to try to develop by combining patterns. This is actually the anti-thesis of the true intention of design patterns. In reality, patterns are a way of thinking – the patterns themselves are a result of this thinking. Attendees to this session will learn how to scale up their application of design patterns to larger systems, resulting in the longer lived, more robust designs we all strive for.
This seminar has three parts to it:
  • A quick introduction to Design Patterns Thinking
  • Simplifying complex models with commonality-variability analysis
  • Using design patterns thinking and a model of issues in a problem domain to create and maintain an application architecture

Learning Outcomes:
  • Understanding that patterns are more than mere "solutions to recurring problems in a context"
  • Understanding the thought process behind what makes patterns good solutions
  • Learn how to identify the issues in your problem domain you are trying to solve
  • Reduce the complexity of these forces by making a distinction between the issue and potential implementations
  • Learn how to ceate a simplified model of the issues to be managed in the application – in particular those issues that tend to vary
  • While design patterns live at the code level, these concepts live from code to high level design. The trick is to create a way of applying these technique at much greater scales. Fortunately, this technique already exists – commonality-variability analysis – introduced by James Coplien and extended with the analysis matrix by Al Shalloway. Using CVA, one can takek these concepts up to any scale.


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... Read More →


Wednesday April 19, 2017 13:30 - 15:00
Georgian

13:30

Integrating UX Design into Agile Development (David Grabel)

Abstract:
Does your organization have more development teams than User Experience (UX) designers? Have you adopted the Lean UX solution to this problem – a center of excellence of UX designers working 2 sprints ahead of the development team handing off detailed UI designs for developers? If so, you are living an Agile Anti-pattern!
Trying to bridge the Lean UX and Scrum Development divide this “traditional” way is a slippery slope back to waterfall – handoffs, overly complex designs, mismatched expectations and frustration for everyone. However, by keeping the Agile Values and Principles in mind, you can implement a process that allows people to practice Agile development and deliver outstanding user experiences early and often.
In this workshop we will explore how to use face-to-face communication to have “the business” (i.e. UX Designers) work with the developer’s daily to create great experiences. We will also have some hands-on activities to learn about High Tech Anthropology, an Agile practice for creating true empathy for the user within the developers. We will conclude with Mob Design – a practice based on Mob Programming for bringing developers and designers even closer together to co-create UI designs even more rapidly.

Learning Outcomes:
  • 1. How developers and experience designers can work together to create better software faster.
  • 2. The benefits of observing users in their native habitat.
  • 3. How to scope a project using personas and persona mapping.
  • 4. How to apply mob programming to UI design.

Attachments:

Speakers
avatar for David Grabel

David Grabel

Enterprise Agile Coach, Grabel Consulting Services, LLC
David Grabel is an independent agile coach helping teams and enterprises adopt agile at the team and enterprise level. This includes collocated and distributed teams. He has introduced Scrum, Kanban, XP, and SAFe at both small and large organizations. He helped develop a process... Read More →


Wednesday April 19, 2017 13:30 - 15:00
Arlington

13:30

Master Legacy Code in Real Teams - by Refactoring (Arlo Belshee)

Abstract:
How much do you pay for your legacy code? Many team spend up to 7/8 of their development budget on bugs, bug management and triage, late-added features, and so on. And that's on top of invisible costs - the cost to read hard-to-read code, the cost to test hard-to-test code, and the cost to communicate about arcane code. Let's change that.
This session demonstrates micro-skills, culture shifts, and organizational refactorings that dramatically reduce the cost to work with legacy code. We will show how real teams have reduced their cost to ship while reducing bug counts, in both the short-term and long-term simultaneously. The key: a whole different way to think about refactoring. And a whole different way to read, test, and talk about code.

Learning Outcomes:
  • *


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 c... Read More →


Wednesday April 19, 2017 13:30 - 15:00
Grand A

13:30

NEW!: Extreme: Fake it Till you Make It

Red - Green - (refactor)

We all know that refactoring is suppose to be the step that let’s us tease apart the logic of our code. ‘Fake it till you make it’ allows for us to evolve an emergent solution to complex problems. Yet this is usually glossed over when showing Test Driven Development.

But not in this session. Here we are going to focus completely on Fake it till you make it. Taking complex katas and reducing them to

1 Red - 1 Green - 40 Refactors.


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 April 19, 2017 13:30 - 15:00
Georgian

15:00

Afternoon Break
Wednesday April 19, 2017 15:00 - 15:20
Grand Ballroom Foyer

15:20

An Introduction to Monadic Error Handing in Go (Rebecca Skinner)

Abstract:
Google's Go programming language was one of the fastest growing languages of 2016
and is poised for explosive growth in the coming years. One of the key
features that has helped make Go a success has been it's coherent and
simple design that focuses on straightforward, idiomatic approaches to
developing software. As the amount of production Go code begins to expand,
we may start to find limitations in some existing idioms around how Go
code is structured. For developers who want to push the boundaries of
quality in our applications, it's vital that we understand how to
transform and adopt idioms within our code that favor quality and make
defects both apparent and difficult to create.
Many functional programming languages, especially those in the ML
language family, have a rich history of facilitating development
idioms that enforce safety on the user through programing constructs
like phantom types and monadic error handling. In this talk, we'll look
at how we can take lessons learned from those functional languages and
apply them to our Go applications with the explicit goal of improving
application quality by reducing the potential for errors.

Learning Outcomes:
  • Attendees will learn several techniques for handling errors in Go code, as well as idoms for reducing the surface area of potential error cases. Attendees should be able to take the concepts introduced in this talk and use them to develop novel Go idioms for improving code quality, and should develop an appreciation for circumstances that make it appropriate to deviate from traditional idioms used in the Go community.


Speakers
avatar for Rebecca Skinner

Rebecca Skinner

Software Developer, Asteris, LLC
Rebecca is a software developer with a background in network security, systems programming, and functional languages. Her research interests include image processing and computer vision, type systems, and programming language design. She is the founder of the St. Louis Haskell me... Read More →


Wednesday April 19, 2017 15:20 - 16:05
Arlington

15:20

Continuous Delivery with Containers: The Trials and Tribulations (Daniel Bryant)

Abstract:
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
  • The impact of containers on CD
  • Adding metadata to container images
  • Validating NFR changes imposed by executing Java applications within a container
  • Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.

Learning Outcomes:
  • Core learnings focus on the impact of introducing container technology into a typical development and continuous delivery build pipeline stack. The key takeaways are that the container image now becomes the 'single binary' that should be pushed along a build pipeline; adding metedata to a container image is essential (but challenging); and the NFR constraints introduced with container technology must be tested/validated within the pipeline


Speakers
avatar for Daniel Bryant

Daniel Bryant

Reporter, InfoQ
Daniel Bryant is the Chief Scientist at OpenCredo. His current technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms and microservice implementations. He is a leader within the London Java Community, contributes to several open source projects, writes for... Read More →


Wednesday April 19, 2017 15:20 - 16:05
Grand A

15:20

Planning for Failure (Jesse Phelps)

Abstract:
You’re a professional software developer. Your software never fails because you follow all the best practices. Right? We all know better. All software sucks. In reality, we need to plan for failure, think about what failure might look like, and plan what we do when it happens. There is a tool used in engineering called Failure Mode and Effects Analysis which I have found great success using in software. I’ll demonstrate how it works and how you can use it too.

Learning Outcomes:
  • Basic understanding of Failure Mode and Effects Analysis (FMEA).

Attachments:

Speakers
avatar for Jesse Phelps

Jesse Phelps

Software Craftsman, Pomiet
Jesse Phelps is a Software Craftsman for POMIET. Jesse is technologically agnostic and dabbles in all aspects of technology from writing software to building/hacking hardware. When not immersed in technology, Jesse spends his free time with his wife Sarah and sons, Jonah, Jackson... Read More →


Wednesday April 19, 2017 15:20 - 16:05
Berkeley/Clarendon

15:20

Test-Driven Development Guided by ZOMBIES (James Grenning)

Abstract:
Have you had a hard time figuring out where to start with Test-Driven Development. What if ZOMBIES could help you build code that does exactly what you think it is supposed to do? What if ZOMBIES helped you build a test harness that can keep your code clean and behaving as expected for a long and useful life?ZOMBIES can help!
I'm not talking about a legion of undead or virus stricken. ZOMBIES is an acronym that helps you, the engineer, decide where to start, what test to write next and make sure that, to the best of your ability, you do not forget critical tests and production code behaviors. We'll go through the though process and steps with a detailed code example.

Learning Outcomes:
  • ZOMBIES' foundation is in the Zero-One-Many (ZOM) programming pattern
  • To provide additional guidance behind ZOM, the programmer needs to constantly pay attention to
  • Behaviors
  • Interfaces
  • Exceptional situations
  • while defining Simple test Scenarios


Speakers
avatar for James Grenning

James Grenning

President, Wingman Software Consulting
James Grenning’s trains, coaches and consults worldwide. With more than three 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 root... Read More →


Wednesday April 19, 2017 15:20 - 16:05
Georgian

16:15

Agile Data Science (Terran Melconian)

Abstract:
In this talk, I'll discuss rapid iteration in data science. Often our mission is to improve a certain metric. Nobody knows in advance how to do so. To be successful, we need to experiment, to test hypothesis and determine the causal relationships between factors. We'll explore how rapid experiment iteration is similar to agile software engineering, and also a few ways in which it differs. What if there is no product owner who knows how to prioritize ideas? How do we manage infrastructure building tasks in parallel with experimentation? How do we write tests for pipelines whose data is constantly changing?

Learning Outcomes:
  • Participants will learn practices which have worked to run data science teams on agile principles with rapid iteration.

Attachments:

Speakers
TM

Terran Melconian

Data science manager, consultant, and trainer, Air Network Simulation & Analysis Inc


Wednesday April 19, 2017 16:15 - 17:00
Arlington

16:15

Do you even (need to) automate (the GUI)? (Matthew Heusser)

Abstract:
When teams talk about reducing cycle time, they tend to immediately jump to test automation. After all, human testing often feels expensive, slow, repetitious, and boring. Because the testers only see the software a black box, and the programmers are busy, the first thing to automate is often the GUI.
This talk asks if driving the user interface with tools should really be the first thing to automate on the list .. and if it should be on the list at all. Come hear a veteran of software delivery and test excellence talk about a different way to think about test/deploy with high reliability, then split into groups to discuss what makes sense in your system of forces.
Note: Presentation may be delivered in the persona of a gym bro.

Learning Outcomes:
  • Gain new ways to think about risk, testing, and cycle time
  • Tools to model where your team is when it comes to test/release improvement
  • And what to do next


Speakers
avatar for Matthew Heusser

Matthew Heusser

Managing Director, Excelon Development
The winner of the 2014 Most Influential Test Professional Person, awarded in Potsdam, Germany and 2015 Most Popular Contributor to Agile, Matt Heusser is the currently managing director of Excelon Development. In his role at Excelon, Matt consults, trains, and does software deliv... Read More →



Wednesday April 19, 2017 16:15 - 17:00
Berkeley/Clarendon

16:15

Small Steps to a Large Refactoring (Doc Norton)

Abstract:
You know that area of the code nobody wants to touch? It's been sitting there forever, just doing it's thing. It is a functioning shanty town of code. And you know, as everyone on the team knows, that there is no such thing as a simple change to this code. Because the "solution" is coupled in the strangest ways, code seemingly separate from the module you're working on breaks when you make the most mundane of changes.
But today, you picked up a user story that, try as you might, you cannot figure out a way to implement without either digging into the internals of the shanty town or bolting another hovel onto the side. You can't keep adding onto this mess. You're going to have to roll up your sleeves and fix it. But how? One change breaks 2 other things, which when modified each break 2 more. You're destined for a path of exponential brokenness that will take weeks to fix and when it's all done, you have to make one huge commit.
Ugh.
Enter the Mikado Method.
The Mikado Method is a relatively simple means of approaching these exact problems. By probing the code, we learn where changes need to take place. We then start at the outer edges and work our way in. We can commit small changes that don't break the system and iterate our way towards a solution. It might still take two weeks to implement this simple change, but we've derisked the entire process.
In this session, Doc shows an example of the Mikado Method in use and welcomes audience members to contribute both to the coding and the discussion.

Learning Outcomes:
  • Mikado Method for refactoring Legacy Code safely
  • Refactoring Patterns


Speakers
avatar for Doc Norton

Doc Norton

CEO, CTO2
Doc is passionate about working with teams to improve delivery and building great organizations. Once a dedicated code slinger, Doc has turned his energy toward helping teams, departments, and companies work better together in the pursuit of better software. Working with a wide r... Read More →


Wednesday April 19, 2017 16:15 - 17:00
Grand A

16:15

Unit Testing with ApprovalTests (Llewellyn Falco)

Abstract:
When I look back at every time I have not written a unit test first. It was either because I didn’t really know how to do it effectively, or how to do it at all.
Of course, this doesn’t mean it can’t be done, just that I hadn’t learned how to… yet.
This session is about how I’ve learned to test many things I used to think were impossible. Usually in a just a few lines of code.
Want to test that a gui looks right? No problem.
That the Html and CSS render correctly. Piece of cake.
Is the noise reduction function making the audio sound better? I can do that.
That database query from the ORM is working? Sure. Even if the database is down. Yep!
This is going to be a compare and contrast type session. We will look at lot’s of examples of standard unit tests vs the same test using an ApprovalTesting framework like: TextTests, PealFish, Depicted (dpxdt) or ApprovalTests.

Learning Outcomes:
  • The 4 benefits of testing
  • Increasing Feedback
  • How to create custom asserts
  • How to test many 'untestable' things


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 April 19, 2017 16:15 - 17:00
Georgian

18:00

Sponsor Exhibition Open!
Sponsors are an important element of AATC2017.  Be sure to stop by and say Hi to all of our Sponsor Exhibitors in Grand Ballroom B, Mezzanine Level [2nd Floor]!

Wednesday April 19, 2017 18:00 - 21:00
Grand B

18:00

Ice Breaker Reception
Join us for AATC2017's Opening Night reception. The evening will be filled with food, drink and friends! Mix and mingle, chat with new Attendees, reconnect with old friends, and be sure to check out the Sponsor Exhibit booths to see what's new and exciting in the industry.

Wednesday April 19, 2017 18:00 - 21:00
Grand Ballroom
 
Thursday, April 20
 

08:30

Agile Data Warehousing: Building a Virtualized ODS (Operational Data Store) (Kent Graziano)

Abstract:
At a past client, in order to meet timelines to fulfill urgent, unmet reporting needs, we found it necessary to build a virtualized Operational Data Store (ODS) as the first phase of a new agile DW/BI project using the Data Vault 2.0 approach. This allowed us to deliver new objects, quickly and incrementally to the report developer so we could quickly show the business users their data. In order to limit the need for refactoring in later stages of the data warehouse development, we chose to build this virtualization layer on top of a Type 2 persistent staging layer. All of this was done using Oracle SQL Developer Data Modeler (SDDM) against (gasp!) a MS SQL Server Database. In this talk I will show you the architecture for this approach, the rationale, and then some of the tricks I used in SDDM to build all the stage tables and views very quickly. In the end you will see actual SQL code for the virtual ODS that you can leverage for your own projects.
Goals:
  • learn a data warehouse architecture that can be implemented incrementally and in layers
  • learn what a Virtual ODS is and how it can help you be Agile
  • how to quickly build pattern based stage tables in SDDM
  • how to build complex, pattern based views in SDDM
  • tip on how to use analytic functions to create virtual columns
  • see examples of how to embed change data capture into a view-based ELT loading architecture

Learning Outcomes:
  • * see above


Speakers
avatar for Kent Graziano

Kent Graziano

Senior Technical Evangelist, Snowflake Computing
Kent Graziano is a Senior Technical Evangelist for Snowflake Computing and an award winning author, speaker, and trainer, in the areas of data modeling, data architecture, and data warehousing. He is an Oracle ACE Director, a certified Data Vault Master and Data Vault 2.0 Pract... Read More →


Thursday April 20, 2017 08:30 - 10:00
Berkeley/Clarendon

08:30

Cross-Platform Full-Stack Deployment with pkgsrc (Amitai Schleier)

Abstract:
Sure, it works on your machine. But how confident are you that your Linux servers provide the same runtime environment as your Mac laptop? And when there's a security hole somewhere in your app stack, how quickly and safely can you upgrade to fix it? How much happier would you be if you could generate identical software configurations for your dev and prod boxen, no matter what OS they run?
Stop crossing your fingers that brew-ing here and apt-get-ing there will produce matching results. You deserve DevOps happiness! Learn how to pronounce "pkgsrc" -- and how a practical, proven cross-platform package manager can save you from the kind of surprises that ruin your week.

What to bring
  • A laptop,
  • Running any Unixy OS (Windows even counts, if you're feeling adventurous),
  • With a working C compiler,
  • And a downloaded, unzipped pkgsrc-current tree

Learning Outcomes:
  • How pkgsrc helps you...
  • - Install the shiniest, newest Git
  • - Package a famously gnarly Ruby gem from source
  • - Package Vim with an embedded interpreter for Ruby, Python, Perl, or Lua
  • - Update OpenSSL to address the latest vulnerability (can't wait to find out what it'll be this time)
  • - Build your own custom set of ready-to-deploy binary packages
  • - Package up your own application using its existing build process


Speakers
avatar for Amitai Schleier

Amitai Schleier

Software Development Coach, Implemications
Amitai Schleier (@schmonz) is an enlightened doofus, software development coach, legacy code wrestler, non-award-winning musician, and award-winning bad poet. He publishes fixed-length micropodcasts at Agile in 3 Minutes, writes variable-length articles at schmonz.com, and contri... Read More →


Thursday April 20, 2017 08:30 - 10:00
Georgian

08:30

Test Driven - A Deep Dive Into How Testing Shapes Code (Brian Haggard)

Abstract:
Test driven development gets its roots from XP and is a popular development practice in most agile circles. Tests help us gain confidence in the correctness of our code, so code that is driven by tests starts life with a good deal of confidence. Or at least that is the reason many people try out TDD in the first place. Instead of focusing on whether or not the promise of error-free code is fulfilled by test driven development or exploring if the added cost of writing tests is worth the additional time, I'd like to explore with the audience how tests and the mindset of the test writer shapes the code being tested. Come for lots of code samples as we explore some of the ways that testing shapes a codebase.

Learning Outcomes:
  • A deeper understanding of how testing shapes the code you write


Speakers
avatar for Brian Haggard

Brian Haggard

Principal Agile Engineer, Emerson Electric
Victim of grace, husband, father, son and developer.



Thursday April 20, 2017 08:30 - 10:00
Arlington

08:30

Your First TDD Experience (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 it by pairing 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#). Bring a laptop or a tablet with a keyboard so you can access my custom cyber-dojo.org server 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.

Learning Outcomes:
  • Why TDD?
  • What is TDD?
  • See how TDD prevents defects.
  • Witness TDD.
  • 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, Wingman Software Consulting
James Grenning’s trains, coaches and consults worldwide. With more than three 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 root... Read More →


Thursday April 20, 2017 08:30 - 10:00
Grand A

08:30

Agile Alliance Lounge
Take a break from AATC2017 action and relax in the Agile Alliance Lounge. Check out the activities of the organization, meet board members, and pick up Agile Alliance swag.  As an Attendee, you are a Member - this is your professional organization.  While you are there, inquire about ways you and your company can become more involved in the Agile community.

Thursday April 20, 2017 08:30 - 17:00
Mezzanine Foyer

08:30

Learning Lounge
At AATC2017, attendees are invited to visit the “Learning Lounge” for self-organized learning experiences to complement activities in conference sessions. The learning lounge will be open throughout AATC2017 conference.
Within the lounge, visitors can engage in the following activities:
  • Technical Question Gallery - Have a question on an agile technical practice, visit the “Technical Question Gallery” where you will be able to post questions or provide answers to those questions already shared.
  • Coaching Clinic - Interested in some 1-on-1 technical coaching, you will be able to sign up for a time-slot in our coaching clinic.
  • Games & Fun - Need a break and just want to have some fun, the lounge will feature a variety of games and activities that demonstrate the impact of agile technical practices.
The questions, conversations and games within the Learning Lounge are intended to allow AATC2017 attendees to meet and network with others while at the same time applying and sharing what they have learned in other conference sessions.

Thursday April 20, 2017 08:30 - 17:00
Statler

10:00

Morning Break
Thursday April 20, 2017 10:00 - 10:20
Grand Ballroom Foyer

10:20

Lightning Talks! (Brian Button, Craig Smith)

Abstract:
*

Learning Outcomes:
  • *



Thursday April 20, 2017 10:20 - 11:05
Berkeley/Clarendon

10:20

Cloud Native Java (josh long)

Abstract:
“It is not necessary to change. Survival is not mandatory.” -W. Edwards Deming
Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software - for many organizations and industries - is a competitive advantage.
Organizations break their larger software ambitions into smaller, independently deployable, feature -centric batches of work - microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops,” cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.
But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

Learning Outcomes:
  • to optimize for organizational agility by building microservices


Speakers
JL

josh long

Spring Developer Advocate, Pivotal
Josh (@starbuxman) is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of 5 books (including O'Reilly's upcoming ""Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry"") and 3 best-selling video trainings (incl... Read More →


Thursday April 20, 2017 10:20 - 11:05
Grand A

10:20

Serverless Microservices with Microsoft Azure (Ron Quartel, Steve Kuo)

Abstract:
Microservice architecture comes with many rewards – but also many challenges. We set out on a challenge to see if we could bypass much of the complications by using SAAS and PAAS exclusively. We are happy to share what we found available within Microsoft Azure and just how quick and simple it was to get going with 100% serverless computing in this environment. You will be able to watch real time as we create services in the Azure cloud with this tool set.

Learning Outcomes:
  • Understanding of Microsoft Azure SAAS and PAAS services and how to wire them together for microservices.


Speakers
SK

Steve Kuo

Agile Software Craftsperson, Premera Blue Cross of Washington
I like to be hands on delivering high quality value to users in a sustainable way. I'm not afraid to challenge convention and have very strong beliefs that are loosely held.
avatar for Ron Quartel

Ron Quartel

Technical Digital Product Manager, Premera Blue Cross of Washington
Ron loves software and creating harmony in the workplace. His Agile and Extreme Programming experience started in 2002 and over the years has built into strong technical skills and a deep understanding of Agile methods. In 2014 Ron had an epiphany moment at an Open Space confer... Read More →


Thursday April 20, 2017 10:20 - 11:05
Arlington

10:20

The Rationale for Continuous Delivery (Dave Farley)

Abstract:
The production of software is a complex, collaborative process that stretches our ability as human beings to cope with its demands.
Many people working in software development spend their careers without seeing what good really looks like.
Our history is littered with inefficient processes creating poor quality output, too late to capitalise on the expected business value. How have we got into this state? How do we get past it? What does good really look like?
Continuous Delivery changes the economics of software development for some of the biggest companies in the world, whatever the nature of their software development, find out how and why.

Learning Outcomes:
  • Why and how does Continuous Delivery change the economics of software development? What does excellence in software development process look like? What are the fundamental principals that enable organizations around the world to benefit from these techniques?


Speakers

Thursday April 20, 2017 10:20 - 11:05
Georgian

11:15

Cucumbers Have Layers: A Love Story (Sam Livingston-Gray)

Abstract:
Cucumber sucks. Features are hard to write and constantly break when the UI changes. Step definitions are annoying to create and a freaking nightmare to maintain. And Cucumber suites take for-EVER to run, because you have to wait for a web browser.
Except... none of that is actually true.
After years of making awful messes with Cucumber, I finally found a way to use it that worked well, and a project I couldn't have done without it. I'd like to show you one way to use Cucumber that can be elegant, powerful, expressive, and—believe it or not—fast.

Learning Outcomes:
  • You'll learn from, and hopefully laugh at, my abominations^W mistakes.
  • You'll find Cucumber's sweet spot of abstraction: not super nitpicky, but not too hand-wavy either.
  • You'll take away a short question you can use as a quick "gut check" to stay in that sweet spot.
  • You may even be inspired to try an advanced technique that may, at first, sound a little bit wacky.
  • And if you've sworn off Cucumber, you *might* just be prompted to give it another look.

Attachments:

Speakers
avatar for Sam Livingston-Gray

Sam Livingston-Gray

Senior Software Developer, Real Geeks, LLC
A developer from sunny (YMMV) Portland, Oregon, Sam's been working in code since 1998, doing TDD since 2004, and slinging Ruby since 2006. He likes TDD/BDD/TATFT, pair programming, and refactoring—but finds that long pair programming sessions on the beach tend to result in sand... Read More →



Thursday April 20, 2017 11:15 - 12:00
Berkeley/Clarendon

11:15

Extreme Programming at Scale (Elisabeth Hendrickson)

Abstract:
Extreme Programming (XP) provides a set of technically rigorous, team-oriented practices -- e.g. Test Driven Development, Continuous Integration, and Pairing -- that empower teams to deliver high quality software, iteratively. At Pivotal, our Labs practice built their reputation on their particular flavor of XP. However Pivotal is more than Labs: we ship enterprise products including Pivotal Cloud Foundry, Greenplum Database, and GemFire. How does XP apply when you have multiple teams collaborating across multiple timezones and locations to deliver a shipping product? This talk lays out the XP practices as the foundation but then explains how we operate at scale to achieve visibility, tight feedback loops, and radical collaboration even with large products and distributed teams. This talk covers what we've learned about organizing CI pipelines, the way we think about organizing teams around code ownership, and how we deal with cross-team dependencies. The answers we have found are simple, but as we all know simple can be very, very hard. In addition to looking at our practices, this talk will consider the cultural elements that enable us to succeed at applying XP at scale.

Learning Outcomes:
  • * How to create visibility and awareness between teams even when they are geographically distributed
  • * Ways to increase collaboration and deal with blockers due to cross-team dependencies
  • * Ways to think about code ownership across teams
  • * How to avoid the "tragedy of the commons" in CI when multiple teams commit to the same repo

Attachments:


Thursday April 20, 2017 11:15 - 12:00
Grand A

11:15

Five XP Practices for Agile Development (David Bernstein)

Abstract:
*These five development practices are core to Extreme Programming (XP)—automating the build for continuously integrating software as it is written, collaborating with team members through pair programming, practicing agile design skills that enable testability, using test first development to drive design, and refactoring code to reduce technical debt. Together, these five technical practices are proving to be essential for sustained success with agile development. However, many teams haven’t been exposed to the benefits of these practices or understand how to use them effectively. David Bernstein explores these engineering practices and their use in reducing risk and building quality in at every level of the development process. He makes the business case for these practices by showing how they address the inherent risks and challenges of building software. David then examines how XP practices address the core issues of software development by helping us “build the right thing” and “build the thing right.”

Learning Outcomes:
  • *Gain a deeper understanding of XP practices and why they are not what they seem
  • Use continuous integration to reduce risk in building software
  • Employ pair programming to propagate knowledge throughout the team
  • Recognize five code qualities at the core of all good developer practices
  • Adopt test driven development to rapidly build higher quality code
  • See how refactoring is used to help you work faster by reducing technical debt


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 consu... Read More →


Thursday April 20, 2017 11:15 - 12:00
Georgian

11:15

Security at Scale. Building a Security First Technical Organization (Pete Cheslock)

Abstract:
Computers are hard, and security is even harder. While you're building a bespoke host based intrusion detection system to monitor for advanced persistent threats, vulnerabilities are uncovered in 30 year old core unix programs. Even worse, the same junior level operations engineer who can (accidentally) provision thousands of systems and blow your budget away, is the same person who can make one small change to a security group which now allows all access to your backend systems.
The cloud is making it easier than ever to provision systems to meet your infrastructure needs -- and to do so very quickly. Speed to market is a major competitive advantage that many companies are leveraging through the concept of Infrastructure as Code. Provisioning hundreds or thousands of compute instances in mere minutes is now considered an everyday activity. Everyone wants to move fast.
The long contested battlefield of remote access to production machines has only gotten uglier since the rise of The Cloud, which has obliterated the line between building the system and running the system. “Lock out the developers” is not an acceptable policy anymore. Developers inherently build better systems when they experience running them.
Continuous Integration. Continuous Deployment. But who (or what) is continually monitoring the state of your operational security?
We'll discuss the role of security in this new *aaS landscape. We'll talk about things to do when you have a dedicated Infosec team, and tools you can use when you don't. We'll explore what it means to build in security in the same way you build in quality as part of your continuous delivery pipelines. And how you can strengthen your security posture while maintaining your ability to move quickly and deliver value to your customers.

Learning Outcomes:
  • Everyone should hopefully leave with at least one practical action item they can take back to their company and implement.


Speakers
avatar for Pete Cheslock

Pete Cheslock

Sr Director, Ops and Support, Threat Stack



Thursday April 20, 2017 11:15 - 12:00
Arlington

12:00

Lunch
Thursday April 20, 2017 12:00 - 13:30
Grand Ballroom

12:00

Sponsor Exhibition Open!
Sponsors are an important element of AATC2017.  Be sure to stop by and say Hi to all of our Sponsor Exhibitors in Grand Ballroom B, Mezzanine Level [2nd Floor]!

Thursday April 20, 2017 12:00 - 15:20
Grand B

13:30

Edge Free Programming (Michael Feathers)

Abstract:
Many systems are full of error checks and conditional logic. Each of these introduce discontinuities and make reasoning difficult. In this workshop, Michael Feathers will introduce the concept of an Edge and describe how removing them and bypassing them in code and UX can lead to systems that are more robust and easier to use and maintain.

Learning Outcomes:
  • Attendees will learn concepts and practices for smoother development


Speakers
MF

Michael Feathers

Director, R7K Research & Conveyance
Michael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the past 20 years he has... Read More →


Thursday April 20, 2017 13:30 - 15:00
Grand A

13:30

Gamifying DevOps with Lego and Chocolate Game (Dana Pylayeva)

Abstract:
Join this workshop to experience one of the most unusual DevOps transformations – with Lego and Chocolate simulation game. Visualize common process bottlenecks and observe a “wall of confusion” between development teams and IT operations. Use LEGO blocks and chocolate candies to experiment with process improvements. Transition to continuous delivery of value, amplify feedback loop and build up T-shaped skills in your team. Inspired by ideas from “The Phoenix Project” and “The Goal", this workshop helps participants at all levels to clearly experience the benefits of DevOps culture.

Learning Outcomes:
  • 1. Understand and learn to address a common misalignment of goals of the 3 major groups in product development.
  • 2. Experiment with decoupling of a Sprint (as a planning unit) from a Release (as a deployment unit) by minimizing the batch sizes, increasing frequency of releases, amplifying feedback loop and moving away from cyclical delivery towards continuous flow of value.
  • 3. Understand how widening individual skills and working together with Operations and Security members can have a positive impact on the team’s ability to eliminate the constraints and pursue the improvement of the overall process.


Speakers
avatar for Dana Pylayeva

Dana Pylayeva

Agile Coach, HBC Digital
In her 17 years of IT experience, Dana Pylayeva has never been confined by her current title. Java Developer, Architect, DBA Manager, Scrum Master, Agile adoption facilitator she brings enthusiasm and pursuit of continuous improvement into anything she does. Her recent focus is o... Read More →


Thursday April 20, 2017 13:30 - 15:00
Arlington

13:30

Iterative Design: Listening to your users is essential to solution success (Mollie Callahan, Laura Elliott)

Abstract:
In the software industry, the ultimate measure of business value is how well the software produced meets the needs of end users. In this session, Menlo High-tech Anthropologists will walk you through their unique rapid iterative design process and their collaboration with developers during implementation to ensure that user feedback effectively informs all phases of design and development. This will be a hands-on session focused on: design revision and assessment practices, persona-based storycards, and
communication across cross-functional teams.

Learning Outcomes:
  • *


Speakers
avatar for Mollie Callahan

Mollie Callahan

MENLO Innovations
Mollie Callahan is a member of the High-Tech Anthropology® design team at Menlo Innovations, a design and development firm that builds user-centered software and provides organizational change consulting. She is as passionate about translating ethnographically-grounded user insights into functional designs and strategic solutions as she is about teaching Menlo's High-Tech Anthropology process to tour guests and workshop attendees... Read More →


Thursday April 20, 2017 13:30 - 15:00
Berkeley/Clarendon

13:30

What Not to Test? (Alex Freire)

Abstract:
If there's one technical agile practice that everyone has a different opinion about, it's testing. The debate between the Chicago (no mocks) and London (mocking) schools of thought has been going on for more than a decade! Some claim that if you believe in POs and BAs writing acceptance tests with Gerkhin you're living in fairy land. Others that writing automated tests is a waste and that cheap QAs should catch all the bugs instead. And just to name a few influencers on opposites of the spectrum: @DHH thinks TDD is dead; while @KentBeck wishes there were more examples of what not to test!
We see a lot of value in TDD and BDD but are not blindly obsessed with these practices. We don’t question the value of having tests for your project, but we do question the value of testing absolutely everything. Over the years, we've discovered that deleting tests is just as important as writing them!
In this workshop, you will see real examples of tests we've seen (or written ourselves) that we don't believe add value to your test suite. You will also have a chance to discuss why you would delete, rewrite or rethink these tests

Learning Outcomes:
  • You'll leave our session with an informed opinion on what not to test in your project and, who knows, maybe you’ll even start deleting some of your tests. What’s more, you'll better understand how to test what is essential.

Attachments:

Speakers

Thursday April 20, 2017 13:30 - 15:00
Georgian

15:00

Afternoon Break
Thursday April 20, 2017 15:00 - 15:20
Grand Ballroom Foyer

15:20

Ansible, AWS, and Awesomeness (Brian Felton)

Abstract:
Monoliths or microservices? Server or serverless? Cloud or self-hosted? No matter your preference for architecture or platform, your software inevitably must be delivered to production. And we don't get to stop at the initial delivery -- there are upgrades and rollbacks and scaling and other matters to consider. With time and without good automation, these realities turn once-solid systems into fragile, special snowflakes.
This session explores one team's journey to create robust automation for a system of serverless, cloud-hosted microservices. We will show a working system that provides a simple and automation-friendly method for deploying services of various complexity into AWS. Come for a deep dive into automation with Ansible while we explore the value in automating the tail end of the software development lifecycle.

Learning Outcomes:
  • * Exposure to usage of Ansible as a cloud provisioning tool and an Ansible-generation tool
  • * Exposure to one solution for handling complex deployments without creating hidden contracts
  • * Discussion of the challenges both of automating deployments in a serverless world and of building this system


Speakers
BF

Brian Felton

Principal Agile Engineer, Emerson



Thursday April 20, 2017 15:20 - 16:50
Berkeley/Clarendon

15:20

Communication Artifacts: What’s Your Code's Legacy? (Andrea Goulet)

Abstract:
Legacy code. It's those dirty brownfield applications that no one wants to work on. How do you make sure that your project never becomes one of those dreaded projects? And if you’ve inherited a dirtfield app, how do you turn it back around into a gorgeous greenfield?
The answer to both of these questions may surprise you: seeding your app with good communication artifacts. In this talk, Andrea Goulet, the CEO of Corgibytes, a shop that specializes in working on legacy code bases, will give you specific and immediately actionable ideas to ensure the legacy of your codebases stays as green as possible. You’ll learn how to:
● Avoid interruptions by effectively “seeding” artifacts throughout your work ● Use the ideas of inception layers to talk about your availability ● End the dreaded git blame game
● Create code that continues to provide value years after you write it.
If you’re ready to take your code legacy to the next level, this is one talk you won’t want to miss!

Learning Outcomes:
  • *


Speakers
avatar for Andrea Goulet

Andrea Goulet

CEO, CorgiBytes LLC
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 d... Read More →


Thursday April 20, 2017 15:20 - 16:50
Georgian

15:20

The S.O.L.I.D. Principles of OO and Agile Design (Robert Martin)

Abstract:
What happens to software? Why does is rot over time? How does an Agile development team prevent this rot, and prevent good designs from becoming legacy code? How can we be sure our designs are good in the first place? This class presents the agile S.O.L.I.D. principles for designing object oriented class structures. These principles govern the structure and interdependencies between classes in large object oriented systems. The principles include: The Open Closed Principle, The Liskov Substitution Principle, and the Dependency Inversion Principle, among others.

Learning Outcomes:
  • *


Speakers

Thursday April 20, 2017 15:20 - 16:50
Grand A

15:20

Unit Test Abstraction: Crafting Sustainable Tests (Jeff Langr)

Abstract:
Don't end up twirling down the bad-test death spiral! Coding unit tests is an investment, and if you're not careful, it will all be for naught: Many teams quickly built a significant number of unit tests, only to find out that their low quality pushes them into disuse, then to disrepair/dysfunction, and ultimately to discarded.
Part of sustaining TDD or "test-after development" (TAD) unit testing is recognizing that the tests must play a role as documentation on the behaviors of the system under test. In this hands-on workshop, we'll focus on applying the notion of abstraction--amplifying essential elements and suppressing irrelevant details--to unit tests. You'll learn to sniff out a couple hands-ful of test smells that relate to poor test abstraction. You'll work on eliminating these smells to create tests that are literary and emphasize immediacy of understanding. (And you'll hear a bit about why this pays off.)
You'll find codebases for this workshop in Java and C#. Download before the session from https://github.com/jlangr/utabstraction and get ready to clean up!

Learning Outcomes:
  • the concept and value of emphasizing abstraction in tests
  • how to recognize smells in tests
  • how to eliminate smells from tests
  • how to use tests as entry points for understanding system behaviors
  • how to negotiate test readability by pairing


Speakers
avatar for Jeff Langr

Jeff Langr

Owner, Langr Software Solutions, Inc.
Jeff Langr has been professionally building software for over a third century. He is a contributor to Clean Code and the author of 5 books on software development: Pragmatic Unit Testing in Java 8 with JUnit, Modern C++ Programming with Test-Driven Development, Agile in a Flash... Read More →



Thursday April 20, 2017 15:20 - 16:50
Arlington

18:00

Conference Party!
Celebrate a successful AATC2017 with delicious food and drink, fun games and new friends at Kings Boston!  With bowling, darts, pool, karaoke and more, you won't run out of fun things to do!
Meet in the Boston Park Plaza Lobby at 5:45pm sharp to join your fellow AATC2017 attendees for a short bus ride to Back Bay Boston.  Buses will be shuttling back to the Boston Park Plaza starting at 7:30pm until 9:30pm [last bus].

Thursday April 20, 2017 18:00 - 21:00
Kings Bowl 50 Dalton St, Boston, MA 02115
 
Friday, April 21
 

07:30

Breakfast
Friday April 21, 2017 07:30 - 08:30
Grand Ballroom

08:30

Infrastructure as Code - Agile engineering for your environments (Kief Morris)

Abstract:
You may be building, testing, and delivering code, but how do you manage your environments? "Early and continuous delivery of valuable software" is much easier when you can rapidly provision infrastructure, and guarantee its consistency and correctness across development through to production. It turns out that the same agile principles and practices you use for software can be applied to delivering infrastructure.
This talk describes the goals and core principles of Infrastructure as Code - the "A" for "Automation" in the DevOps "CALMS" model. What are Patterns and antipatterns for using cloud and infrastructure automation tools like Chef, Puppet, Ansible, Saltstack, etc. See how you can apply test Driven Development (TDD), Continuous Integration (CI), Continuous Delivery (CD) and other Agile practices to your full systems.

Learning Outcomes:
  • *


Speakers
avatar for Kief Morris

Kief Morris

Cloud Practice Lead, ThoughtWorks
Kief Morris is Cloud Practice Lead at ThoughtWorks, and the author of the O'Reilly book "Infrastructure as Code" (http://oreil.ly/1JKIBVe). He works with organisations to understand how to take advantage of cloud, infrastructure automation, DevOps, and Continuous Delivery to beco... Read More →



Friday April 21, 2017 08:30 - 09:15
Grand A

08:30

Isomorphic Reactive Programming (Giorgio Natili)

Abstract:
No matter which technology you use, your software should be able to efficiently handle user interaction and data streams to satisfy all requested use cases.
In order to manage the fast growth of data sources and interaction paradigms, we must shift to a non-blocking and sequential programming paradigm--which can be solved through Reactive Programming.
In Reactive Programming, everything can be seen as a sequence of events. In conjunction with function composition, Reactive Programming is a powerful tool to leverage readability, maintainability, and testability on any layer of your software.
During this session, we'll dive into Reactive Programming and, with the help of the Reactive Extensions API, discover how to translate use cases and acceptance criteria in a stream of events across multiple platforms.
(Code labs to be provided in JavaScript, Kotlin, Swift, and Java).

Learning Outcomes:
  • - Fundamentals of reactive programming
  • - Fundamentals of the reactive extensions API
  • - Fundamentals of parallel programming

Attachments:

Speakers

Friday April 21, 2017 08:30 - 09:15
Arlington

08:30

Moving from technical debt to organizational health through systems thinking (Declan Whelan)

Abstract:
Most of us have worked in situations where a large amount of effort is spent addressing defects, support calls and technical debt. I recently worked with one team where they estimated that only 20% of their time was devoted to new value work and 80% of that effort was spent working around the technical debt. In other words they are operating at less than 5% of their potential.
How does code get into such horrible shape? The pattern seems pervasive enough that an appeal to craftsmanship is insufficient. I believe that there are larger systemic forces at play.
In this talk, I will present technical debt, not as a problem but as a measure. It is a measure of the technical health of your organization. Large technical debt is analogous to high blood pressure. Addressing high blood pressure likely entails a lifestyle change involving diet, exercise and so on. Addressing the symptom of technical debt will similarly shed light on organizational changes such as hiring practices, optimizing for project delivery over sustainable product development and so on.

Learning Outcomes:
  • deeper understanding of the root causes of technical debt
  • appreciation of the connections between value streams, organizational structure and technical health
  • insights into improving technical health in your organization


Speakers
avatar for Declan Whelan

Declan Whelan

Leanintuit
Helping organizations improve value steams and their organizational structure.


Friday April 21, 2017 08:30 - 09:15
Georgian

08:30

No Hard Shots: How to Let TDD Drive Java Design (GeePaw Hill)

Abstract:
The most common mistake in adopting TDD is failing to let tests and testability actually drive design. Instead, the practitioner creates a design, then devises a clever, complex, often expensive, scheme to actually test that the design works. In true TDD, tests and testability force a variety of design moves. In this session, we'll explore some of the most basic ways we do this. We will cover several simple changes we can make in our detailed designs that will make microtesting easier and faster. In each case, we'll consider live code that illustrates the choices, the technique for moving between them, and the larger pattern represented by the specific case.
  1. Method Chaining -- Instead of using an awkward collaborator directly, provide two methods, one taking the awkward, one taking an easy, the former transferring to the latter
  2. Container Wrapping -- The collection systems of various libraries offer generalized and very rich container capabilities, but they come with two costs: over-broad API's aren't "fit to purpose", and testing using them can create problems of non-testability. Wrap containers quickly.
  3. Framework Dodging -- Frameworks are invaluable, but often highly intrusive, bringing severe testing limitations with them. Framework dodging is writing code that draws a clear line between "our" code, "their" code, and easy "dodge" code. We test our own code without using the framework at all.
  4. Supply-Supplier Swapping -- Sometimes a Supplier is more awkward than the Supply, somes vice-versa. Know the difference and how to swap between them.
  5. Party Hosting -- TDD leans towards networks of very simple collaborating objects. Who puts it all together? Learn to localize assemblies in the party host.
  6. Prototype Tweaking -- Got a gigantic data object? Don't instantiate it directly for tests. Give yourself a Prototype+Builder object that sets things up for you, emphasizing just the differences. Get far faster and less error-prone tests than manual dataset construction.
In TDD, we don't just make a design and then test it. We use the requirement of ready testability to constrain and expand our design as we go. Tests and testability literally drive the design. Learn these common patterns and skip past the hardest & slowest part of mastering TDD.

Learning Outcomes:
  • Attendees will learn the patterns in live code, seeing and feeling their results. In each case, we'll expand the simple code changes into a larger pattern of related changes.


Speakers

Friday April 21, 2017 08:30 - 09:15
Berkeley/Clarendon

08:30

Agile Alliance Lounge
Take a break from AATC2017 action and relax in the Agile Alliance Lounge. Check out the activities of the organization, meet board members, and pick up Agile Alliance swag.  As an Attendee, you are a Member - this is your professional organization.  While you are there, inquire about ways you and your company can become more involved in the Agile community.

Friday April 21, 2017 08:30 - 13:30
Mezzanine Foyer

08:30

Learning Lounge
At AATC2017, attendees are invited to visit the “Learning Lounge” for self-organized learning experiences to complement activities in conference sessions. The learning lounge will be open throughout AATC2017 conference.
Within the lounge, visitors can engage in the following activities:
  • Technical Question Gallery - Have a question on an agile technical practice, visit the “Technical Question Gallery” where you will be able to post questions or provide answers to those questions already shared.
  • Coaching Clinic - Interested in some 1-on-1 technical coaching, you will be able to sign up for a time-slot in our coaching clinic.
  • Games & Fun - Need a break and just want to have some fun, the lounge will feature a variety of games and activities that demonstrate the impact of agile technical practices.
The questions, conversations and games within the Learning Lounge are intended to allow AATC2017 attendees to meet and network with others while at the same time applying and sharing what they have learned in other conference sessions.

Friday April 21, 2017 08:30 - 13:30
Statler

09:25

Lightning Talks! (Brian Button, Craig Smith)

Abstract:
*

Learning Outcomes:
  • *



Friday April 21, 2017 09:25 - 10:10
Berkeley/Clarendon

09:25

MicroServices, IoT, and Agile... Seriously! (Fred George)

Abstract:
IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network-reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.
We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.
One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well.
Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.
Finally, we discuss our implementation in my own flat, following all the Agile principles, and almost none of the “standard” practices. We wrap up talking about the challenges of this using my IoT technology of Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low cost redundancy as well.

Learning Outcomes:
  • Architects, managers, and developers benefit from understanding the impact to Agile of a continuous deployment, MicroService implementation environment. Attempting to apply “standard” Agile practices in such an environment is counter-productive.

Attachments:

Speakers
avatar for Fred George

Fred George

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


Friday April 21, 2017 09:25 - 10:10
Grand A

09:25

Understanding Software Faster: Automated Code Simplification via Program Slicing (Alan Shreve)

Abstract:
Conceptualization and understanding are prerequisites for changing software. But they become harder to achieve as software becomes more complex and expands in scope. We have many tools for writing software, but few at all for reading and understanding it. What if there were tools that helped us conceptualize systems so that we could change them with greater confidence? What would they look like and how would we use them?
I will describe a new approach that helps developers rapidly build understanding of new software systems by generating an Idealized Commit Log: a simplified step-by-step deconstruction of a working software system. I will explain how the tool works by touching upon a diverse set of topics including type analysis, code coverage tools, AST transformations and a much-ignored topic of academic computer science pioneered nearly forty years ago called program slicing.

Learning Outcomes:
  • A better understanding of the problem of software comprehensibility
  • History and foundations of program slicing
  • A new approach for understanding software


Speakers
AS

Alan Shreve

Founder, ngrok
Creator of ngrok.com


Friday April 21, 2017 09:25 - 10:10
Georgian

09:25

Zero Bugs: State of the Practice (Stephen Vance)

Abstract:
Create software with Zero Bugs! Is that your reality? Why or why not?
We've heard the mantra, an extension of the Zero Defects movement introduced in manufacturing in the 60s. Is it achievable? How do you achieve it? What does it mean? What challenges do you run into? Are they technical, people, or organizational issues? All of the above? The reasons probably go deeper than you realize.
This talk will look at all aspects of what it takes to adopt and deliver on a Zero Bugs promise. We'll cover a wide range of technical approaches, along with some opinions on their effectiveness and applicability. We'll talk about the people issues from whether people believe it's possible to overcoming the obstacles in applying it. Finally, we'll talk about some of the organizational, habitual, and structural issues that complicate its pursuit.

Learning Outcomes:
  • * What does it mean to have Zero Bugs?
  • * What techniques can I use in pursuit of Zero Bugs and what are some of their pros and cons?
  • * What gets in the way of Zero Bugs and how can we address them?

Attachments:

Speakers
avatar for Stephen Vance

Stephen Vance

Software Engineer, Project Longreen
Stephen Vance (@StephenRVance, vance.com) has served in most roles in the software product development process across a wide range of industries and technologies. For the last several years, he has focused on coaching teams in Lean and Agile approaches to development and testing as a practitioner, manager and consultant. He is currently an independent Agile and technology consultant. He is the author of... Read More →



Friday April 21, 2017 09:25 - 10:10
Arlington

10:10

Morning Break
Friday April 21, 2017 10:10 - 10:30
Grand Ballroom Foyer

10:30

AATC2018 Information Session (Brian Button, Craig Smith)

Abstract:
Interested in getting involved in AATC2018? Come to this session to find out more about the Program Team, speaking topics and more!

Learning Outcomes:
  • *



Friday April 21, 2017 10:30 - 12:00
Berkeley/Clarendon

10:30

Being Agile About System Qualities: Values, Practices, and Patterns (Rebecca Wirfs-Brock)

Abstract:
In a sprint to deliver features, software qualities or “non-functional requirements” such as security, performance or reliability can be slighted or sometimes even ignored. This hands-on workshop introduces you to several patterns and practices for weaving quality-related work into your project rhythms and techniques for keeping system quality requirements in mind, measurable, and tangible. You will also learn some options for how you can adapt these practices to fit your preferred way of working.

Learning Outcomes:
  • Understand how quality-related activities can fit into your development process
  • Understand the mechanics of writing agile quality scenarios and quality-related acceptance criteria
  • How to define and use landing zones to incrementally specify key system qualities
  • How to run an agile quality workshop
  • Options for writing system quality scenarios
  • Know the difference between read-do and do-confirm checklists and natural pause points for running a quality-related checklist


Speakers
avatar for Rebecca Wirfs-Brock

Rebecca Wirfs-Brock

President, Wirfs-Brock Associates
I'm best known as the "design geek" who invented Responsibility-Driven Design and the xDriven meme (think TDD, BDD, DDD..). I'm keen about team effectiveness, communicating complex requirements, software quality, agile QA, pragmatic TDD, and patterns and practices for architecti... Read More →


Friday April 21, 2017 10:30 - 12:00
Georgian

10:30

Keep It Short (Craig Buchek)

Abstract:
As I've learned to improve the way I work, I've discovered that almost everything we do needs to be smaller. We would benefit from smaller stories, smaller tests, smaller classes, smaller methods, and smaller commits.
In this workshop, we'll spend some time looking at how to make each of these things smaller, and the advantages of spending the time to do so. Then we'll break into pairs to work on some real code, to get some practice in finding ways to improve our code by finding the smaller pieces.

Learning Outcomes:
  • * How smaller helps us focus at every level
  • * Techniques to help write more readable code
  • * Techniques for refactoring to smaller functions/methods/classes
  • * Writing smaller stories
  • * Writing more concise tests
  • * Saving time on estimating with smaller stories

Attachments:

Speakers
CB

Craig Buchek

BoochTek
Craig is an independent consultant specializing in helping teams improve the way they work — both their processes and their technical practices. He works as an Agile player/coach on Rails rescue projects, DevOps automation, and anything else he finds interesting. | | Craig h... Read More →


Friday April 21, 2017 10:30 - 12:00
Arlington

10:30

Mob Programming Demonstration (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

Application Development Manager, Hunter Industries
I've been a software developer for 30+ years, and I'm an Agile enthusiast. I work as an Agile Coach with the original "Mob Programming" team, and have been instrumental highlighting "No Estimates" concepts. | | I've enjoy sharing my Agile experiences, and learning new things... Read More →


Friday April 21, 2017 10:30 - 12:00
Grand A

11:50

Sponsor Exhibition Open!
Sponsors are an important element of AATC2017.  Be sure to stop by and say Hi to all of our Sponsor Exhibitors in Grand Ballroom B, Mezzanine Level [2nd Floor]!

Friday April 21, 2017 11:50 - 13:30
Grand B

12:00

Lunch
Friday April 21, 2017 12:00 - 13:30
Grand Ballroom

13:30

Engineering the Red Planet (Anita Sengupta)

Abstract:
Mars is the next destination for humans to explore and colonize in our journey through the solar system and beyond. For the past thirty years, the space programs of many nations have sent landed platforms of increasing complexity, increasing our understanding of the Red Planet’s ancient past.
This talk will discuss the motivation for Mars exploration and how engineering challenges are tackled with new technology, and out-of-the-box thinking. Engineering the Red Planet is the key to our future and to understanding our past.

Learning Outcomes:
  • *


Speakers

Friday April 21, 2017 13:30 - 15:00
Grand A