Improving on the Open Office Environment with Slack

At Atomic Object, we’ve always been big fans of the open office floor plan. Our offices consist of wide-open rooms with table groups where team members can easily work together. This environment allows spontaneous brainstorming sessions and problem-solving discussions to occur naturally throughout the day. One thing that I really love about the open office setup […]

Reflections on 10+ Years of Pairing – What Works, What Breaks, and What’s Next

I started pair programming in 2000 on my first real software job, while I was still working on a computer science undergraduate degree. I’ve been mostly pairing in daily practice since then. First Impressions Matter My earliest perspectives on pairing are useful because I’ve seen bad results when people are denied the chance of finding […]

Shared Understanding: Building Languages and Communities Around Software

Sometimes it’s hard to say the thing we want to see. As a dad, I’m fascinated by human language development; and as a software maker, I’m constantly engaged in sharing mental models. Atoms spend a lot of time communicating with customers to bring a shared vision to reality. Reflecting on that practice, I recently discovered […]

Tear Down the Walls! (part deux): Reorganizing Teams Around Epics

In a previous post, Tear Down the Walls! — Shattering Team Boundaries, I discussed the boundaries (or silos) that traditional teams often end up segregating into, especially when deadlines are looming. The project I am on has many teams scattered across multiple physical locations (even continents), and teams are frequently under separate silos of management. Epic-level […]

Parallel Thinking with Six Thinking Hats

Bruce, Brittany, Al, John, and I attended the Agile and Beyond conference in Dearborn, MI last weekend. Two of my favorite presentations of the conference were Brittany’s awesome presentation on low fidelity UX and Michael “Doc” Norton‘s presentation “Teamwork Ain’t Always Easy,” a series of hands-on exercises demonstrating techniques for resolving common problems in teams […]

Dealing with Bad Behavior and Broken Communication in Teams

Have you ever found yourself working with people who make getting anything done a real pain? Or have you worked on teams where disagreements and personalities make progress difficult? In technology professions, we often focus our continued professional development on emerging technologies, better process, or new tools related to our discipline. We bring our knowledge […]

Self-Managed Teams Are Effective Teams

This is the snack counter in our office. It’s centrally located, which means the phrase “co-located, poly-skilled, self-managing teams of makers” is visible from pretty much anywhere in our office. I’ve written before about how our poly-skilled teams function. In that post, I touched on how our teams manage their own projects instead of reporting […]

I Am Not a Resource!

I love strategy board games. In many of them, gameplay revolves around resources (tokens representing wood, clay, stone, etc.) that players gather and then use to build things. Individual resource tokens of a given type are interchangeable; they’re a kind of currency that can be spent in pursuit of a player’s goals. Unfortunately, some people […]