Loading…
Agile2017 has ended

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

Development Practices & Craftsmanship [clear filter]
Monday, August 7
 

10:45am

How to Fail Your TDD Rollout: A Train Wreck Story (Chris Edwards)
Limited Capacity seats available


Abstract:
We dreamt of a future where our whole department embraced TDD. A future where the quality of our code and the product was elevated.
We had the best intentions, however, this story does NOT have a happy ending.
Learn from my experience working with the leaders of a department of 40 to attempt 100% TDD adoption. I will contrast this with our successful adoption and spread of SOLID design practices, and look at what we would have done differently with our TDD advocacy if we were to repeat it. Some of our lessons learned: Don't try to mandate TDD, bring in outside experts, and refactoring skills are key.

Learning Outcomes:
  • Pitfalls of a top-down approach to changing technical practices
  • Basic concepts of Lean-Change
  • How to grow technical skills across a larger group without micromanaging

Attachments:

Speakers
avatar for Chris Edwards

Chris Edwards

Software Development Manager, Solium
Chris is a software manager with Solium. Chris has had a variety of roles including developer, manager, Scrum Master and architect. He has a passion for how both technical excellence and transformational leadership can help drive agility.


Monday August 7, 2017 10:45am - 12:00pm
H1

10:45am

Sustainable Legacy Code Refactoring: A Systematic and Stepwise Approach (Amr Noaman)
Limited Capacity filling up


Abstract:
One of the most painful activities in software development is maintaining extremely poor legacy code. Teams transitioning to Agile suffer from challenges like moving towards shorter iterations with limited time for regression testing, trying to cover poor code with automated tests, prioritizing which refactorings to apply on which code, and convincing managers with the value of refactoring.
In this session, I will present a simple, sustainable, and stepwise approach. This approach divides the effort to refactor legacy code into three stages:
  1. Quick-wins; simple and least risky enhancements
  2. Divide-and-conquer the code into functional, utility, and architectural components, with identified and clear component interfaces
  3. Inject-quality-in the code by wrapping components with automated tests
I will also give an overview of several experiments and case studies applying this approach and will present some interesting observations and insights about refactoring legacy applications. Finally, if time allows, I will drive you through some of the key roadmap activities to refactor (or tame) a large cluttered code base.

Learning Outcomes:
  • Learn about techniques to handle large backlog of technical debt in a gradual and sustainable way
  • Learn how to make refactoring visible and valuable and how to engage managers in large refactorings
  • Get to know famous techniques for "code componentization"
  • Learn how to harness technical changes for the overall product competitiveness

Attachments:

Speakers
avatar for Amr Noaman

Amr Noaman

Co-Founder & Principal Consultant, Agile Academy
Over the last 7 years, Amr’s primary role was to spread agile awareness and lean thinking in software organizations in Egypt and the Middle East. Amr is the co-founder of Agile Academy and Egypt's Lean & Agile Network, one of the largest Agile communities in the Middle East. In... Read More →



Monday August 7, 2017 10:45am - 12:00pm
Wekiwa 7&8

2:00pm

Getting a Proposal Accepted at Agile2017: A Collaborative, Agile Approach (Skylar Watson, Jeff Langr)
Limited Capacity seats available


Abstract:
Have you ever worked hard on preparing for a conference proposal only to be rejected?
With 2500 attendees and 300+ speakers, the Agile conference is the largest of its kind. Getting accepted as a speaker is a challenge and an honor, as over 600 proposals were submitted for 2017. Good luck with that! It’s tough getting accepted, and we’ve tallied up numerous, stinging rejections.
We can help! Improve your odds by following our patent-pending, highly collaborative approach for drafting a proposal. And since you’re reading this… it worked!
This presentation provides a path to getting your proposal accepted using a variety of Agile toolbox techniques. You'll learn about collaborative brainstorming, story mapping, proposal writing, building out and ultimately delivering the presentation. These techniques address the barriers to entry that can constrain potential future thought leaders--like you--from finding an audience.

Learning Outcomes:
  • Demonstrate how collaborative writing can be an effective tool for getting a talk approved
  • Understand how to iterate on Kent Beck’s success as he describes in “How to Get a Paper Accepted at OOPSLA”
  • Learn how early, public feedback can increase your likelihood of success
  • Demonstrate how story mapping can craft an effective presentation
  • Learn how to effectively communicate technically complex details to a broader audience

Attachments:

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, Agile... Read More →
avatar for Skylar Watson

Skylar Watson

Independent Consultant
Skylar Watson is a software consultant and owner of SkyNet software solutions where he implements high value software to satisfy customers needs. Skylar works with companies both domestically and internationally providing assistance on adopting agile software practices.


