Alan Shalloway
ÜberConf
Denver · July 16 - 19, 2013

Lead Author of Design Patterns Explained, Essential Skills for Agile Developer
Al Shalloway is the founder and CEO of Net Objectives. With over 40 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas. Al is a SAFe Program Consultant as well as a certified Kanban instructor by the Lean Kanban University. Al has developed training and coaching methods for Lean-Agile that have helped Net Objectives' clients achieve long-term, sustainable productivity gains. He is a popular speaker at prestigious conferences worldwide. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design, Lean-Agile Pocket Guide for Scrum Teams, Lean-Agile Software Development: Achieving Enterprise Agility and Essential Skills for the Agile Developer. Al has worked in literally dozens of industries over his career. He is a co-founder and board member for the Lean Software and Systems Consortium. He has a Masters in Computer Science from M.I.T. as well as a Masters in Mathematics from Emory University.
Presentations
Avoiding Over and Under Design
The question of how much design to do up-front on a project is an engaging one. Too much design often results in overkill, complexity, and wasted work. Too little design results in insufficient system structures that require rework, additional complexity, and wasted effort. How can we know what the right balance is? Alan Shalloway shows how to use the advice from Design Patterns coupled with the attitude of not building what you don’t need from Agile. The trick is in observing potential variation, how it may affect you, and then how to isolate these risks in a simple manner.
Integrating Systems Thinking into Enterprise Agile With the Lessons of Lean
While Scrum and XP have become very popular in agile development shops, most companies adopting them run into problems beyond just a few teams. These challenges often fall into a common set of patterns, which points to a lack of systems thinking—the process of understanding how things influence one another within a larger whole.
Pattern Oriented Design: Taking Design Patterns to the Next Level
This seminar starts by teaching the basics of design patterns. However, instead of focusing on patterns as solutions, we’ll investigate the thought process that created the patterns in the first place. While patterns are often described as “solutions to recurring problems in a context” that’s really only the first step to understanding what patterns really are.
De-Mystifying Kanban: Understanding Its Many Faces
There is a lot of confusion about what Kanban is. Some of this is due to the fact that many people who have never used Kanban have been deriding it – saying it is a mechanistic team management method that doesn’t respect people. The fact that Kanban is quickly growing and gaining a reputation for success where other Agile methods have had challenges belies that categorization.
But what is Kanban? Even when listening to Kanban thought leaders one will hear different answers. 1) it’s a power agile management system based on lean-flow. 2) it’s a transition management method to assist teams to achieve continuous learning. 3) It’s a way to create visibility for executives to improve their product portfolio management. I can almost here Gilda Radner and Dan Aykroyd on Saturday Night Live describing New Shimmer!
This talk discusses how Kanban actually is a multi-faceted method that assists process, transition and collaboration. Kanban is not a mere tool, or even a set of practices. It’s a mindset that attends to people, their culture, and the systems they find themselves working in. The talk presents a few of the basics of Lean-Flow and theory of constraints that it is based on as well as some of the psychological aspects of people adopting new methods.
Design Patterns Workshop
This class goes underneath design patterns to understand the principles behind the patterns. Patterns are a manifestation of 3 principles:
- Find what varies and encapsulate it
- Design to public methods
- Prefer delegation over inheritance
This session describes how to think in terms of the principles of patterns to be able to discover patterns in your designs and to create new quality designs when patterns aren’t present.
Taking Software Development to the Next Level
Things have changed considerably in the last 15 years for software development. In every area of the organization – development, QA, management and the business side. Between design patterns, TDD, ATDD, refactoring, emergent design, eXtreme Programming, Agile, Scrum, Lean and Kanban, new methods have dramatically enlarged our knowledge about how to develop software.
While some still claim software development is complex and we should be using black-box frameworks, this talk presents the idea that we now know enough to dramatically increase the productivity of the industry. The issue is no longer not knowing how to develop great software. The challenge is getting people to incorporate known practices into their development methods. Getting behavioral change is much more complicated than understanding what the change needs to be.