Sessions

Invited Talks

Monday 9:00 am
Nobody wants your stupid process
Jeff Patton
In our enthusiasm for the incredible wealth of useful practice for delivering software that’s emerged from the agile community, we seem to have lost the plot. We’ve become the next wave of people enamored with our process and believing it cures all software development ills. This is the Achilles-heel that proved to be the downfall of our well-meaning process predecessor. In this talk I’ll discuss how to evaluate your process on the values and principles that motivate it – and add back in the key missing value: product success. It’s the success of software in the real world that the business and consumers are hungry for. It’s about time we positioned agile methods as the way to get that, and not just another stupid process.

Monday 1:00 pm
Managing Agile: Transforming the Three Dysfunctions of Management
Diana Larsen
Managing Agile involves designing, supporting and reinforcing a system of work to deliver business value. “Prevailing” organizational systems often reinforce and reward management behaviors that produce three dysfunctional paradigms: 1) magical thinking, 2) the illusion of control, and 3) the fantasy of individual blame. The transforming antidotes to these dysfunctions emerge from three key strengths of Agile approaches: relying on data and evidence; accepting uncertainty and unpredictability; and maintaining a whole systems view. In this talk, Diana Larsen will describe ways organizations have reduced their dependence on the dysfunctions and built on the strengths of an Agile way of doing business.

Tuesday 9:00 am
Innovation Games: Software Powered Innovation Through Collaborative Play
Luke Hohmann
For many organizations, Agile methods have been a proven answer to the vexing questions of developing better software. But now that many organizations have mastered Agility, they are once again turning to Innovation. In this talk, we’ll explore how collaborative play and serious games can help organizations improve their agile and innovation processes.

Tuesday 1:00 pm
The New Methodology Isn’t A Methodology
Dr. Alistair Cockburn
We’re so used to talking about processes and methodologies in the form of big manuals, techniques and procedures from the 1980s and 1990s that we haven’t noticed that the new methodologies aren’t methodologies. They aren’t even collections of practices. They’re something else, something we don’t yet have a word for. They incorporate a world view, practitioner promises for how to behave while getting work done, a few starter rules and an admission that the real work goes on between (hopefully) properly trained and skilled teammates. In this talk, Dr. Cockburn will introduce the problem we are having in talking about these non-methodologies, and show the shape of what is going on, as evidenced in Scrum and Crystal 2.0.

User Experience/Interaction Design Sessions

Monday 10:30 am
Agile UX – The Developer Perspective
Anders Ramsay, ThoughtWorks
This workshop/discussion hybrid session take a learning-by-doing approach to allow developers and other members of an Agile team to experience a microcosm of the user experience design practice. What does it mean to have to invent features from fuzzy business needs? How does one create features that are not just functional but persuasive? And how do we go from that “fluffy” world to concrete working code? Using a set of group activities and discussion, participants will switch between left-brain pragmatic Agile hats and right-brain emotional and experiential UX hats to enable a whole-brain approach to software design.

Monday 2:00 pm
I’m on the development team, why can’t marketing just handle that branding junk?
Nate Jones, Dan Phillips, Skybend
In this session Nate and Dan will dispel many myths about branding and discuss what brand truly is, or needs to be. They will provide examples of the impact of brand on the target audience. Then they will map the larger concept of branding to the unique challenges inherent in software development. Participants will leave with several ways to bring brand concerns into their existing process.

This session is targeted at developers, quality assurance professionals, product owners, and stakeholders.

Monday 2:45 pm
Enough Design
Ian McFarland, Pivotal Labs
A great agile design process is complementary to a great agile development process, producing products that people love. There’s a tension between the notion of ultimate flexibility that agile proposes, and the need for coherency and excellence that great design provides. This talk is intended to provide a framework to help yourself ask, as a designer or as a developer, “What is Enough Design?” and to share my experience as to what has worked well in practice on our many projects at Pivotal Labs.