Monday August 7, 2017 2:00pm - 3:15pm
F4

3:45pm

Create Software Quality (David Bernstein)
Limited Capacity seats available


Abstract:
This session will help you quantify key software qualities that drop the cost of testing, maintaining, and extending code. Quality in delivered software is intangible and different from quality in physical goods. Some external attributes of software quality—free from defects and easy to maintain—are reflections of the code’s internal qualities. When we build classes and methods that are cohesive, non-redundant, well-encapsulated, assertive, testable, and explicitly coupled, they are less prone to bugs and far easier to read, test, debug, and maintain. Paying attention to these code qualities helps focus us on the principles, patterns, and practices used by expert developers.
If you don’t pay attention to critical code quality attributes, iterative development practices can quickly degrade code into a maintenance nightmare. Join software development consultant and author David Bernstein and take a deep dive into the code qualities that make software more maintainable and less bug-friendly. Create software that not only provides value now but is easy to change and extend so it can continue to deliver value far into the future.

Learning Outcomes:
  • Explore six code qualities that make code easier to change
  • Identify six code pathologies and why they’re bad
  • Use the Single Responsibility Principle to increase cohesion
  • Distinguish between redundancy and duplication
  • Understand encapsulation as hiding “how” with “what”
  • Increase assertiveness of code by keeping state with behavior
  • See how testability directly reflects code quality

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 August 7, 2017 3:45pm - 5:00pm
H4

3:45pm

Onboarding with the Mob (Sheldon Fuchs, Ravdeep Sekhon)
Limited Capacity seats available


Abstract:
Onboarding can be difficult, especially when growing a team by 100% or more in a short period of time. How can you ensure that the practices your team believes in are spread to new hires? When growing this quickly how can you ensure that beliefs in things like test driven development, boy scout coding and incremental architecture don't get lost in the explosion? How can you mentor when half or more of your team has been around for less than a year?
This presentation will describe the specific approaches we have used to onboard new developers, and delve into what we've learned. We'll talk about some of our failures and show some of our successes. As with any development practice we'll show how we've used continuous improvement to tweak our onboarding practices, ensuring that our new members get up to speed very quickly and contribute almost immediately.

Learning Outcomes:
  • mob-programming is the best way to learn
  • safe spaces in development can be super effective
  • pair-programming alone is not enough
  • embedding with a team right away is not enough
  • onboarding needs to be continuously examined

Attachments:

Speakers
avatar for Sheldon Fuchs

Sheldon Fuchs

Staff Software Developer, Solium
A software developer with technical leadership tendencies. I've been involved in development in various levels for over 20 years. Recently my focus has shifted more to building better teams (and people!), and if I really have to I'll get involved in process as well. More personally... Read More →
avatar for Ravdeep Sekhon

Ravdeep Sekhon

Software Dev Manager, Solium
A developer before entering the world of Management, coaching & building teams, interviews & hiring. Have worked with teams during their transition and helped them with adopting Agile Principles.



Monday August 7, 2017 3:45pm - 5:00pm
Wekiwa 6
 
Tuesday, August 8
 

9:00am

Mob Programming for Continuous Learning (Michael Clement)
Limited Capacity seats available


Abstract:
What if we took Extreme Programming and said it’s not “extreme” enough? What if we took pair programming and cranked it to 11? Mob programming is a technique with “all the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.”
Join me on my journey through different development practices and how I landed at mob programming as my preferred way of working. I was lucky enough to be on a team for about year that worked “as a mob.” I’m also now leading a team that is mobbing full time for the past year and using mob programming for workshops and other learning experiences.
Come learn what practices we found to be critical, what obstacles we encountered and what practices became irrelevant during our experience. The pains and successes we had helped us learn and they may help you see a pathway to experimenting with mob programming in your work!

Learning Outcomes:
  • Practices that were difficult for our mob
  • Practices that were critical for our mob
  • How mob programming an be used in a learning/training environment
  • How mob programming helps to build a strong team

Attachments:

Speakers

Tuesday August 8, 2017 9:00am - 10:15am
H2

10:45am

Changing the Mindset : A LEGO based Workshop on using TDD as a Problem Solving Technique (Deepak Kumar Gupta)
Limited Capacity filling up


