Category Archives: Agile

Lightweight Context/Specification BDD in C#

Behavior-Driven Development (BDD) provides all of the engineering benefits of traditional Test-Driven Development (TDD) while additionally resulting in a specification that non-developers can read and validate. At its heart, BDD transforms the tests of TDD into specifications. Those specifications are … Continue reading

Posted in Agile, Code | Tagged , , , | Leave a comment

Lunch with Uncle Bob

Ever since I stumbled across the original C++ Report articles that have become known as the SOLID principles, I have been a disciple of Robert Martin (aka Uncle Bob). He is a leader within the agile and software craftsmanship movements. … Continue reading

Posted in Agile, Architecture, Code | Tagged , , , , | Leave a comment

Sprint Planning and Decision Fatigue

This article explores the physiological and psychological effects of fatigue brought on by making decisions. The fatigue that comes from making decision after decision immediately reminded me of my team’s Scrum sprint planning days. The Scrum method breaks software development … Continue reading

Posted in Agile, Management | Tagged , , , , | Leave a comment

Split the Team or Split the Backlog?

Small software companies often find themselves trying to do too much with too little. This was certainly the case at Agentek. At one point earlier this year, we had a problem… We were not finished with the current release (call … Continue reading

Posted in Agile, Management | Tagged , , | Leave a comment

DDD Anti-Pattern #2: Not Getting the Whole Team Educated on DDD Early Enough

The two challenges that drew me to Agentek in late 2008 were interrelated in the same way that the proverbial chicken and egg are. We had to build a complex, composite, occasionally connected, enterprise mobility application to replace the prior … Continue reading

Posted in Agile, Architecture, Domain Driven Design, Management | Tagged , , | Leave a comment

Misconceptions about Team Rooms and Open Floor Plans

I see this far too often. Well-meaning software organizations embracing agile software development tear down the walls in order to open up the space and allow easier collaboration. This sounds great, and it’s cheap. An easy win, right? Not if … Continue reading

Posted in Agile, Management | Tagged , , | Leave a comment

Domain Driven Design Anti-Patterns

[Note: I was going to call this post How to Fail with Domain Driven Design, but that just sounded too pessimistic.] I’ve been developing business applications on the Microsoft platform since the mid 1990s. The years since then have involved … Continue reading

Posted in Agile, Architecture, Domain Driven Design | Tagged | 2 Comments

Teamwork Is an Individual Skill

I was intrigued by this interview with Christopher Avery about responsibility on agile teams at InfoQ. Intrigued enough to go download and read his book entitled Teamwork Is an Individual Skill: Getting Your Work Done When Sharing Responsibility. The premise … Continue reading

Posted in Agile, General | Tagged , , | 1 Comment

Shifting from Scrum to Kanban

My team had been following (more or less) the Scrum process for two years. The Scrum rhythm of biweekly planning, demo, and retrospective with daily stand-ups served us well most of the time. However, we have since shifted to a … Continue reading

Posted in Agile, General | Tagged , , , | Leave a comment

Peopleware: An Aging Classic

Some months ago I was telling a friend at work how everyone in the software industry should read Peopleware by Tom DeMarco and Timothy Lister I have always said that Peopleware should be required reading for anyone who manages software … Continue reading

Posted in Agile, General | Tagged , , | Leave a comment