Monday 3:30pm and 5:30pm (During afternoon breaks)
Bringing Persona to Life with Illustrated Posters
Elizabeth McClellan, Session Graphics
Dennis Britton, Agile Visioning
Are you frustrated at all your hard work identifying and documenting every persona being ignored by the team? Tired of always having to remind the team of who they are building the system for? Exhausted at all the rework caused by ‘small’ design decisions made on the fly which make the product nearly unusable? Perhaps it’s time to give your team’s overworked left brains a break and engage the ancient powers of visualization and empathy. During the breaks, drop by and let Dennis guide you to describe a persona of interest to you while Elizabeth McClellan illustrates a compelling image to visually represent your persona.

Monday 4:00 pm
Guerilla Usability: Embedded User Experience Design
David Broschinsky, Usable Patterns with Ray Dahl, ARUP Laboratories
Agile strives for good communication with their customers. The Embedded User Experience works with the customer to understand what they need, when even the customer may not understand themselves. We teach how to paper prototype and how to do on-site and remote usability testing. Come to this workshop to learn rapid prototyping techniques, Usability Testing (Remote and On-site), Cultural and Physical Modeling, Heuristic Evaluations and much more.

Tuesday 10:30 am
The View from Here: Reconciling User Experience, Product Management and Agile Development
Ray Dahl, Nichole DeVries, Francine Goitz, ARUP Laboratories
This experience report discusses how ARUP Laboratories successfully integrated user experience design and product management into a traditional agile team, realizing success and learning a few things along the way. We present a case study on the redesign of a business tool dubbed BARA where business analysis and user experience design personnel joined with an agile development team to create a better system.

Tuesday 10:30 am
Creating Big Picture Designs Without Big Design
Desirée Sy, Autodesk Canada
One of the toughest problems facing agile UX designers is keeping the big picture in mind while designing incrementally. This talk builds on prior work at Alias (now Autodesk) that described successful agile adaptations of usability testing, contextual inquiry and iterative prototyping. I’ll present a framework we used to create and implement multi-sprint designs for a complex product without violating the agile taboo against big design.

Tuesday 2:00 pm
Discount Usability Testing for Agile Teams: An Approach For Attacking Mediocrity
Ben Carey, Rally Software
Agile methods promise an iterative and incremental approach to building software. Unfortunately, the iterative portion is often omitted when it comes to incorporating true user feedback and observation. In this workshop, participants will learn how to apply a method known as “discount usability testing” to allow for fast and useful feedback from users that can be incorporated into their product delivery process.

Tuesday 4:00 pm
My Brother from Another Mother: Agile and User Experience Design
Dan Harrelson, Todd Wilkens, Adaptive Path
Agile developers and UX designers have a lot more in common than you might think. We’ll show that both agile design and development work best when they integrate and when users are put at the center of the process. We’ll focus on what works and what doesn’t. Much of this presentation will build off of a national research study on design and development practices as well as case studies from Adaptive Path project teams.

Product Management Sessions

Monday 10:30 am
Using Skits and Storyboards to Explore and Communicate the Product Vision
Dennis Britton
The process of embodying the actual workflow scenario engages all the whole senses of the team together: mind, body and spirit in a memorable way, while testing the integrity of the product vision. The process of creating a storyboard of that lived-out vision allows reflection while recording the experience in a highly descriptive left-brain/right brain balanced medium that can be referred to throughout the project.

Monday 2:00 pm
Risky Business – Real Options @ Work
Todd Little
Todd will spend some time exploring some of the techniques used in a number of risky businesses such as oil and gas exploration, investment banking, medicine, weather forecasting, and gambling. He will highlight a number of similarities and new ways of looking at things that software practitioners can learn from how other businesses manage risk. Through this process he will introduce techniques and approaches to risk and risk management including and developing the concept of real options and what this means to risk management and a software practitioner.

Monday 4:45 pm
The Product Owner’s Guide to Saying No
Alex Pukinskis
Agile Product Owners are under a lot of pressure. On one side, customers, stakeholders, and users provide a constant stream of requests and demands. On the other side, developers own their estimates and commitments. It’s easy to take on too much work and resort to heroic prioritization to try to make things fit. This talk is targeted at Product Owners, Product Managers, business stakeholders, or technical managers who are struggling with too much work. Participants will leave with several ideas for how to adapt their product management process to increase quality.