Abstract:
Test Driven Development or TDD is one of the most well known and used practice of eXtreme Programming (XP) family. As its widely known, TDD is all about writing test code before writing production code followed by re-factoring if required.
However, TDD is not just about writing unit test code to find coding bugs, but can also be used as a powerful technique of exploiting the problems for writing better code.
The proposed workshop intends to demonstrate how TDD can also be used as a powerful problem solving technique. This workshop is all about changing the mindset to consider TDD beyond unit tests.
The proposed workshop shall be done in the form of a "Innovation Games" exercise which provides a visual reference to problem solving technique(with and without TDD).
Workshop Modalities :
The workshop activities shall be done using "LEGO" and "Paper Drawings". Participants don't need to bring their laptops for the same.
People will have to work on activities in a team (4 - 8 person).
A brief coding session which will directly reflect the activities done with "LEGO" prior to that (Shall be done by presenter himself).
The tentative workshop outline is as proposed below
  • Learning : A background of eXtreme Programming : ~ 10 Minutes
  • Learning : TDD and a 4-Step guide of TDD : ~ 5 Mins
  • Workshop Activity : Solving a problem - Using non-TDD approach ~ 10 Minutes
  • Workshop Activity : Solving a problem - Using 4 Steps of TDD ~ 10 Minutes
  • Demonstration : (By Presenter) via online coding (both TDD and non-TDD ways) : Programming Language will be (Python / JavaScript) ~ 5 Minutes
  • Learning: Fakes, Mocks, Doubles, Stubs & Dummies ~ 20 Minutes
  • Workshop Activity : Using Fakes Vs Mocks ~ 10 Minutes
  • Q & A

Learning Outcomes:
  • - How to use TDD as a Problem Solving Technique
  • - Understand Unit Testing Paradigms
  • - Understand how to simulate external dependencies using Fakes, Mocks etc
  • - Where we shouldn't use TDD

Attachments:


Tuesday August 8, 2017 10:45am - 12:00pm
Wekiwa 7&8

10:45am

developerGreatness++; (David Haney)
Limited Capacity seats available


Abstract:
There are many good developers in our industry, but few are truly great. Join a Stack Overflow Engineering Manager for a candid discussion of the journey to developer greatness. In this session we'll travel beyond code and commits into the realm of habits, core competencies, ego, ethics, and everything else that makes a developer great.

Learning Outcomes:
  • You'll learn best practices around ego, ethics, humility, and working with others. This talk will arm you with the knowledge required to develop skills that will make you into the best possible developer that you can become. Heavy focus on soft skills and interaction with others. Examples provided of behaviors that do and don't further your personal agenda and career growth.


Speakers
avatar for David Haney

David Haney

Engineering Manager, Stack Overflow
I work at Stack Overflow as an Engineering Manager. I'm a craft beer enthusiast and love supporting local breweries. I enjoy retro and modern video games and watching movies in old school one-screen theatres. I'm also a board game addict.


Tuesday August 8, 2017 10:45am - 12:00pm
F2

2:00pm

Professionalism and Ethics in Software: Entering Uncharted Territory (Sean Dunn, Chris Edwards)
Limited Capacity seats available


Abstract:
The practice of software as an engineering profession has not always held the same weight as other engineering professions: civil, mechanical, electrical. The professional responsibility to the greater public good is much more obvious when life-and-limb are on the line. Aside from specific domains where life and limb DO matter to software (aerospace & medical), the connection between software engineering professionalism and societal responsibility has up until now been vague.
That's changing. In the modern world, Software controls everything we do and the decisions we make can have serious implications on the public interest.
Sean and Chris will bring their background as engineers and their participation in the "Ritual of the Calling of an Engineer" to bring to light the important role engineers have in safeguarding the public. In this interactive session, the speakers will explore several case studies to highlight prominent situations where engineering decisions were overruled by management with disastrous consequences, and they will look at some newer ethical concerns that are unique to the software profession.

Learning Outcomes:
  • Gain a new perspective on the role of a software developer in society.
  • When does the public interest come before personal financial interests?
  • When does your technical expertise leave you especially qualified to consider the public interest?
  • How do you handle a situation where the public's interests are in conflict with those of your employer?


Speakers
avatar for Chris Edwards

Chris Edwards

Software Development Manager, Solium
Chris is a software manager with Solium. Chris has had a variety of roles including developer, manager, Scrum Master and architect. He has a passion for how both technical excellence and transformational leadership can help drive agility.


Tuesday August 8, 2017 2:00pm - 3:15pm
F1

2:00pm

Which Development Metrics Should I Watch? (Gene Gotimer)
Limited Capacity full
Adding this to your schedule will put you on the waitlist.


