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]
Tuesday, August 8
 

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

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
 

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
 
Thursday, August 10
 

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

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