Tuesday 2:00 pm
Planning Projects Using Agile Practices: A Simulation
James Goebel
Agile is becoming increasingly popular. In this session, attendees will experience key aspects of Agile. Learn how Agile teams capture their work breakdown structure, how they estimate work, and how they schedule tasks. Even if you’re not going to adopt Agile, there will be several take-aways that you might consider applying to your existing processes.

Tuesday 4:00 pm
The Great Agile Requirements Showdown
Chris Sims
Agile evangelists claim that extensive written requirements can be dispensed with in favor of lighter-weight ‘stories’. It sounds easier, certainly, but can it really be as good? Won’t all of the important details get lost? We’ll stage a showdown between traditional and agile requirements. Participants will form teams, create requirements documents, do development (no technical skill or computers needed), and then evaluate the results. May the best requirements win!

Leadership Sessions

Monday 10:30 am
A Tale of Two Teams: A CEO’s Path to Agile
Richard Sheridan
Is it easier to transform an existing culture to agile or build one from scratch? Menlo Innovations’ CEO Richard Sheridan will share two two tales of Agile transformation. The first occurred when Sheridan was a VP of a 30-year old technology company and he transformed his existing team by adopting Extreme Programming. The second occurred two years later, when he chose entrepreneurship and started a new company using these same practices. True Agile adoption is hard. This talk will explore three barriers to Agile transformation: the executive team, the tech team, and Sheridan himself.

Monday 2:00 pm
Agile Team Performance Management
Sanjiv Augustine, Arlen Bankston
While many organizations have adopted Agile approaches at a project level, few have effectively aligned their human performance management processes with Agile values. This presentation and discussion will explore the subject of creating a truly holistic performance system that not only adheres to Agile principles, but actively promotes maturity in applying them to the delivery of measurable business and user value.

Monday 2:45 pm
Toxic Code: Technical Debt Analytics
Israel Gat, John Heintz
Technical debt had originally been conceived as an expediency measure – “a little debt speeds development so long as it is paid back promptly with a rewrite.” However, like financial debt, unrestrained borrowing can lead to a broad spectrum of difficulties, from collapsed roadmaps to inability to respond to customer problems in a timely manner, and anything in between. Recent advances in source code analysis enable us to quantify technical debt and express it in $$ terms. Technical debt analytics can help your team improve its design, coding, testing and project management skills.

Monday 4:00 pm
Collaborating with Non-collaborators
Pollyanna Pixton
How can we deal with non-collaborators? We can’t change them but we might be able to work with them – or, work around them. How do we know? In this interactive course, you will learn how to identify non-collaborators, understand the systems your non-collaborators work in, assess the systems you work in, build a map of traits, and map tools for dealing with non-collaborators.

Technical Practices Sessions

Monday 12:00 (During lunch)
To, Through, and Away: Ten Years of Agile Acceptance Testing
James Shore
James Shore has been trying to get acceptance tests to work for ten years. When he coached his first XP team, he really tried to create a customer-specified functional test for every story, but the tools weren’t good enough. In 2001, he created NUnitAsp (for ASP.NET), only to see it misused. In 2003, he co-wrote the C# version of Fit with Ward Cunningham. He spent several years coaching teams how to use Fit well… only to be disappointed with the results. Now he argues “The cost of acceptance testing outweighs the benefits. I no longer use or recommend it.” Them’s fightin’ words! Or are they? Come join James for a thoughtful discussion about his experiences with acceptance tests and their alternatives.

Monday 2:00 pm
Let’s Build an xUnit Framework in Javascript
Zhon Johansen, Jeff Grover
If you found yourself on a desolate computer with nothing but a web browser, could you possibly do test-driven development? It turns out, you can! This session is an opportunity to practice a number of generally-applicable skills:

  • An introduction or refresher course on OO development in JavaScript
  • Bootstrapping yourself into an xUnit test framework
  • Maintaining TDD rhythm in new or unfamiliar environments
  • Learning from others as you program