Abstract:
W. Edwards Deming noted that “people with targets and jobs dependent upon meeting them will probably meet the targets – even if they have to destroy the enterprise to do it.” While metrics can be a great tool for evaluating performance and software quality, becoming beholden to reaching metrics goals, especially the wrong ones, can be detrimental to the project. Each team needs to take care and understand what targets are appropriate for their project. They also need to consider the current and desired states of the source code and product and the capabilities and constraints of the team.
As one of the lead architects working with a huge codebase on a government project, I often have the opportunity to influence the teams around me into watching or ignoring various metrics. I will walk through some measures that are available to most projects and discuss what they really mean, various misconceptions about their meaning, the tools that can be used to collect them, and how you can use them to help your team. I’ll discuss experiences and lessons learned (often the hard way) about using the wrong metrics and the damage they can do.
This session is aimed at development leads and others that are trying to choose the right metrics to measure or trying to influence what metrics to avoid.

Learning Outcomes:
  • Code coverage doesn’t tell you what is tested; it shows you what isn’t.
  • Mutation testing can be extremely valuable as a metric and as a learning tool.
  • Watching trends of metrics can be much more useful than aiming for specific values.
  • That said, zero failing unit tests and no known security issues can be universal goals.
  • Cutting corners doesn’t always make you faster, even in the near-term.
  • Ultimately, escaped defects is the most important metric to measure.

Attachments:

Speakers
avatar for Gene Gotimer

Gene Gotimer

Senior Architect, Coveros, Inc.
Gene Gotimer is a senior architect at Coveros, Inc., a software company that uses agile methods to help customers build software better, faster, and more securely. They do this by focusing on agile development and DevOps practices such as continuous integration, repeatable builds... Read More →


Tuesday August 8, 2017 2:00pm - 3:15pm
Wekiwa 7&8

3:45pm

Abuser Stories: Think Like the Bad Guy and Pull Security Forward (Judy Neher)
Limited Capacity seats available


Abstract:
User stories are a generally accepted scrum and extreme programming practice that helps us capture user valued wants, needs and desires. All too often, we spend so much time worrying about those new features, that we put off thinking about the security of our system. Introducing Abuser Stories: abuser stories help us to see our system from the perspective of an attacker, allowing us to see where potential vulnerabilities have been introduced into our system.

Learning Outcomes:
  • How seemingly benign functional user stories can create vulnerabilities in our software, leaving lots of opportunity for our enemies to take advantage of our weaknesses.
  • How to use the concept of abuser stories to shed some light on where these vulnerabilities can be introduced.
  • How to craft a good abuser story.
  • How to craft refutation criteria so that we can determine that the attack depicted by the abuser story is not possible.
  • How to estimate and rank abuser stories.


Speakers
avatar for Judy Neher

Judy Neher

President/CEO, Celerity Technical Services, Inc.
Passionate about building highly collaborative, high performing teams.


Tuesday August 8, 2017 3:45pm - 5:00pm
F2

3:45pm

Not Technical? Not a Problem! Introducing Engineering Practices Without Being Hands-On (Allison Pollard, Pradeepa Narayanaswamy)
Limited Capacity full
Adding this to your schedule will put you on the waitlist.


Abstract:
How do you coach teams in software craftsmanship practices when you are "Not Technical"? We assume our teams are addressing and improving their technical practices on an ongoing basis... and we all know what happens with assumptions!!! If the teams are not paying attention to their technical practices, the codebase is going to be a mess so big and so deep and so tall, you can not clean it up. Life will be BAD! How do you keep an agile team from losing productivity and not hyper-productively making a mess? Teams may not know where to get started adopting practices, but what can you do about it when you're "Not Technical"??
In this workshop, Allison and Pradeepa will create a knowledge sharing and learning environment where attendees will play a series of games to have an increased awareness of technical practices. Attendees will have a deeper understanding of technical practices and feel more comfortable introducing them in their organizations. Allison and Pradeepa will also introduce a bunch of tips and techniques for leveraging the technical expertise inside or outside the organization.
This session will help non-technical Scrum Masters, Agile Coaches, and other leaders feel more confident introducing technical practices to their teams and leadership. Attendees will take away strategies to support their organization in enhancing their technical practices.

Learning Outcomes:
  • Identify technical practices that support software development.
  • Introduce or leverage technical expertise inside or outside the organization.
  • Play a bunch of games to understand some technical practices.
  • Take these games and apply them in their organization.
  • Increase awareness and ability to participate and be around some technical discussions.

Attachments:

Speakers
PN

Pradeepa Narayanaswamy

Agile and Life Coach, Possibilities- Lives Transformed LLC
As an Agile Coach, I am a self-proclaimed “Agile Passionista” who strongly believes in agile values & principles to help organizations delight their customers. I help teams and leaders understanding & aligning with their organizational vision and support in their transformation... Read More →
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 August 8, 2017 3:45pm - 5:00pm
Wekiwa 9&10
 
