Agile2019 has ended

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

Dev Practices and Craft [clear filter]
Monday, August 5

15:45 EDT

Being Agile with Architecture Decisions: A Short Workshop on Architecture Decision Records (Ken Power)
Limited Capacity seats available

Are you working on a system where the architecture is too large for each person on the team to hold all the details in their head for all time? Do new team members struggle to understand what they need to know about the architecture? Do current team members have challenges in knowing what architecture decisions were made, by whom, and for what reason? Some architecture decisions are more consequential and higher impact than others, and need to be preserved.
The right level of architecture documentation supports agility. Architecture Decision Records (ADRs) are a useful, lightweight approach for this. Often no more than a page in length, they capture the key decisions that we need to remember. This hands-on session shares experiences with ADRs, giving you a set of tools to be successful in your team.
Through this interactive session we will explore these questions together:
  • What are Architecture Decision Records (ADRs) and why are they useful?
  • How do ADRs promote or help agility?
  • What are the motivations that led to trying Architecture Decision Records (ADRs) for preserving decisions?
  • What are some scenarios and examples where ADRs are helpful?
  • What kinds of decisions should we record with ADRs, and why?
  • What are some of the cultural challenges associated with using ADRs, and how do we address them?
This session provides participants with hands-on practice of creating and reviewing ADRs. The session draws from experiences with multiple large-scale, global organisations and system architectures, and builds on established work with ADRs from other authors and practitioners.

Learning Outcomes:
  • Understand how Architecture Decision Records can support agility
  • Options for structuring and tailoring Architecture Decision Record templates, including some examples of how we have tailored ADRs with different teams
  • Understand the types of decisions for which ADRs are appropriate, and what decisions might be better suited to a different medium
  • Factors to consider for creating, storing, and reviewing ADRs
  • Fostering a culture of valuing ADRs
  • Factors to consider when working with distributed teams in multiple geographies
  • Pointers to other work in the area of ADRs

avatar for Ken Power

Ken Power

Software Engineering Leader, https://kenpower.dev/
Ken Power has held multiple positions in large technology organizations. His current responsibilities include leading global, large-scale engineering organization transformations. He has been working with agile and lean methods since 1999. He holds patents in virtualization and network... Read More →

Monday August 5, 2019 15:45 - 17:00 EDT
Chesapeake D/E/F
Tuesday, August 6

09:00 EDT

Considerate Pair Programming: an interactive workshop (Todd Sedano)
Limited Capacity seats available

Pair programming is presented as a straightforward and intuitive practice but is highly relational and difficult to master. When pair programming is done right, it increases productivity, code quality, and developer happiness. But when done wrong, it leads to frustration and resentment.
In this workshop, you will learn how to leverage the strengths of your pair, recognize unhealthy pair programming dynamics, work through conflicts, have difficult conversations, and adjust for power imbalances.
We will do several interactive exercises starting with a fun pairing exercise and work towards how to handle more challenging situations.

Learning Outcomes:
  • Participants will learn practical techniques to improve the pair programming dynamic, discuss their expectations for the relationship, work through conflict, and adjust for any power imbalances.

avatar for Todd Sedano

Todd Sedano

Engineering Manager, VMware

Tuesday August 6, 2019 09:00 - 10:15 EDT
Chesapeake J/K/L

10:45 EDT

Growing Your Personal Design Heuristics (Rebecca Wirfs-Brock)

How can we get better as software designers? By becoming more aware of our design heuristics and continuing to cultivate and refine them. Heuristics aid in design, guide our use of other heuristics, and even determine our attitude and behavior. For example, as agile software developers we value frequent feedback and decomposing larger design problems into smaller, more manageable chunks that we design and test as we go. We each have our own set of heuristics that we have acquired through reading, practice, and experience.
This session introduces simple ways to record design heuristics and how to share them with others. You can grow as a designer by examining and reflecting on the decisions you make and their impacts, becoming more aware of seemingly minor decisions that were more important than you thought, and putting your own spin on the advice of experts. While we may read others’ design advice—be it patterns or stack overflow replies, the heuristics we’ve personally discovered on our own design journey may be even more important.
Come to this hands-on session to try out practical techniques for distilling your design heuristics (so you can explore and explain them to others); learn ways to identify competing heuristics; evaluate shiny new heuristics you may read or hear about; and grow your ability to explain your heuristics to others.

Learning Outcomes:
  • Understand 3 different types of design heuristics: heuristics that aid in design, determine our attitude, and guide use of other heuristics
  • Learn simple techniques for recording heuristics on the fly (Question-Heuristic-Example Cards, Heuristic Gists)
  • Recognize competing heuristics and how to integrate new heuristics into your existing heuristic toolkit


avatar for Rebecca Wirfs-Brock

Rebecca Wirfs-Brock

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

Tuesday August 6, 2019 10:45 - 12:00 EDT
Chesapeake G/H/I