All skill levels are welcome. Bring a laptop if you have one. You will only need a text editor and a browser.

Monday 4:00 pm
Expressing Design in Code: Architecturally-Evident Coding Patterns
Dr. George Fairbanks
Because of Eric Evans’ Domain Driven Design, agile developers are familiar with embedding their domain models in their code, but architecture and design remain hard to see from the code. How can we improve that? This session presents a new agile technical practice, an architecturally-evident coding style, that lets you drop hints to code readers so that they can correctly infer the design and architecture. It builds upon ideas like Kent Beck’s Intention Revealing Method Name pattern and provides a set of lightweight coding patterns and idioms that let you express your design intent in the code.

Monday 4:45 pm
Writing for Humans: Designing better software by keeping humanity in mind
Mike Moore
Designing software is hard; designing quality software is even harder. Quality software should be more than just data with algorithms, more than a sum of its parts. One key to achieving this is to change your thinking and focus on the humanity inherent in all software. This talk will introduce anthropomorphic ideas for composing objects. I’ll discuss how to achieve collaboration in our objects vs. the more common command-and-control style. I’ll explore the importance of metaphor in designing our code. And I’ll describe how to achieve better design by anthropomorphizing your domain.

Tuesday 10:30 am
What we learned in 8,829 hours of Pair Programming
Kealy Opelt, Ted Layher
Eight thousand eight hundred and twenty-nine hours of pair programming – does that make us experts yet? No, but we sure have learned a few things in five plus years. Many agile programmers see pair programming as too hard, but don’t have the advantage of pairing all the time. Without applying pairing consistently, team members will not gain trust quickly. Without trust, pairing is difficult. This session will examine how practice makes perfect when it comes to being a good pair partner.

Tuesday 11:15 am
Test Driven Design: Coupling Loosely
Arlo Belshee
Mock objects are a good way to break apart a legacy system to test it. However, they do not improve coupling (few dependencies between units) or cohesion (each unit does one thing). Making code easy to change requires using indirections with looser coupling. In this information-dense, code-oriented session, we’ll learn key indirections and their impacts on your design. Next time, choose the right indirection for the job rather than just reaching for another mock object.

Tuesday 2:00 pm
Growing up Agile
Pat Maddox
In 2000, Agile was revolutionary. In 2010, Agile is stagnant. There are two Agile worlds today: The first is pushing the same practices and processes they’ve been pushing for the last decade. The second takes many of these practices and processes for granted. Sadly, there’s little interaction between the two. In this discussion, we’ll look at the rift between the two communities, how to bridge it, and the exciting possibilities that can exist when we do.

Tuesday 2:45 pm
Cucumber: Automating the Requirements Language You Already Speak
Ben Mabey
User Stories have become common practice among Agile teams. Cucumber is a Behaviour Driven Development (BDD) tool, written in Ruby, that allows teams to capture these stories in plain English as a series of scenarios. These scenarios become executable acceptance criteria that are incorporated into the development cycle allowing the developer to always know “what’s next” and when the software is “done”. This talk is for every Agile team member but will provide enough technical details to enable a tester or developer to start using Cucumber immediately.

Tuesday 4:00 pm
You Can Test Anything
Richard Thomson, Zhon Johansen
We present a whirlwind tour of Michael Feather’s book “Working Effectively With Legacy Code,” showing and discussing specific techniques from the book, with full examples in code. Our intent is to display a variety of different ways to “slip testability into the cracks” of existing codebases.

Organizations and Process

Monday 10:30 am
Tales of oppression: challenging autocratic corporate cultures
Alan Cyment
Organizational relations are typically grounded on domination and control, which result in the oppression of employees. Can anyone wholeheartedly embrace agility if oppression is in the air? Meet Augusto Boal’s Forum Theatre: simple plays that stir people’s minds, getting them into action to finally put an end to existing oppression. Come jump into the magical world of body learning: we’ll craft short plays depicting oppression by using simple improv techniques. Later on, conference attendees will be able to take part in impromptu plays: an experience that will forever challenge the status quo.