Wednesday, August 9
 

10:45am

Design Patterns Thinking and Architecture at Scale (Al Shalloway)
Limited Capacity full
Adding this to your schedule will put you on the waitlist.


Abstract:
Conway's law suggests that "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations." The reverse of this is also true - once a design is in place, it will be a drag on attempts to change the communication structures of the organization. The question is how do we break this chicken and egg situation and enable change to designs that already exist. The answer is to think about architecture in a new way – one that can be inspired from the true nature of design patterns.
In the Agile space our architectures are not intended to encompass all possible changes – that would be a gross over-design. Instead, they are intended to evolve and accommodate change as new requirements are discovered. When viewed from the Agile perspective we can see that design patterns and architecture are related in that both are about accommodating change over time.
This talk presents design patterns as a way of thinking about the problems to be solved. Design patterns are intended to enable us to encapsulate variation in a system (be it an algorithm, an object structure, the order of execution, …). In the Agile world, this variation often occurs over time as we learn new information about what we are required to do. This enables us to design code that can evolve. Patterns should be viewed as a thought process that enables emergent design as well as emergent architectures.
The talk concludes with an analysis method that facilitates the discovery of these abstractions. This reveals the full solution – design to accommodate change by discovering and attending to the abstractions in your problem. The thought process of patterns is used to illustrate how this can be done at all levels.

Learning Outcomes:
  • Understand that patterns are not mere "solutions to recurring problems in a contetxt" but are the basis for a new type of thinking in design
  • Understand the forces in the problem you are trying to solve
  • Reduce the complexity of these forces by making a distinction between the issue and potential implementations
  • Create a simplified model of the issues to be managed in the application – in particular those issues that tend to vary
  • Learn how to identify the concepts in your problem domain and how to create proper abstractions for them
  • Understand that Agile architecture at scale is about managing change, not trying to define a framework that will accommodate it.

Attachments:

Speakers

Wednesday August 9, 2017 10:45am - 12:00pm
I4

10:45am

Software Development Waste (Results from Evidence-Based Research) (Todd Sedano)
Limited Capacity filling up


Abstract:
This research redefines our understanding of software development waste. This presentation reveals the first evidence-based software development waste taxonomy.
Software development projects manifest nine types of waste: building the wrong feature or product, mismanaging the backlog, rework, unnecessarily complex solutions, extraneous cognitive load, psychological distress, waiting/multitasking, knowledge loss, and ineffective communication.
While Lean Software Development has a waste taxonomy, Lean Sofware Development mapped manufacturing wastes to software development.
Developing software is fundamentally different than assembly line work.
The Pivotal culture of removing waste does align nicely with many of the goals of Lean Software Development.
Since software development is a complex socio-technical activity that involves coordinating different disciplines and skill sets, it provides ample opportunities for waste to emerge. Waste is any activity that produces no value for the customer or user.
I conducted a two-year five-month participant-observation study of eight software development projects at Pivotal, a software development consultancy. I interviewed 33 software engineers, interaction designers, and product managers, and analyzed one year of retrospection topics.

Learning Outcomes:
  • Participants will learn how software development wastes are unique from those in the Toyota Production System
  • Participants will be able to discover hidden wastes in their software process.
  • Participants will be emboldened to discuss wastes in their next team retro.
  • Participants will learn how evidence-based research can be applied to agile software development projects.

Attachments:

Speakers
avatar for Todd Sedano

Todd Sedano

Engineering Manager, Pivotal


Wednesday August 9, 2017 10:45am - 12:00pm
Wekiwa 7&8

2:00pm

Legendary Adventures in Legacy Code (David Laribee)
Limited Capacity seats available


Abstract:
We begin with a story - a story about a legendary monster (15,000+ line class) I recently engaged in mortal combat. No spoilers. It wasn't pretty, but here I stand to tell the tale, at the ready to enter the fray once again.
Throughout our campaign we’ll take a few side quests and journeys into the three realms of technical debt:
  • The alignments - OR - what mindsets help when battling demonic code versus forming a party?
  • The armory - OR - what weapons are available to you? When do you brandish them?
  • The lore and landscape - OR - Where did these damned dragons come from in the first place?
This talk employs a nerdy, fantastical, and fun system metaphor to help us escape the confines of the dominant mental model for legacy code: technical debt. All tools and tactics presented are based on experience, not fantasy. While there will be images of Cthulhu, Chromatic Dragons, and Vampyres, attendees should expect code examples, hands-on exercises, technical deep dives and practical lessons learned.

