Have you ever been asked a question along the lines of … “Are you an Agile dev shop?” In my experience, this question is asking, “Are you following an Agile methodology?” and not, “Are you agile?” I think the distinction is important. It seems we have come to a point where whether you are following […]

I just got back from the International Conference on Global Software Engineering (ICGSE) that was held in Montreal, Canada on May 24-26. This was the first time I had attended and presented at a conference that is primarily focused on research (i.e., formal paper submission and acceptance). I was not exactly sure what to expect […]

Have you ever wrestled with a problem in your mind and then, while trying to explain it to someone else, had an epiphany of how to solve it? This has happened to me on numerous occasions. Or have you ever jumped in to develop some code for a piece of business logic that you felt […]

In my first post of this series, I discussed how ambiguity and lack of shared understanding between members of a product development team can occur when we rely on unstructured, ad hoc, and abstract communication processes (i.e., conversations and high-level user stories) for expressing our thoughts and ideas. We feel like we are painting a […]

I was recently re-introduced to one of my favorite essays, Why We Should Build Software Like We Build Houses, by Leslie Lamport. Leslie is one of several thought leaders within our industry who I really admire, both for his insights into the nature of software design as well as for his contributions in terms of […]