Monday 4:00 pm
Using Your Head: The Agile Mind
David Brady
Your brain is literally wired to be agile. Are you working with it’s strengths? Do you know how to tell if you’re not? In this session we’ll explore some exciting discoveries in neuroscience and psychology, and then immediately put this knowledge to use creating iterative change inside our brains. If you want to fine-tune your team’s agile processes, or if you just think it would be fun to know how to hack a debug breakpoint into somebody else’s brain, this session is for you!

Tuesday 10:30 am
Flying Through Bottlenecks
Steve Bockman
In this experiential workshop we’re going to launch a fictitious aerospace company, build and ship
product, and track our financials to see how we are doing. We’ll apply the “Five Focusing Steps” from
the Theory of Constraints, and other Lean/Agile practices to improve our operation and ultimately our profitability.
Learning Outcomes:
* Profitability can be a better metric for productivity than resource utilization.
* Boosting performance of a bottleneck may not be the best first step.
* Optimizing all individual operations is not the same as optimizing the whole.
* Slowing down some operations can result in improved and predictable delivery times.

Tuesday 2:00 pm
Systems Thinking and the Learning Organization
Jason Dean
Great software is only possible in a true Learning Organization. This talk gives a pragmatic exploration of the connections between Senge’s five disciplines for learning organizations and the Agile software development framework. Specifically making use of Senge’s three legged stool of Aspiration, Understanding Complexity, and Reflective Conversation, Agile provides a strong pattern for creating and changing the realities of business and customer value delivery.

Tuesday 2:45 pm
Facilitation Foundations: Eliminating Waste From Agile Meetings
Lee Henson
Everyone has been to an Agile meeting that has little or no value and that’s felt like a complete waste of time. Facilitation Foundations is designed to offer attendees a chance to learn more about how to make meetings more valuable and save everyone time and money. This talk focuses on what makes meetings work and identifies negative experiences we all encounter when it comes time to attend or facilitate these common meetings. What should we be doing? What should we be avoiding? What could we do to improve the way we facilitate and or attend meetings? How can we make them more effective?

Tuesday 4:00 pm
A Fresh Approach to Certification
Ahmed Sidky, Dr. Alistair Cockburn
Is Certification important? Well that is a debatable topic that can take days and months to conclude. The fact is that for some people, in some cultures, and for some organizations certifications are important and have value; that is a fact. Our goal at the International Consortium for Agile (ICAgile) is to develop a certification program that truly adds value and assesses the skill set as well as knowledge of the individual before calling them certified anything. With this mission in mind, we have spent the last numerous months developing a strong certification program for the agile community. The objective behind this session is to introduce the new certification program and hear your feedback and opinions about it.

Experience Reports

Tuesday 10:30 am
The View from Here: Reconciling User Experience, Product Management and Agile Development
Ray Dahl, Nichole DeVries, Francine Goitz, ARUP Laboratories
This experience report discusses how ARUP Laboratories successfully integrated user experience design and product management into a traditional agile team, realizing success and learning a few things along the way. We present a case study on the redesign of a business tool dubbed BARA where business analysis and user experience design personnel joined with an agile development team to create a better system.

Tuesday 11:00 am
Agile Development with Interns
Travis LaFleur
The intern program at inContact uses 5-10 interns every quarter for a period of 10 weeks, and has been running for 1 1/2 years. Some of the challenges with using interns are discussed:

  • How do you on-board an entirely new team each quarter?
  • How do you teach them Agile?
  • How do they adopt the SCRUM process?
  • How do you take a group of new developers and help them become a Team?
  • Can you really get value out of 10 weeks of development?

Tuesday 11:30 am
A Tale of Two Cities
Scott Duncan
This experience report is about early adoption issues within two companies which share certain similarities (large, very distributed) but have differences as well (services vs products, IT vs engineering focus, close vs distant customers).