Learning Outcomes:
  • Acquire experience with a toolkit for assessing legacy code qualitatively and quantitatively.
  • Learn how to visualize code quality and effect of team practices (such as collective ownership) on quality.
  • Learn how to engage your team its leadership in making choices about which code to invest in.
  • Understand dynamics and relationship of valuing delivery over valuing quality and vice versa.

Attachments:

Speakers
avatar for David Laribee

David Laribee

Principal, Nerd/Noir
David Laribee is a product development coach with deep roots in Lean, Agile, XP and Scrum. He believes in the power of collaboration, simplicity and feedback. Over the last 20 years, David has built teams and products for companies at every scale. He’s founded startups and consulted... Read More →



Wednesday August 9, 2017 2:00pm - 3:15pm
F3

3:45pm

Transformational Innovation : How Agile Methods can Benefit from Systems Thinking (Kishau Rogers)
Limited Capacity seats available


Abstract:
Transformational innovation requires a deep understanding of and commitment to addressing mental models which are often the cause of broken systems. This presentation will demonstrate how agile methods can benefit from a better understanding of the bigger picture. It has been stated that “more software projects have gone awry from management’s taking action based on incorrect system models than for all other causes combined.” Many development project failures are rarely technical and can often be attributed to unintended consequences due to a lack of understanding of people, policies, and other impacted systems.
This workshop will present useful techniques for achieving technical excellence by using technology as a tool, agile as the method and systems thinking principles as the foundation. We will cover three case studies which demonstrate how "mental models" have impacted technology projects in the areas of health, technology, and business. We will discuss how to integrate three systems thinking strategies into your service delivery operations: causal loop diagrams for aligning mental models, iceberg model for problem-solving and double loop learning for making transformational improvements.

Learning Outcomes:
  • Introduction to Systems Thinking
  • Casual Diagrams and Feedback Loops
  • Problem Solving with Iceberg Theory
  • Double Loop Learning

Attachments:

Speakers
avatar for Kishau Rogers

Kishau Rogers

CEO, Websmith Studio Inc.
Kishau Rogers is a serial tech entrepreneur and is the Founder of technology ventures such as Websmith Studio Inc., TimeStudy, PeerLoc. Kishau has over twenty years of industry experience, specializing in using computer science and systems thinking principles to influence how we... Read More →


Wednesday August 9, 2017 3:45pm - 5:00pm
F4
 
Thursday, August 10
 

9:00am

Containerize your Enthusiasm: Docker & Containers as a path to Scaling Agile and DevOps (Anders Wallgren, Avantika Mathur)
Limited Capacity full
Adding this to your schedule will put you on the waitlist.


Abstract:
To be effective with agile development and with your DevOps implementation, you need to have solid technical practices. Container technology – such as Docker – can be incredibly instrumental in making your developers more agile, and help you scale your DevOps practices throughout the organization. On the other hand, when not implemented properly, container initiatives often introduce numerous challenges and requirements – particularly on your Operations teams – and could put your releases at risk.
In this talk, we will review the pre-requisites for creating an effective development and delivery pipeline powered by containers, to enable you to:
  • Empower your developers to be self-sufficient and wicked fast
  • Give your Ops team - and the business - confidence in what’s “inside the box”, so they can ensure the containers your developers produce can be managed in production, at scale.

Learning Outcomes:
  • The implications containers have on your DevOps processes and agile implementation
  • How to set up a delivery pipeline using containers and free tooling to dramatically increase your agile throughput
  • Special considerations for container-based application pipelines
  • How to incorporate the right checks and balances so your Operations team feels comfortable with what goes inside the containers
  • Some use cases along your pipeline that are prime for starting your container journey
  • Enabling containers at scale in production
  • Managing pipelines for container-based applications alongside “traditional” releases
  • Bonus: should you go all-in for continuous deployments? and how to get there

Attachments:

Speakers
avatar for Cody Hill

Cody Hill

Director of Technology, Platform9
Cody Hill is Director of Technology at Platform9. Prior to joining Platform9, Cody Hill was the Lead Cloud Architect at General Electric, where he built an enormous private cloud based on VMware vCloud Director spanning North America, Europe, and Asia. With more than 10 years of IT... Read More →
avatar for Avantika Mathur

Avantika Mathur

Product Manager, Electric Cloud
Avan (Avantika) Mathur is the Product Manager for ElectricFlow. In her previous role, Avan was the Global Technical Account Manager at Electric Cloud, helping large enterprises across Finserv, Retail and Embedded accelerate their DevOps adoption. Avan has worked with customers to... Read More →


