We're hiring!

We're actively seeking designers and developers for all three of our locations.

Project & Team Management

Customers – Out of Sight, But Still in Mind


A lot of discussion seems to happen around whether pair programming is good or how to do it pragmatically. Ditto on unit testing, and especially test driven development. Oddly enough, I don’t hear nearly as much conversation about the customer role and the common Agile strategy of having an “on-site customer.” Read more on Customers – Out of Sight, But Still in Mind…

Posted in Project & Team Management | Tagged | Leave a comment

Tools & Practices for Remote Teams, Part 1 – Be Prepared

Two developers standing in front of a large monitor, having a remote video call with two other developers.

In this two-part series, I’ll be writing about the day-to-day realities of working as part of a remote team, and some tools and practices you can use to help keep your team healthy and effective. Even if you’re not involved in a remote team, you’ll find much of this advice to be beneficial for co-located teams as well.

For a higher-level perspective on remote teams, be sure to check out Shawn Crowley’s advice for organizing and managing remote software projects.

If anyone is remote, you’re all remote.

When you imagine a “remote team,” you might picture team members scattered across the country, or even around the world: one in Chicago, one in Denver, one in Rio de Janeiro, one in Mumbai, one in Berlin, etc. But your team doesn’t have to be that distant from each other to be “remote,” nor to benefit from this advice. For example, Atomic Object’s Detroit and Ann Arbor offices are a mere 45 miles apart, yet we’ve found these tools and practices hugely beneficial for inter-office collaboration. Read more on Tools & Practices for Remote Teams, Part 1 – Be Prepared…

Posted in Project & Team Management | Tagged | Leave a comment

3 Steps to Better Project Scope Management

Good project scope management is critical to success in every software project. To ensure that we come in on budget and on time, we have to keep the scope balanced and under control.


1. Don’t ignore the planning phase.

A lot of software projects are doomed from the beginning due to poor planning and underestimating. As software craftspeople, starting a new greenfield project can be an exciting time. It is critical that we resist the urge to jump right in start writing code and initially focus on planning our project with what we know now. Read more on 3 Steps to Better Project Scope Management…

Posted in Project & Team Management | Tagged | Leave a comment

Post-Mortem of a Failed Project


I recently read an article detailing the many production woes of the rather unimpressive 1994 Street Fighter movie. At the time — given the cast, director, and writer they’d lined up — it seemed like a promising property. Writer/Director Stephen de Souza had been responsible for some of the most iconic 1980s action movies, and they’d also managed to cast noted actors Jean-Claude Van Damme and Raul Julia.

In retrospect we know how badly all that promise was squandered (if we remember that movie at all), but when I read the analysis of exactly how it all went wrong, I was struck by just how mundane and familiar their issues were: changing requirements, tight deadlines, shifting schedule and priorities.

In other words, all the same things that seem to plague doomed software projects. Read more on Post-Mortem of a Failed Project…

Posted in Project & Team Management | Leave a comment

What Rambling in Meetings Says about Your Team


A group of uniquely skilled individuals working towards a single goal forms a team. On a good team, every player is contributing and looking out for their fellow teammates. On development teams, I’ve found that paying attention to the things that cause us to ramble – that is speak about a topic for an extended period of time – gives a good insight into the parts of the team that are causing issues or will cause issues in the future. Read more on What Rambling in Meetings Says about Your Team…

Posted in Project & Team Management | Tagged , , | Leave a comment

Evolution of a Burn Chart

Burn charts have been a staple of Atomic-run projects for quite a while. They’ve also been the subject of much discussion both internally at Atomic and at-large in the Agile development community. The basic concepts are simple, and we’ve found them useful — especially when they are allowed to evolve as we learn how to better engage our customers and teams. I’m going to tell a story of one such evolution.

First, if you’re unfamiliar with a basic burn chart, check out Mike Marsiglia’s previous post about Atomic burn charts. Got that down? Great!

I’m going to follow the story of a ficticious company, Acme, Inc., working on a custom order management system. Our burn chart experience started simply, as Mike’s example illustrates: one big scope bucket (represented by the blue line), and a team of three working to realize the features represented in our backlog (represented by the green line).


Read more on Evolution of a Burn Chart…

Posted in Project & Team Management | Tagged | Leave a comment

Breaking Your Budget into Categories

I’ve been at Atomic Object for approximately 8 years, and during that time I’ve had the opportunity and the challenge of managing relatively large software projects. I’ve learned quite a bit from fellow Atoms and picked up a few tricks of my own throughout the years. One of the best practices I’ve picked up is keeping a well-organized and properly-categorized budget.

Software projects are generally given an overall budget that a team can work against. However, the realities are that a budget can be made up of a number of different components — some of which have nothing to do with actively creating features and are instead meant to be used for upfront processes (Kickoff and RDP Phase), customer communication, project management, technical documentation, etc. Depending on the overall complexity of your project, you may have one or two of these categories or all of them. Read more on Breaking Your Budget into Categories…

Posted in Project & Team Management | Tagged | Leave a comment

Avoid Big-Bang Integration at All Costs!!


Though we all (hopefully) know the dangers of last-minute big-bang integration, large multi-team, globally-dispersed projects still fall into this trap all too often when crucial deadlines are looming.

Wanting/needing things to be done, despite the reality that multiple pieces have run past their expected/planned completion dates, does not warrant cutting corners. In fact, these times are where our scientific/engineering ethics tend to clash with our business ethics and create a very toxic environment for all. Read more on Avoid Big-Bang Integration at All Costs!!…

Posted in Project & Team Management | Comments closed

Tackling Silence, Avoidance, & Negativity in Project Retrospectives

Improve Your Retrospective

At retrospective meetings, we reflect on how our team has been operating, sharing both the good and the bad. We try to identify problems and take actions that solve those problems.

But just as important as fixing procedural problems is giving individual team members the chance to speak, be heard, and “air-out” anything that’s been bothering us. Ideally, we will honestly share our feedback and perspectives, and humbly acknowledge our mistakes. In reality, though, most of our retros fall short of that standard. Here are some common problems and ideas to help work through them. Read more on Tackling Silence, Avoidance, & Negativity in Project Retrospectives…

Posted in Project & Team Management | Leave a comment

A Checklist for Great Feature Requirements

Checklist Feature Requirements

My long-time girlfriend works as a Business Analyst for an IT company that does agile development. Recently, she asked me what I (as an engineer) look for in an ideal requirements document for a feature.

This hit home for me because I have seen plenty of poorly-defined features on projects I’ve worked on. Poor requirements usually lead to slower development times and features that are more likely to need rework. As an engineer, I have enough work to do in figuring out the best way to architect and implement a feature without having to frequently halt my work and chase down vague or incomplete requirements.

I did a lot of thinking and came up with a pretty comprehensive checklist of things I’d like to see in every feature request/user story/programming task. Read more on A Checklist for Great Feature Requirements…

Posted in Project & Team Management | Tagged , | 1 Comment