TODOs, FIXMEs and a ‘window fixing’ wall

Agile software development places a lot of emphasis on prioritisation of work and elimination or deferral of anything which is not needed right now. An obvious advantage of this is that important stuff gets done quickly, but a less obvious disadvantage is that deferred work can pile up like snow before a snowplough. For a …

Continue reading ‘TODOs, FIXMEs and a ‘window fixing’ wall’ »

Deployment pipeline anti-patterns

It’s happened on most reasonable sized projects I have worked on. The benefits of test coverage an continuous integration are obvious and pay back immediately. But, somehow, as the project grows and diversifies, a point is reached where the complexity and run time of the CI process begins to slow down development rather than assist …

Continue reading ‘Deployment pipeline anti-patterns’ »

The Opposite of Waterfall is Pond – A Metaphor for Agile

You have to love a good analogy. Here’s one which takes the notion of a “waterfall” development process literally, and contrasts it with a pleasant day out on a serene pond. The Opposite of Waterfall is Pond – A Metaphor for Agile | Agile Blog: Scaling Software Agility My favourite snippet: Eventually, we find a …

Continue reading ‘The Opposite of Waterfall is Pond – A Metaphor for Agile’ »

Chickens and eggs, with a slice

It’s a common software development situation. In front of you is a problem which seems to require a large solution. It has several parts which may be deployed separately, or may just need to be swapped out or independently managed. It has infrastructure bits and business-specific bits, servers, services and clients. Now imagine that you …

Continue reading ‘Chickens and eggs, with a slice’ »

Story Mapping Gives Context to User Stories

We are currently trying to come to some conclusions about the “shape” of a new software product, and facing a whole lot of problems. Stakeholders are happy to argue for hours about relative priorities of individual features, but so far these exist in a vacuum without an overall vision of a product. With that in …

Continue reading ‘Story Mapping Gives Context to User Stories’ »

Searching for the perfect project hosting

I’m still searching for decent project hosting. I now have several projects on the go, and several others bumping around in my head, and the fuss and bother of tying together all the various bits of a distributed software project development is making my head hurt. All the bits I need are available separately, but …

Continue reading ‘Searching for the perfect project hosting’ »

TDD: Does it make you slower?

I use Test-driven Development (TDD) all the time. Although my immediate work colleagues have “bought in” to the idea, I sometimes find my self explaining about it to other people in other situations. A common question is whether the extra effort of writing all those tests slows down the overall development process. Mark Needham has …

Continue reading ‘TDD: Does it make you slower?’ »

Agile process drowns in meetings: kickoffs and walk throughs

I have noticed this phenomenon during our “planning poker” estimation meetings, and to some extent in retrospectives and other meetings about iterations, planning and progress. Each time a meeting is held, the number of attendees increases slightly, and the meeting (sometimes imperceptibly, but the cumulative effect is there) slows down. This slowdown leads to a …

Continue reading ‘Agile process drowns in meetings: kickoffs and walk throughs’ »

More thoughts on defects in an agile process

There are a lot of things to like about the Lean movement and the Toyota production system, but I worry that blanket application of their principles to software development may be misguided. Just as with other metaphors used to build a mental model, the metaphor of software development as a factory has big holes in …

Continue reading ‘More thoughts on defects in an agile process’ »

How does Architecture fit with TDD

It’s a common conundrum once a team embraces test-driven development (TDD). What becomes of the role of architect? Some suggestions include moving the role of the architect even higher than in a typical waterfall or “over the wall” process. Sarah Taraporewalla’s Technical Ramblings » How does Architecture fit with TDD My take on this is …

Continue reading ‘How does Architecture fit with TDD’ »

The Defect Black Market

Every now and then we have a discussion about bugs, whether and how they should be fixed, and the relative importance of each bug compared with key missing features. Solutions range from the naive to the overcomplicated, but at least nobody yet has suggested something like the following… The Defect Black Market – The Daily …

Continue reading ‘The Defect Black Market’ »

In an agile process, what is a defect?

Our agile team is finding some things challenging. In particular deciding how to prioritise and work on “bugs” in the midst of a pool of prioritised and scheduled feature stories. “Agile In Action” has a nice summary of an approach to software development. Most agile practitioners won’t find anything to object to. AGILE IN ACTION: …

Continue reading ‘In an agile process, what is a defect?’ »

Clearing my backlog, a mix of links

My browser is full of tabs, each representing something I intend to blog about. I need to clear some space, so here’s a few interesting links without comments. Reaching Hyper-Productivity with Outsourced Development Teams Pressure and Performance – The CTO’s Dilemma Agile Usability Web 2.0 Storytelling: Emergence of a New Genre

Estimated Interest on Technical Debt

We are currently struggling with how to integrate work on refactoring/simplifying/cleaning our product codebase with existing streams of stories and bugs. One of the tricky aspects of this is how to estimate and prioritise the cleanup work: how much is it worth, and how much time should we spend on it this iteration? Martin Fowler …

Continue reading ‘Estimated Interest on Technical Debt’ »