Thursday August 10, 2017 9:00am - 10:15am
Wekiwa 6

9:00am

Everything Object-Oriented Design Taught Me About Leadership (Daniel Davis)
Limited Capacity seats available


Abstract:
Most senior software developers eventually find themselves in a position of leadership. About two years ago, I was in the same boat, being asked to take over as tech lead for a large agile project. I felt unprepared, I didn't know the first thing about being in charge! I found myself falling back to the thing I had spent years learning: object-oriented design principles.
In this talk, I'll walk through some of the parallels between clean coding and leadership. I'll discuss some design anti-patterns with different styles of leadership and how to avoid falling into classic management traps. If you've always felt like your bosses treat you like a class with too many responsibilities, come learn how to code better leadership!

Learning Outcomes:
  • Several examples of design patterns that can be applied to team leadership
  • A refresher on some object-oriented design best practices
  • An understanding of classic management myths and why they don't apply to leading software teams
  • A couple of good book suggestions for learning more about leadership
  • Reassurance that they are capable of leading teams and it doesn't require fancy training

Attachments:

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!



Thursday August 10, 2017 9:00am - 10:15am
F4

10:45am

Clarifying Development Decision-Making with Design Challenges (Michael Feathers)
Limited Capacity seats available


Abstract:
Whenever we design software we face competing concerns. We have to tradeoff ease of implementation, concision, maintainability, and understandability. Often we don't do this consciously, we just sit down and do the work. Each of us bring our development background - the things we've learned or read over the years. If we want to have a discussion about which way is better, it often becomes an appeal to our experiences, the sources we've learned from, or our intuition.
This session presents the practice of using Design Challenges as a way of using framing questions to evaluate code. Design Challenges move beyond design principles by stimulating thought about the ramification of various structural choices.

Learning Outcomes:
  • You will learn now to apply a set of design challenges to critique code and design in a non-confrontational way. You will also learn how to brainstorm new design challenges, apply them in practice,and leverage them to arrive at better design through team conversation.


Speakers
avatar for MICHAEL FEATHERS

MICHAEL FEATHERS

Author of Working Effectivley with Legacy Code, 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 consulted... Read More →


Thursday August 10, 2017 10:45am - 12:00pm
Wekiwa 9&10

10:45am

Unit Test Abstraction: Crafting Sustainable Tests (Jeff Langr)
Limited Capacity seats available


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 the low quality of the tests 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 handfuls of test smells that relate to poor test abstraction. You'll work on eliminating these smells to create tests that are literary and immediately obvious. (And you'll hear a bit about why this pays off.)
You'll find codebases for this workshop in Java and C#. Download now from GitHub and get ready to clean up! And don't forget to bring a laptop to the session. Well, it might be ok to forget your laptop, as long as you're ok with pairing with someone else.

Learning Outcomes:
  • the 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 improve test readability through pairing

Attachments:

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


Thursday August 10, 2017 10:45am - 12:00pm
H3

2:00pm

Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (Gaspar Nagy)
Limited Capacity seats available


Abstract:
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome.
No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation.
So, are you ready...? “Once upon a time there was a company where…” To be continued at my session...

Learning Outcomes:
  • Is it possible to introduce BDD for legacy projects?
  • What are the different strategies, collaboration and testing patterns that can be followed?
  • How can we address complex test automation problems by making small steps and using temporary infrastructures?
  • How to address change requests and bugs? What are the differences?
  • How to balance the different kinds of tests to get to the "testing pyramid" model?

Attachments:

Speakers
avatar for Gaspar Nagy

Gaspar Nagy

coach, trainer and BDD addict, Spec Solutions
I am the creator and main contributor of SpecFlow, regular conference speaker, blogger (http://gasparnagy.com), editor of the BDD Addict monthly newsletter (http://bddaddict.com), and co-author of the book "BDD Books: Discovery - Explore behaviour using Examples" (http://bddbooks.com... Read More →


Thursday August 10, 2017 2:00pm - 3:15pm
Wekiwa 7&8

2:00pm

Technical Debt Is A Systemic Problem, Not A Personal Failing (Tom Grant)
Limited Capacity seats available


Abstract:
You often hear technical debt described as a personal failing. Why didn't you code with greater rigor? By creating technical debt, how could you have made life harder on people working in the code? More often than not, technical debt is the result of bigger, systemic problems.
Chances are, you're not a bad person. You didn't want this to happen. It's the system, not you, that's chiefly responsible.
In this talk, we will present some of the conclusions from the Agile Alliance's technical debt working group, which has looked into the systemic causes and consequences of technical debt. While marginal amounts of technical debt will always accrue, that does not explain why substantial technical debt is a widespread phenomenon. The organization in which software development teams work is the much bigger culprit. Many systemic causes, such as deadline pressures, under-investment in skills, and even the unwillingness to measure technical debt, conspire to create a growing burden on software professionals, who would otherwise choose not to create this problem if given the opportunity.
Just as technical debt has systemic causes, the real cost of technical debt lies at the system level. The increasing drag on software innovation has effects not just on individual and team productivity, but on the software value stream, the portfolio, and the organization as a whole. Sometimes, the cost is obvious, such as the valuation of a start-up company's code; other times, the consequences are far more subtle and insidious.
During this session, we will use the language and methods of systems theory to better come to grips with the causes and consequences of technical debt. Don't worry if systems thinking is unfamiliar — we will cover the basics during the talk. We will also do an exercise in which you will create a simple systems model of your own challenges with technical debt, and discuss how this model should help you shape a plan of action for dealing with technical debt.
Ultimately, the goal of this session is to give you the tools to better deal with technical debt. Rather than blaming individual developers, you will be able to show the systemic sources of technical debt, and assess the relative value of addressing each of them. Rather than depending on technical measures to convey the costs of technical debt, we will help you to put the costs of technical debt in stark business terms.

Learning Outcomes:
  • Common sources of technical debt
  • Important costs of technical debt
  • A common language for business and technical people to speak about technical debt
  • Hands-on experience using this language to describe the attendee's own challenges with technical debt


Speakers
avatar for Tom Grant

Tom Grant

Founder, GameChange LLC
Tom Grant helps software professionals innovate more successfully, using a combination of Agile and serious games. Tom consults with clients about their Agile and Lean transformation strategies, while using serious games to increase the odds that these transformation efforts will... Read More →


Thursday August 10, 2017 2:00pm - 3:15pm
I3

3:45pm

Knowing what bad code looks like (Llewellyn Falco)
Limited Capacity seats available


Abstract:
Be able to tell at a glance if your programmers are giving you bad quality code. Using the same cutting edge techniques researchers at university of Iowa are using to train pigeons to recognize cancer from MRI's, come learn to recognize cancer in your code base.
You don’t need to be a mechanic to know something is wrong with your car. And you don’t need to be a programmer to know if something is wrong with the code. This session will focus on training you to have a ‘sense of smell’ for bad code. So you can increase the serendipity in your explorations by having insights into which sections of code are particularly error-prone.
Let’s take a look at how quickly we can instill some design sense into fresh minds using Sparrow Decks. Sparrow decks are a rapid succession of 50-100 examples in a 3 minute burst. They allow the pattern recognition portion of the brain to spring in gear and do what it does best.

Learning Outcomes:
  • Quickly detect common code problems: bad names, clutter, long methods, long lines, duplication, inconsistency, and more

Attachments:

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 →



Thursday August 10, 2017 3:45pm - 5:00pm
I1

3:45pm

The First Five Stories (Rob Gordick)
Limited Capacity seats available


Abstract:
Whether starting a new greenfield product or blowing the dust off an old legacy app, in order to maximize delivered value, you need to be mindful of the first set of stories to deliver.
Together, we will discuss the power of critical technical stories to help you iterate faster, earlier. How do you know your ideas for your new software experience is really delivering value? How do you handle a botched deployment to your customers early in your development? What allows you to fail safely and recover? These questions and more will be addressed as we explore ways to shorten the cycle time of building software, gathering metrics, and incorporating our findings into newly delivered capabilities.
Finally, we'll review how new findings, from recently delivered stories, drive further refinements to Lean Canvas assumptions, invalidate or affirm hypotheses, and provide a catalyst to Lean UX and 'learning loops'.

Learning Outcomes:
  • Understanding the impact of key early infrastructure and technical stories
  • Understand accruing value of game changing DevOps capabilities
  • Comprehend Lean-UX software delivery goals
  • Comprehend the importance of fast, automated feedback loops
  • Realize the need for automated metrics gathering and learning to speed up customer feedback

Attachments:

Speakers
avatar for Rob Gordick

Rob Gordick

Agile CoP Servant Leader, Daugherty Business Solutions
I am an Agile Fellow with Daugherty Business Solutions, a professional services company bringing a fresh approach to collaboration for Fortune 100 organizations and solving some of their most pressing business challenges. Over the past 23 years, I have worked with individuals and... Read More →


Thursday August 10, 2017 3:45pm - 5:00pm
F4